Package net.minecraft.block.cauldron
Interface CauldronBehavior
public interface CauldronBehavior
Cauldron behaviors control what happens when a player interacts with
 cauldrons using a specific item.
 
 
To register new cauldron behaviors, you can add them to the corresponding maps based on the cauldron type.
| Type | Block | Behavior map | 
|---|---|---|
| Empty | minecraft:cauldron | EMPTY_CAULDRON_BEHAVIOR | 
| Water | minecraft:water_cauldron | WATER_CAULDRON_BEHAVIOR | 
| Lava | minecraft:lava_cauldron | LAVA_CAULDRON_BEHAVIOR | 
| Powder snow | minecraft:powder_snow_cauldron | POWDER_SNOW_CAULDRON_BEHAVIOR | 
- Mappings:
- Namespace - Name - official - ib- intermediary - net/minecraft/class_5620- named - net/minecraft/block/cauldron/CauldronBehavior
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final CauldronBehaviorA behavior that cleans banners with patterns.static final CauldronBehaviorA behavior that cleans dyeable items.static final CauldronBehaviorA behavior that cleans dyed shulker boxes.static final Map<Item,CauldronBehavior> The cauldron behaviors for empty cauldrons.static final CauldronBehaviorA behavior that fills cauldrons with lava.static final CauldronBehaviorA behavior that fills cauldrons with powder snow.static final CauldronBehaviorA behavior that fills cauldrons with water.static final Map<Item,CauldronBehavior> The cauldron behaviors for lava cauldrons.static final Map<Item,CauldronBehavior> The cauldron behaviors for powder snow cauldrons.static final Map<Item,CauldronBehavior> The cauldron behaviors for water cauldrons.
- 
Method SummaryModifier and TypeMethodDescriptionCreates a mutable map from items to their corresponding cauldron behaviors.static ActionResultemptyCauldron(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, ItemStack stack, ItemStack output, Predicate<BlockState> fullPredicate, SoundEvent soundEvent) Empties a cauldron if it's full.static ActionResultfillCauldron(World world, BlockPos pos, PlayerEntity player, Hand hand, ItemStack stack, BlockState state, SoundEvent soundEvent) Fills a cauldron from a bucket stack.interact(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, ItemStack stack) Called when a player interacts with a cauldron.static voidRegisters the vanilla cauldron behaviors.static voidregisterBucketBehavior(Map<Item, CauldronBehavior> behavior) Registers the behavior for filled buckets in the specified behavior map.
- 
Field Details- 
EMPTY_CAULDRON_BEHAVIORThe cauldron behaviors for empty cauldrons.- See Also:
- Mappings:
- Namespace - Name - Mixin selector - official - a- Lib;a:Ljava/util/Map;- intermediary - field_27775- Lnet/minecraft/class_5620;field_27775:Ljava/util/Map;- named - EMPTY_CAULDRON_BEHAVIOR- Lnet/minecraft/block/cauldron/CauldronBehavior;EMPTY_CAULDRON_BEHAVIOR:Ljava/util/Map;
 
- 
WATER_CAULDRON_BEHAVIORThe cauldron behaviors for water cauldrons.- See Also:
- Mappings:
- Namespace - Name - Mixin selector - official - b- Lib;b:Ljava/util/Map;- intermediary - field_27776- Lnet/minecraft/class_5620;field_27776:Ljava/util/Map;- named - WATER_CAULDRON_BEHAVIOR- Lnet/minecraft/block/cauldron/CauldronBehavior;WATER_CAULDRON_BEHAVIOR:Ljava/util/Map;
 
- 
LAVA_CAULDRON_BEHAVIORThe cauldron behaviors for lava cauldrons.- See Also:
- Mappings:
- Namespace - Name - Mixin selector - official - c- Lib;c:Ljava/util/Map;- intermediary - field_27777- Lnet/minecraft/class_5620;field_27777:Ljava/util/Map;- named - LAVA_CAULDRON_BEHAVIOR- Lnet/minecraft/block/cauldron/CauldronBehavior;LAVA_CAULDRON_BEHAVIOR:Ljava/util/Map;
 
- 
POWDER_SNOW_CAULDRON_BEHAVIORThe cauldron behaviors for powder snow cauldrons.- See Also:
- Mappings:
- Namespace - Name - Mixin selector - official - d- Lib;d:Ljava/util/Map;- intermediary - field_28011- Lnet/minecraft/class_5620;field_28011:Ljava/util/Map;- named - POWDER_SNOW_CAULDRON_BEHAVIOR- Lnet/minecraft/block/cauldron/CauldronBehavior;POWDER_SNOW_CAULDRON_BEHAVIOR:Ljava/util/Map;
 
