From e175bccacefff66db9e6f08268f6f049f8492fc7 Mon Sep 17 00:00:00 2001 From: NotMyWing Date: Tue, 18 Mar 2025 20:02:51 +1100 Subject: [PATCH] Fix Color Applicator model Closes #518 --- .../model/ColorApplicatorBakedModel.java | 21 ++++------ .../render/model/ColorApplicatorModel.java | 2 +- .../models/item/color_applicator_colored.json | 2 +- .../item/color_applicator_uncolored.json | 38 ++++++++++++++++++- 4 files changed, 47 insertions(+), 16 deletions(-) diff --git a/src/main/java/appeng/client/render/model/ColorApplicatorBakedModel.java b/src/main/java/appeng/client/render/model/ColorApplicatorBakedModel.java index 90011994b..c29089e29 100644 --- a/src/main/java/appeng/client/render/model/ColorApplicatorBakedModel.java +++ b/src/main/java/appeng/client/render/model/ColorApplicatorBakedModel.java @@ -1,7 +1,6 @@ package appeng.client.render.model; -import com.google.common.collect.ImmutableMap; import net.minecraft.block.state.IBlockState; import net.minecraft.client.renderer.block.model.BakedQuad; import net.minecraft.client.renderer.block.model.IBakedModel; @@ -9,9 +8,8 @@ import net.minecraft.client.renderer.block.model.ItemCameraTransforms; import net.minecraft.client.renderer.block.model.ItemOverrideList; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.util.EnumFacing; -import net.minecraftforge.client.model.PerspectiveMapWrapper; -import net.minecraftforge.common.model.TRSRTransformation; import org.apache.commons.lang3.tuple.Pair; +import org.jetbrains.annotations.NotNull; import javax.annotation.Nullable; import javax.vecmath.Matrix4f; @@ -24,15 +22,12 @@ class ColorApplicatorBakedModel implements IBakedModel { private final IBakedModel baseModel; - private final ImmutableMap transforms; - private final EnumMap> quadsBySide; private final List generalQuads; - ColorApplicatorBakedModel(IBakedModel baseModel, ImmutableMap map, TextureAtlasSprite texDark, TextureAtlasSprite texMedium, TextureAtlasSprite texBright) { + ColorApplicatorBakedModel(IBakedModel baseModel, TextureAtlasSprite texDark, TextureAtlasSprite texMedium, TextureAtlasSprite texBright) { this.baseModel = baseModel; - this.transforms = map; // Put the tint indices in... Since this is an item model, we are ignoring rand this.generalQuads = this.fixQuadTint(null, texDark, texMedium, texBright); @@ -68,7 +63,7 @@ class ColorApplicatorBakedModel implements IBakedModel { } @Override - public List getQuads(@Nullable IBlockState state, @Nullable EnumFacing side, long rand) { + public @NotNull List getQuads(@Nullable IBlockState state, @Nullable EnumFacing side, long rand) { if (side == null) { return this.generalQuads; } @@ -91,22 +86,22 @@ class ColorApplicatorBakedModel implements IBakedModel { } @Override - public TextureAtlasSprite getParticleTexture() { + public @NotNull TextureAtlasSprite getParticleTexture() { return this.baseModel.getParticleTexture(); } @Override - public ItemCameraTransforms getItemCameraTransforms() { + public @NotNull ItemCameraTransforms getItemCameraTransforms() { return this.baseModel.getItemCameraTransforms(); } @Override - public ItemOverrideList getOverrides() { + public @NotNull ItemOverrideList getOverrides() { return this.baseModel.getOverrides(); } @Override - public Pair handlePerspective(ItemCameraTransforms.TransformType type) { - return PerspectiveMapWrapper.handlePerspective(this, this.transforms, type); + public @NotNull Pair handlePerspective(@NotNull ItemCameraTransforms.TransformType type) { + return this.baseModel.handlePerspective(type); } } diff --git a/src/main/java/appeng/client/render/model/ColorApplicatorModel.java b/src/main/java/appeng/client/render/model/ColorApplicatorModel.java index 1926c46b0..e4af8fbae 100644 --- a/src/main/java/appeng/client/render/model/ColorApplicatorModel.java +++ b/src/main/java/appeng/client/render/model/ColorApplicatorModel.java @@ -55,7 +55,7 @@ public class ColorApplicatorModel implements IModel { ImmutableMap map = PerspectiveMapWrapper.getTransforms(state); - return new ColorApplicatorBakedModel(baseModel, map, texDark, texMedium, texBright); + return new ColorApplicatorBakedModel(baseModel, texDark, texMedium, texBright); } private IBakedModel getBaseModel(IModelState state, VertexFormat format, Function bakedTextureGetter) { diff --git a/src/main/resources/assets/appliedenergistics2/models/item/color_applicator_colored.json b/src/main/resources/assets/appliedenergistics2/models/item/color_applicator_colored.json index 11cc0f46e..8565b8bde 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/color_applicator_colored.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/color_applicator_colored.json @@ -1,5 +1,5 @@ { - "parent": "item/generated", + "parent": "appliedenergistics2:item/color_applicator_uncolored", "textures": { "layer0": "appliedenergistics2:items/color_applicator", "layer1": "appliedenergistics2:items/color_applicator_tip_dark", diff --git a/src/main/resources/assets/appliedenergistics2/models/item/color_applicator_uncolored.json b/src/main/resources/assets/appliedenergistics2/models/item/color_applicator_uncolored.json index 89d29d70d..64181064d 100644 --- a/src/main/resources/assets/appliedenergistics2/models/item/color_applicator_uncolored.json +++ b/src/main/resources/assets/appliedenergistics2/models/item/color_applicator_uncolored.json @@ -1,6 +1,42 @@ { - "parent": "item/generated", + "parent": "item/handheld", "textures": { "layer0": "appliedenergistics2:items/color_applicator" + }, + "display": { + "thirdperson_righthand": { + "rotation": [ + 0, + 90, + -55 + ], + "translation": [ + 0, + 4, + 0.5 + ], + "scale": [ + 0.85, + 0.85, + 0.85 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 0, + -90, + 55 + ], + "translation": [ + 0, + 4, + 0.5 + ], + "scale": [ + 0.85, + 0.85, + 0.85 + ] + } } }