Class DynamicFluidContainerModel

java.lang.Object
net.neoforged.neoforge.client.model.item.DynamicFluidContainerModel
All Implemented Interfaces:
net.minecraft.client.renderer.item.ItemModel

public class DynamicFluidContainerModel extends Object implements net.minecraft.client.renderer.item.ItemModel
A dynamic fluid container model, capable of re-texturing itself at runtime to match the contained fluid.

Composed of a base layer, a fluid layer (applied with a mask) and a cover layer (optionally applied with a mask). The entire model may optionally be flipped if the fluid is gaseous, and the fluid layer may glow if light-emitting.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final record 
     
    static final record 
     

    Nested classes/interfaces inherited from interface net.minecraft.client.renderer.item.ItemModel

    net.minecraft.client.renderer.item.ItemModel.BakingContext
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final net.minecraft.client.renderer.item.ItemModel.BakingContext
     
    private final Map<net.minecraft.world.level.material.Fluid,net.minecraft.client.renderer.item.ItemModel>
     
    private static final com.mojang.math.Transformation
     
    private static final net.minecraft.client.resources.model.ModelDebugName
     
    private static final com.mojang.math.Transformation
     
    private final net.minecraft.client.renderer.block.model.ItemTransforms
     
     
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
    DynamicFluidContainerModel(DynamicFluidContainerModel.Unbaked unbakedModel, net.minecraft.client.renderer.item.ItemModel.BakingContext bakingContext)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    private net.minecraft.client.renderer.item.ItemModel
    bakeModelForFluid(net.minecraft.world.level.material.Fluid fluid)
     
    private static RenderTypeGroup
    getLayerRenderTypes(boolean unlit)
     
    void
    update(net.minecraft.client.renderer.item.ItemStackRenderState renderState, net.minecraft.world.item.ItemStack stack, net.minecraft.client.renderer.item.ItemModelResolver modelResolver, net.minecraft.world.item.ItemDisplayContext displayContext, @Nullable net.minecraft.client.multiplayer.ClientLevel level, @Nullable net.minecraft.world.entity.LivingEntity entity, int p_387820_)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • FLUID_TRANSFORM

      private static final com.mojang.math.Transformation FLUID_TRANSFORM
    • COVER_TRANSFORM

      private static final com.mojang.math.Transformation COVER_TRANSFORM
    • DEBUG_NAME

      private static final net.minecraft.client.resources.model.ModelDebugName DEBUG_NAME
    • unbakedModel

      private final DynamicFluidContainerModel.Unbaked unbakedModel
    • bakingContext

      private final net.minecraft.client.renderer.item.ItemModel.BakingContext bakingContext
    • itemTransforms

      private final net.minecraft.client.renderer.block.model.ItemTransforms itemTransforms
    • cache

      private final Map<net.minecraft.world.level.material.Fluid,net.minecraft.client.renderer.item.ItemModel> cache
  • Constructor Details

    • DynamicFluidContainerModel

      private DynamicFluidContainerModel(DynamicFluidContainerModel.Unbaked unbakedModel, net.minecraft.client.renderer.item.ItemModel.BakingContext bakingContext)
  • Method Details

    • getLayerRenderTypes

      private static RenderTypeGroup getLayerRenderTypes(boolean unlit)
    • bakeModelForFluid

      private net.minecraft.client.renderer.item.ItemModel bakeModelForFluid(net.minecraft.world.level.material.Fluid fluid)
    • update

      public void update(net.minecraft.client.renderer.item.ItemStackRenderState renderState, net.minecraft.world.item.ItemStack stack, net.minecraft.client.renderer.item.ItemModelResolver modelResolver, net.minecraft.world.item.ItemDisplayContext displayContext, @Nullable @Nullable net.minecraft.client.multiplayer.ClientLevel level, @Nullable @Nullable net.minecraft.world.entity.LivingEntity entity, int p_387820_)
      Specified by:
      update in interface net.minecraft.client.renderer.item.ItemModel