- 
FILL_WITH_WATERA behavior that fills cauldrons with water.- See Also:
- Mappings:
- Namespace - Name - Mixin selector - official - e- Lib;e:Lib;- intermediary - field_27778- Lnet/minecraft/class_5620;field_27778:Lnet/minecraft/class_5620;- named - FILL_WITH_WATER- Lnet/minecraft/block/cauldron/CauldronBehavior;FILL_WITH_WATER:Lnet/minecraft/block/cauldron/CauldronBehavior;
 
- 
FILL_WITH_LAVAA behavior that fills cauldrons with lava.- See Also:
- Mappings:
- Namespace - Name - Mixin selector - official - f- Lib;f:Lib;- intermediary - field_27779- Lnet/minecraft/class_5620;field_27779:Lnet/minecraft/class_5620;- named - FILL_WITH_LAVA- Lnet/minecraft/block/cauldron/CauldronBehavior;FILL_WITH_LAVA:Lnet/minecraft/block/cauldron/CauldronBehavior;
 
- 
FILL_WITH_POWDER_SNOWA behavior that fills cauldrons with powder snow.- See Also:
- Mappings:
- Namespace - Name - Mixin selector - official - g- Lib;g:Lib;- intermediary - field_28012- Lnet/minecraft/class_5620;field_28012:Lnet/minecraft/class_5620;- named - FILL_WITH_POWDER_SNOW- Lnet/minecraft/block/cauldron/CauldronBehavior;FILL_WITH_POWDER_SNOW:Lnet/minecraft/block/cauldron/CauldronBehavior;
 
- 
CLEAN_SHULKER_BOXA behavior that cleans dyed shulker boxes.- Mappings:
- Namespace - Name - Mixin selector - official - h- Lib;h:Lib;- intermediary - field_27780- Lnet/minecraft/class_5620;field_27780:Lnet/minecraft/class_5620;- named - CLEAN_SHULKER_BOX- Lnet/minecraft/block/cauldron/CauldronBehavior;CLEAN_SHULKER_BOX:Lnet/minecraft/block/cauldron/CauldronBehavior;
 
- 
CLEAN_BANNERA behavior that cleans banners with patterns.- Mappings:
- Namespace - Name - Mixin selector - official - i- Lib;i:Lib;- intermediary - field_27781- Lnet/minecraft/class_5620;field_27781:Lnet/minecraft/class_5620;- named - CLEAN_BANNER- Lnet/minecraft/block/cauldron/CauldronBehavior;CLEAN_BANNER:Lnet/minecraft/block/cauldron/CauldronBehavior;
 
- 
CLEAN_DYEABLE_ITEMA behavior that cleans dyeable items.- Mappings:
- Namespace - Name - Mixin selector - official - j- Lib;j:Lib;- intermediary - field_27782- Lnet/minecraft/class_5620;field_27782:Lnet/minecraft/class_5620;- named - CLEAN_DYEABLE_ITEM- Lnet/minecraft/block/cauldron/CauldronBehavior;CLEAN_DYEABLE_ITEM:Lnet/minecraft/block/cauldron/CauldronBehavior;
 
 
- 
- 
Method Details- 
createMapCreates a mutable map from items to their corresponding cauldron behaviors.The default return value in the map is a cauldron behavior that returns ActionResult.PASSfor all items.- Returns:
- the created map
- Mappings:
- Namespace - Name - Mixin selector - official - a- Lib;a()Lit/unimi/dsi/fastutil/objects/Object2ObjectOpenHashMap;- intermediary - method_32206- Lnet/minecraft/class_5620;method_32206()Lit/unimi/dsi/fastutil/objects/Object2ObjectOpenHashMap;- named - createMap- Lnet/minecraft/block/cauldron/CauldronBehavior;createMap()Lit/unimi/dsi/fastutil/objects/Object2ObjectOpenHashMap;
 
- 
interactActionResult interact(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, ItemStack stack) Called when a player interacts with a cauldron.- Parameters:
- state- the current cauldron block state
- world- the world where the cauldron is located
- pos- the cauldron's position
- player- the interacting player
- hand- the hand interacting with the cauldron
- stack- the stack in the player's hand
- Returns:
- a successful action result if this behavior succeeds,
 ActionResult.PASSotherwise
