diff --git a/src/main/java/com/gregtechceu/gtceu/client/model/item/CustomItemRendererWrapperModel.java b/src/main/java/com/gregtechceu/gtceu/client/model/item/CustomItemRendererWrapperModel.java index c0b127f80d7..38109aa1af9 100644 --- a/src/main/java/com/gregtechceu/gtceu/client/model/item/CustomItemRendererWrapperModel.java +++ b/src/main/java/com/gregtechceu/gtceu/client/model/item/CustomItemRendererWrapperModel.java @@ -5,11 +5,9 @@ import net.minecraft.client.renderer.block.model.BlockModel; import net.minecraft.client.renderer.block.model.ItemOverrides; import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.client.resources.model.BakedModel; -import net.minecraft.client.resources.model.Material; -import net.minecraft.client.resources.model.ModelBaker; -import net.minecraft.client.resources.model.ModelState; +import net.minecraft.client.resources.model.*; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.ItemDisplayContext; import net.minecraftforge.client.extensions.common.IClientItemExtensions; import net.minecraftforge.client.model.BakedModelWrapper; import net.minecraftforge.client.model.generators.CustomLoaderBuilder; @@ -19,6 +17,7 @@ import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonObject; +import com.mojang.blaze3d.vertex.PoseStack; import java.util.function.Function; @@ -40,24 +39,29 @@ public class CustomItemRendererWrapperModel implements IUnbakedGeometry spriteGetter, ModelState modelState, ItemOverrides overrides, ResourceLocation modelLocation) { - BlockModel owner = parent; + BlockModel owner = baseModel; if (context instanceof BlockGeometryBakingContext blockContext) owner = blockContext.owner; - BakedModel originalModel = parent.bake(baker, owner, spriteGetter, modelState, modelLocation, + BakedModel originalModel = baseModel.bake(baker, owner, spriteGetter, modelState, modelLocation, context.isGui3d()); return new Baked(originalModel); } + @Override + public void resolveParents(Function modelGetter, IGeometryBakingContext context) { + baseModel.resolveParents(modelGetter); + } + public static final class Baked extends BakedModelWrapper { public Baked(BakedModel originalModel) { @@ -68,6 +72,13 @@ public Baked(BakedModel originalModel) { public boolean isCustomRenderer() { return true; } + + @Override + public BakedModel applyTransform(ItemDisplayContext cameraTransformType, PoseStack poseStack, + boolean applyLeftHandTransform) { + super.applyTransform(cameraTransformType, poseStack, applyLeftHandTransform); + return this; + } } public static final class Loader implements IGeometryLoader { diff --git a/src/main/java/com/gregtechceu/gtceu/client/model/item/package-info.java b/src/main/java/com/gregtechceu/gtceu/client/model/item/package-info.java new file mode 100644 index 00000000000..859317b2a90 --- /dev/null +++ b/src/main/java/com/gregtechceu/gtceu/client/model/item/package-info.java @@ -0,0 +1,4 @@ +@NotNullByDefault +package com.gregtechceu.gtceu.client.model.item; + +import org.jetbrains.annotations.NotNullByDefault;