Interface FluidRenderHandlerRegistry


public interface FluidRenderHandlerRegistry
Registry for FluidRenderHandler instances.

Notably, this supports querying, overriding and wrapping vanilla fluid rendering.

  • Field Details

  • Method Details

    • get

      @Nullable @Nullable FluidRenderHandler get(Fluid fluid)
      Get a FluidRenderHandler for a given Fluid. Supports vanilla and Fabric fluids.
      Parameters:
      fluid - The Fluid.
      Returns:
      The FluidRenderHandler.
    • getOverride

      @Nullable @Nullable FluidRenderHandler getOverride(Fluid fluid)
      Get a FluidRenderHandler for a given Fluid, if it is not the default implementation. Supports vanilla and Fabric fluids.
      Parameters:
      fluid - The Fluid.
      Returns:
      The FluidRenderHandler.
    • register

      void register(Fluid fluid, FluidRenderHandler renderer)
      Register a FluidRenderHandler for a given Fluid.

      Note that most fluids have a still and a flowing type, and a FluidRenderHandler must be registered for each type separately. To easily register a render handler for a pair of still and flowing fluids, use register(Fluid, Fluid, FluidRenderHandler).

      Parameters:
      fluid - The Fluid.
      renderer - The FluidRenderHandler.
    • register

      default void register(Fluid still, Fluid flow, FluidRenderHandler renderer)
      Register a FluidRenderHandler for two given Fluids, usually a pair of a still and a flowing fluid type that use the same fluid renderer.
      Parameters:
      still - The still Fluid.
      flow - The flowing Fluid.
      renderer - The FluidRenderHandler.
    • setBlockTransparency

      void setBlockTransparency(Block block, boolean transparent)
      Registers whether a block is transparent or not. When a block is transparent, the flowing fluid texture to the sides of that block is replaced by a special overlay texture. This happens by default with glass and leaves, and hence blocks inheriting TransparentBlock and LeavesBlock are by default transparent. Use this method to override the default behavior for a block.
      Parameters:
      block - The block to register transparency for.
      transparent - Whether the block is transparent (e.g. gets the overlay textures) or not.
    • isBlockTransparent

      boolean isBlockTransparent(Block block)
      Looks up whether a block is transparent and gets a fluid overlay texture instead of a falling fluid texture. If transparency is registered for a block (via setBlockTransparency(net.minecraft.block.Block, boolean)), this method returns that registered transparency. Otherwise, this method returns whether the block is a subclass of TransparentBlock or LeavesBlock.
      Parameters:
      block - The block to get transparency for.
      Returns:
      Whether the block is transparent (e.g. gets the overlay textures) or not.