Refactored structure
This commit is contained in:
@@ -11,8 +11,6 @@ import net.minecraft.client.render.entity.feature.FeatureRendererContext;
|
|||||||
import net.minecraft.client.render.entity.model.PlayerEntityModel;
|
import net.minecraft.client.render.entity.model.PlayerEntityModel;
|
||||||
import net.minecraft.client.render.entity.state.PlayerEntityRenderState;
|
import net.minecraft.client.render.entity.state.PlayerEntityRenderState;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
import net.minecraft.util.Identifier;
|
|
||||||
|
|
||||||
public class HatFeatureRenderer extends FeatureRenderer<PlayerEntityRenderState, PlayerEntityModel> {
|
public class HatFeatureRenderer extends FeatureRenderer<PlayerEntityRenderState, PlayerEntityModel> {
|
||||||
public HatFeatureRenderer(FeatureRendererContext<PlayerEntityRenderState, PlayerEntityModel> context) {
|
public HatFeatureRenderer(FeatureRendererContext<PlayerEntityRenderState, PlayerEntityModel> context) {
|
||||||
@@ -22,10 +20,9 @@ public class HatFeatureRenderer extends FeatureRenderer<PlayerEntityRenderState,
|
|||||||
@Override
|
@Override
|
||||||
public void render(MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light,
|
public void render(MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light,
|
||||||
PlayerEntityRenderState state, float limbAngle, float limbDistance) {
|
PlayerEntityRenderState state, float limbAngle, float limbDistance) {
|
||||||
ItemStack headItem = state.equippedHeadStack;
|
|
||||||
SaturnPlayer player = SaturnPlayer.get(state.name);
|
SaturnPlayer player = SaturnPlayer.get(state.name);
|
||||||
|
|
||||||
if (!headItem.isEmpty() || state.invisible || player == null || player.hat.isEmpty()) {
|
if (state.invisible || player == null || player.hat.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -33,9 +30,9 @@ public class HatFeatureRenderer extends FeatureRenderer<PlayerEntityRenderState,
|
|||||||
|
|
||||||
this.getContextModel().head.rotate(matrices);
|
this.getContextModel().head.rotate(matrices);
|
||||||
|
|
||||||
ObjModel.of(Identifier.of("saturnclient", "models/cosmetic/" + player.hat.split("_")[0] + "/model")).render(
|
ObjModel.cosmetic("hat", player.hat).render(MtlLoader.cosmetic(player.hat),
|
||||||
MtlLoader.cosmetic(player.hat),
|
matrices, vertexConsumers, light,
|
||||||
matrices, vertexConsumers, light, OverlayTexture.DEFAULT_UV);
|
OverlayTexture.DEFAULT_UV);
|
||||||
|
|
||||||
matrices.pop();
|
matrices.pop();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,6 +52,6 @@ public class MtlLoader {
|
|||||||
if (mtlId.isEmpty())
|
if (mtlId.isEmpty())
|
||||||
mtlId = "white";
|
mtlId = "white";
|
||||||
|
|
||||||
return of(Identifier.of("saturnclient", "models/cosmetic/" + mtlId + ".mtl"));
|
return of(Identifier.of("saturnclient", "models/cosmetic/materials/" + mtlId + ".mtl"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,6 +35,10 @@ public class ObjModel {
|
|||||||
Obj obj;
|
Obj obj;
|
||||||
Config config;
|
Config config;
|
||||||
|
|
||||||
|
public static ObjModel cosmetic(String cosmeticKind, String id) {
|
||||||
|
return of(Identifier.of("saturnclient", "models/cosmetic/" + cosmeticKind + "/" + id.split("_")[0] + "/model"));
|
||||||
|
}
|
||||||
|
|
||||||
public static ObjModel of(Identifier obj) {
|
public static ObjModel of(Identifier obj) {
|
||||||
if (loadedObjModels.containsKey(obj))
|
if (loadedObjModels.containsKey(obj))
|
||||||
return loadedObjModels.get(obj);
|
return loadedObjModels.get(obj);
|
||||||
|
|||||||
Reference in New Issue
Block a user