From 9ce9e9b2ebe71e222851e70d506685933e9f9a24 Mon Sep 17 00:00:00 2001 From: Des Herriott Date: Fri, 30 Aug 2024 17:00:25 +0100 Subject: [PATCH] Cleaned up FluidItemModel a bit --- .../client/model/custom/FluidItemModel.java | 54 +++++-------------- 1 file changed, 14 insertions(+), 40 deletions(-) diff --git a/src/main/java/me/desht/pneumaticcraft/client/model/custom/FluidItemModel.java b/src/main/java/me/desht/pneumaticcraft/client/model/custom/FluidItemModel.java index 7286ef0bf..4f5b88546 100644 --- a/src/main/java/me/desht/pneumaticcraft/client/model/custom/FluidItemModel.java +++ b/src/main/java/me/desht/pneumaticcraft/client/model/custom/FluidItemModel.java @@ -44,7 +44,7 @@ import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; import net.neoforged.neoforge.client.extensions.common.IClientFluidTypeExtensions; -import net.neoforged.neoforge.client.model.IDynamicBakedModel; +import net.neoforged.neoforge.client.model.BakedModelWrapper; import net.neoforged.neoforge.client.model.data.ModelData; import net.neoforged.neoforge.client.model.geometry.IGeometryBakingContext; import net.neoforged.neoforge.client.model.geometry.IGeometryLoader; @@ -60,19 +60,23 @@ import java.util.Objects; import java.util.function.Function; -public class FluidItemModel implements IDynamicBakedModel { - private final BakedModel bakedBaseModel; +public class FluidItemModel extends BakedModelWrapper { private final ItemOverrides overrideList = new FluidOverridesList(this); private List tanksToRender = Collections.emptyList(); private FluidItemModel(BakedModel bakedBaseModel) { - this.bakedBaseModel = bakedBaseModel; + super(bakedBaseModel); + } + + @Override + public List getQuads(@org.jetbrains.annotations.Nullable BlockState state, @org.jetbrains.annotations.Nullable Direction side, RandomSource rand) { + return getQuads(state, side, rand, ModelData.EMPTY, null); } @Nonnull @Override public List getQuads(@Nullable BlockState state, @Nullable Direction side, @Nonnull RandomSource rand, @Nonnull ModelData extraData, RenderType renderType) { - List res = new ArrayList<>(bakedBaseModel.getQuads(state, side, rand, extraData, renderType)); + List res = new ArrayList<>(super.getQuads(state, side, rand, extraData, renderType)); for (TankRenderInfo info : tanksToRender) { IFluidTank tank = info.getTank(); @@ -153,50 +157,20 @@ private void putVertex(QuadBakingVertexConsumer quadBaker, Vec3 normal, quadBaker.setDirection(face); } - @Override - public boolean useAmbientOcclusion() { - return bakedBaseModel.useAmbientOcclusion(); - } - - @Override - public boolean isGui3d() { - return bakedBaseModel.isGui3d(); - } - - @Override - public boolean usesBlockLight() { - return false; - } - - @Override - public boolean isCustomRenderer() { - return bakedBaseModel.isCustomRenderer(); - } - - @Override - public TextureAtlasSprite getParticleIcon(@Nonnull ModelData data) { - return bakedBaseModel.getParticleIcon(data); - } - - @Override - public TextureAtlasSprite getParticleIcon() { - return bakedBaseModel.getParticleIcon(); - } - @Override public ItemOverrides getOverrides() { return overrideList; } @Override - public List getRenderPasses(ItemStack itemStack, boolean fabulous) { - return IDynamicBakedModel.super.getRenderPasses(itemStack, fabulous); + public BakedModel applyTransform(ItemDisplayContext cameraTransformType, PoseStack poseStack, boolean applyLeftHandTransform) { + super.applyTransform(cameraTransformType, poseStack, applyLeftHandTransform); + return this; } @Override - public BakedModel applyTransform(ItemDisplayContext displayContext, PoseStack poseStack, boolean applyLeftHandTransform) { - bakedBaseModel.getTransforms().getTransform(displayContext).apply(applyLeftHandTransform, poseStack); - return this; + public List getRenderPasses(ItemStack itemStack, boolean fabulous) { + return List.of(this); } public record Geometry(BlockModel baseModel) implements IUnbakedGeometry {