Refactored structure

This commit is contained in:
2026-03-03 09:53:12 +01:00
parent 8ed855723b
commit 944bada2a2
9 changed files with 9 additions and 8 deletions
@@ -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);