Skip to content

Commit

Permalink
Cleaned up FluidItemModel a bit
Browse files Browse the repository at this point in the history
  • Loading branch information
desht committed Aug 30, 2024
1 parent 2a35205 commit 9ce9e9b
Showing 1 changed file with 14 additions and 40 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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<BakedModel> {
private final ItemOverrides overrideList = new FluidOverridesList(this);
private List<TankRenderInfo> tanksToRender = Collections.emptyList();

private FluidItemModel(BakedModel bakedBaseModel) {
this.bakedBaseModel = bakedBaseModel;
super(bakedBaseModel);
}

@Override
public List<BakedQuad> 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<BakedQuad> getQuads(@Nullable BlockState state, @Nullable Direction side, @Nonnull RandomSource rand, @Nonnull ModelData extraData, RenderType renderType) {
List<BakedQuad> res = new ArrayList<>(bakedBaseModel.getQuads(state, side, rand, extraData, renderType));
List<BakedQuad> res = new ArrayList<>(super.getQuads(state, side, rand, extraData, renderType));

for (TankRenderInfo info : tanksToRender) {
IFluidTank tank = info.getTank();
Expand Down Expand Up @@ -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<BakedModel> 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<BakedModel> getRenderPasses(ItemStack itemStack, boolean fabulous) {
return List.of(this);
}

public record Geometry(BlockModel baseModel) implements IUnbakedGeometry<Geometry> {
Expand Down

0 comments on commit 9ce9e9b

Please sign in to comment.