- Mappings:
- Namespace - Name - Mixin selector - official - interact- Lib;interact(Ldcb;Lcmm;Lgu;Lbyo;Lbdw;Lcfz;)Lbdx;- intermediary - interact- Lnet/minecraft/class_5620;interact(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1657;Lnet/minecraft/class_1268;Lnet/minecraft/class_1799;)Lnet/minecraft/class_1269;- named - interact- Lnet/minecraft/block/cauldron/CauldronBehavior;interact(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/util/Hand;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/util/ActionResult;
 
- 
registerBehaviorstatic void registerBehavior()Registers the vanilla cauldron behaviors.- Mappings:
- Namespace - Name - Mixin selector - official - b- Lib;b()V- intermediary - method_32212- Lnet/minecraft/class_5620;method_32212()V- named - registerBehavior- Lnet/minecraft/block/cauldron/CauldronBehavior;registerBehavior()V
 
- 
registerBucketBehaviorRegisters the behavior for filled buckets in the specified behavior map.- Mappings:
- Namespace - Name - Mixin selector - official - a- Lib;a(Ljava/util/Map;)V- intermediary - method_34850- Lnet/minecraft/class_5620;method_34850(Ljava/util/Map;)V- named - registerBucketBehavior- Lnet/minecraft/block/cauldron/CauldronBehavior;registerBucketBehavior(Ljava/util/Map;)V
 
- 
emptyCauldronstatic ActionResult emptyCauldron(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, ItemStack stack, ItemStack output, Predicate<BlockState> fullPredicate, SoundEvent soundEvent) Empties a cauldron if it's full.- Parameters:
- state- the cauldron block state
- world- the world where the cauldron is located
- pos- the cauldron's position
- player- the interacting player
- hand- the hand interacting with the cauldron
- stack- the stack in the player's hand
- output- the item stack that replaces the interaction stack when the cauldron is emptied
- fullPredicate- a predicate used to check if the cauldron can be emptied into the output stack
- soundEvent- the sound produced by emptying
- Returns:
- a successful action result if emptied, ActionResult.PASSotherwise
- Mappings:
- Namespace - Name - Mixin selector - official - a- Lib;a(Ldcb;Lcmm;Lgu;Lbyo;Lbdw;Lcfz;Lcfz;Ljava/util/function/Predicate;Lamg;)Lbdx;- intermediary - method_32210- Lnet/minecraft/class_5620;method_32210(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1657;Lnet/minecraft/class_1268;Lnet/minecraft/class_1799;Lnet/minecraft/class_1799;Ljava/util/function/Predicate;Lnet/minecraft/class_3414;)Lnet/minecraft/class_1269;- named - emptyCauldron- Lnet/minecraft/block/cauldron/CauldronBehavior;emptyCauldron(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/util/Hand;Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;Ljava/util/function/Predicate;Lnet/minecraft/sound/SoundEvent;)Lnet/minecraft/util/ActionResult;
 
- 
fillCauldronstatic ActionResult fillCauldron(World world, BlockPos pos, PlayerEntity player, Hand hand, ItemStack stack, BlockState state, SoundEvent soundEvent) Fills a cauldron from a bucket stack.The filled bucket stack will be replaced by an empty bucket in the player's inventory. - Parameters:
- world- the world where the cauldron is located
- pos- the cauldron's position
- player- the interacting player
- hand- the hand interacting with the cauldron
- stack- the filled bucket stack in the player's hand
- state- the filled cauldron state
- soundEvent- the sound produced by filling
- Returns:
- a successful action result
- Mappings:
- Namespace - Name - Mixin selector - official - a- Lib;a(Lcmm;Lgu;Lbyo;Lbdw;Lcfz;Ldcb;Lamg;)Lbdx;- intermediary - method_32207- Lnet/minecraft/class_5620;method_32207(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1657;Lnet/minecraft/class_1268;Lnet/minecraft/class_1799;Lnet/minecraft/class_2680;Lnet/minecraft/class_3414;)Lnet/minecraft/class_1269;- named - fillCauldron- Lnet/minecraft/block/cauldron/CauldronBehavior;fillCauldron(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/util/Hand;Lnet/minecraft/item/ItemStack;Lnet/minecraft/block/BlockState;Lnet/minecraft/sound/SoundEvent;)Lnet/minecraft/util/ActionResult;
 
 
-