Class LeveledCauldronBlock

All Implemented Interfaces:
ItemConvertible, ToggleableFeature
Direct Known Subclasses:
PowderSnowCauldronBlock

public class LeveledCauldronBlock extends AbstractCauldronBlock
A cauldron with a varying level of contents. This includes water and powder snow cauldrons.

The amount of stored substance is controlled with the LEVEL block state property which can take values between 1 and 3 (inclusive).

Mappings:
Namespace Name
official cxb
intermediary net/minecraft/class_5556
named net/minecraft/block/LeveledCauldronBlock
  • Field Details

    • MIN_LEVEL

      public static final int MIN_LEVEL
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official c Lcxb;c:I
      intermediary field_31107 Lnet/minecraft/class_5556;field_31107:I
      named MIN_LEVEL Lnet/minecraft/block/LeveledCauldronBlock;MIN_LEVEL:I
    • MAX_LEVEL

      public static final int MAX_LEVEL
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official d Lcxb;d:I
      intermediary field_31108 Lnet/minecraft/class_5556;field_31108:I
      named MAX_LEVEL Lnet/minecraft/block/LeveledCauldronBlock;MAX_LEVEL:I
    • LEVEL

      public static final IntProperty LEVEL
      Mappings:
      Namespace Name Mixin selector
      official e Lcxb;e:Ldgj;
      intermediary field_27206 Lnet/minecraft/class_5556;field_27206:Lnet/minecraft/class_2758;
      named LEVEL Lnet/minecraft/block/LeveledCauldronBlock;LEVEL:Lnet/minecraft/state/property/IntProperty;
    • BASE_FLUID_HEIGHT

      private static final int BASE_FLUID_HEIGHT
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official h Lcxb;h:I
      intermediary field_31109 Lnet/minecraft/class_5556;field_31109:I
      named BASE_FLUID_HEIGHT Lnet/minecraft/block/LeveledCauldronBlock;BASE_FLUID_HEIGHT:I
    • FLUID_HEIGHT_PER_LEVEL

      private static final double FLUID_HEIGHT_PER_LEVEL
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official i Lcxb;i:D
      intermediary field_31110 Lnet/minecraft/class_5556;field_31110:D
      named FLUID_HEIGHT_PER_LEVEL Lnet/minecraft/block/LeveledCauldronBlock;FLUID_HEIGHT_PER_LEVEL:D
    • RAIN_PREDICATE

      public static final Predicate<Biome.Precipitation> RAIN_PREDICATE
      A precipitation predicate that allows Biome.Precipitation.RAIN.
      Mappings:
      Namespace Name Mixin selector
      official f Lcxb;f:Ljava/util/function/Predicate;
      intermediary field_27880 Lnet/minecraft/class_5556;field_27880:Ljava/util/function/Predicate;
      named RAIN_PREDICATE Lnet/minecraft/block/LeveledCauldronBlock;RAIN_PREDICATE:Ljava/util/function/Predicate;
    • SNOW_PREDICATE

      public static final Predicate<Biome.Precipitation> SNOW_PREDICATE
      A precipitation predicate that allows Biome.Precipitation.SNOW.
      Mappings:
      Namespace Name Mixin selector
      official g Lcxb;g:Ljava/util/function/Predicate;
      intermediary field_27881 Lnet/minecraft/class_5556;field_27881:Ljava/util/function/Predicate;
      named SNOW_PREDICATE Lnet/minecraft/block/LeveledCauldronBlock;SNOW_PREDICATE:Ljava/util/function/Predicate;
    • precipitationPredicate

      private final Predicate<Biome.Precipitation> precipitationPredicate
      Mappings:
      Namespace Name Mixin selector
      official j Lcxb;j:Ljava/util/function/Predicate;
      intermediary field_27882 Lnet/minecraft/class_5556;field_27882:Ljava/util/function/Predicate;
      named precipitationPredicate Lnet/minecraft/block/LeveledCauldronBlock;precipitationPredicate:Ljava/util/function/Predicate;
  • Constructor Details

    • LeveledCauldronBlock

      public LeveledCauldronBlock(AbstractBlock.Settings settings, Predicate<Biome.Precipitation> precipitationPredicate, Map<Item,CauldronBehavior> behaviorMap)
      Constructs a leveled cauldron block.
      Parameters:
      precipitationPredicate - a predicate that checks what type of precipitation can fill this cauldron
      behaviorMap - the map containing cauldron behaviors for each item
      API Note:
      The precipitation predicates are compared using identity comparisons in some cases, so callers should typically use RAIN_PREDICATE and SNOW_PREDICATE if applicable.
      Mappings:
      Namespace Name Mixin selector
      official <init> Lcxb;<init>(Ldfi$d;Ljava/util/function/Predicate;Ljava/util/Map;)V
      intermediary <init> Lnet/minecraft/class_5556;<init>(Lnet/minecraft/class_4970$class_2251;Ljava/util/function/Predicate;Ljava/util/Map;)V
      named <init> Lnet/minecraft/block/LeveledCauldronBlock;<init>(Lnet/minecraft/block/AbstractBlock$Settings;Ljava/util/function/Predicate;Ljava/util/Map;)V
  • Method Details

    • isFull

      public boolean isFull(BlockState state)
      Returns true if the specified cauldron state is completely full, false otherwise.
      Specified by:
      isFull in class AbstractCauldronBlock
      Parameters:
      state - the cauldron state to check
      Returns:
      true if the specified cauldron state is completely full, false otherwise
      Mappings:
      Namespace Name Mixin selector
      official d Lcro;d(Ldfj;)Z
      intermediary method_32766 Lnet/minecraft/class_2275;method_32766(Lnet/minecraft/class_2680;)Z
      named isFull Lnet/minecraft/block/AbstractCauldronBlock;isFull(Lnet/minecraft/block/BlockState;)Z
    • canBeFilledByDripstone

      protected boolean canBeFilledByDripstone(Fluid fluid)
      Checks if this cauldron block can be filled with the specified fluid by dripstone.
      Overrides:
      canBeFilledByDripstone in class AbstractCauldronBlock
      Parameters:
      fluid - the fluid to check
      Returns:
      true if this block can be filled, false otherwise
      Mappings:
      Namespace Name Mixin selector
      official a Lcro;a(Leal;)Z
      intermediary method_32765 Lnet/minecraft/class_2275;method_32765(Lnet/minecraft/class_3611;)Z
      named canBeFilledByDripstone Lnet/minecraft/block/AbstractCauldronBlock;canBeFilledByDripstone(Lnet/minecraft/fluid/Fluid;)Z
    • getFluidHeight

      protected double getFluidHeight(BlockState state)
      Overrides:
      getFluidHeight in class AbstractCauldronBlock
      Mappings:
      Namespace Name Mixin selector
      official b Lcro;b(Ldfj;)D
      intermediary method_31615 Lnet/minecraft/class_2275;method_31615(Lnet/minecraft/class_2680;)D
      named getFluidHeight Lnet/minecraft/block/AbstractCauldronBlock;getFluidHeight(Lnet/minecraft/block/BlockState;)D
    • onEntityCollision

      public void onEntityCollision(BlockState state, World world, BlockPos pos, Entity entity)
      Called when the entity's collision box intersects the block. Therefore, this method is not called for blocks with a collision; use Block.onSteppedOn(net.minecraft.world.World, net.minecraft.util.math.BlockPos, net.minecraft.block.BlockState, net.minecraft.entity.Entity) for those blocks.

      This method is called on both the logical client and logical server, so take caution when overriding this method. The logical side can be checked using World.isClient.

      Here are some examples:

      Overrides:
      onEntityCollision in class AbstractBlock
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Ldfi;a(Ldfj;Lcpv;Lgw;Lbiq;)V
      intermediary method_9548 Lnet/minecraft/class_4970;method_9548(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1297;)V
      named onEntityCollision Lnet/minecraft/block/AbstractBlock;onEntityCollision(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/Entity;)V
    • onFireCollision

      protected void onFireCollision(BlockState state, World world, BlockPos pos)
      Mappings:
      Namespace Name Mixin selector
      official d Lcxb;d(Ldfj;Lcpv;Lgw;)V
      intermediary method_36994 Lnet/minecraft/class_5556;method_36994(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;)V
      named onFireCollision Lnet/minecraft/block/LeveledCauldronBlock;onFireCollision(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;)V
    • decrementFluidLevel

      public static void decrementFluidLevel(BlockState state, World world, BlockPos pos)
      Mappings:
      Namespace Name Mixin selector
      official e Lcxb;e(Ldfj;Lcpv;Lgw;)V
      intermediary method_31650 Lnet/minecraft/class_5556;method_31650(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;)V
      named decrementFluidLevel Lnet/minecraft/block/LeveledCauldronBlock;decrementFluidLevel(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;)V
    • precipitationTick

      public void precipitationTick(BlockState state, World world, BlockPos pos, Biome.Precipitation precipitation)
      Called randomly server-side on blocks with unobstructed sky access when it is raining or snowing. Like random ticks, only blocks within 128-block cylinder (i.e. ignoring Y coordinates) around players receive precipitation ticks. However, precipitation ticks are unaffected by the randomTickSpeed game rule, and AbstractBlock.Settings.ticksRandomly() block setting is not required.

      LeveledCauldronBlock uses this to fill the cauldron.

      Overrides:
      precipitationTick in class Block
      Parameters:
      precipitation - the precipitation (snow or rain), including snow observable on high altitude
      Mappings:
      Namespace Name Mixin selector
      official a Lcsv;a(Ldfj;Lcpv;Lgw;Lcqt$c;)V
      intermediary method_9504 Lnet/minecraft/class_2248;method_9504(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1959$class_1963;)V
      named precipitationTick Lnet/minecraft/block/Block;precipitationTick(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/world/biome/Biome$Precipitation;)V
    • getComparatorOutput

      public int getComparatorOutput(BlockState state, World world, BlockPos pos)
      Returns the comparator output of the block, from 0 to 15.

      When overriding this, AbstractBlock.hasComparatorOutput(net.minecraft.block.BlockState) must also be overridden.

      Overrides:
      getComparatorOutput in class AbstractBlock
      Returns:
      the comparator output of the block, from 0 to 15
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Ldfi;a(Ldfj;Lcpv;Lgw;)I
      intermediary method_9572 Lnet/minecraft/class_4970;method_9572(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;)I
      named getComparatorOutput Lnet/minecraft/block/AbstractBlock;getComparatorOutput(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;)I
    • appendProperties

      protected void appendProperties(StateManager.Builder<Block,BlockState> builder)
      Appends block state properties to this block. To use this, override and call StateManager.Builder.add(net.minecraft.state.property.Property<?>[]) inside the method. See Properties for the list of pre-defined properties.
      Overrides:
      appendProperties in class Block
      Mappings:
      Namespace Name Mixin selector
      official a Lcsv;a(Ldfk$a;)V
      intermediary method_9515 Lnet/minecraft/class_2248;method_9515(Lnet/minecraft/class_2689$class_2690;)V
      named appendProperties Lnet/minecraft/block/Block;appendProperties(Lnet/minecraft/state/StateManager$Builder;)V
    • fillFromDripstone

      protected void fillFromDripstone(BlockState state, World world, BlockPos pos, Fluid fluid)
      Fills a cauldron with one level of the specified fluid if possible.
      Overrides:
      fillFromDripstone in class AbstractCauldronBlock
      Parameters:
      state - the current cauldron state
      world - the world where the cauldron is located
      pos - the cauldron's position
      fluid - the fluid to fill the cauldron with
      Mappings:
      Namespace Name Mixin selector
      official a Lcro;a(Ldfj;Lcpv;Lgw;Leal;)V
      intermediary method_32764 Lnet/minecraft/class_2275;method_32764(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_3611;)V
      named fillFromDripstone Lnet/minecraft/block/AbstractCauldronBlock;fillFromDripstone(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/fluid/Fluid;)V