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 jdintermediary net/minecraft/class_5620named net/minecraft/block/cauldron/CauldronBehavior
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Map<String,CauldronBehavior.CauldronBehaviorMap> static 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 com.mojang.serialization.Codec<CauldronBehavior.CauldronBehaviorMap>static final CauldronBehavior.CauldronBehaviorMapThe 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 CauldronBehavior.CauldronBehaviorMapThe cauldron behaviors for lava cauldrons.static final CauldronBehavior.CauldronBehaviorMapThe cauldron behaviors for powder snow cauldrons.static final CauldronBehavior.CauldronBehaviorMapThe cauldron behaviors for water cauldrons. -
Method Summary
Modifier 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
-
BEHAVIOR_MAPS
- Mappings:
Namespace Name Mixin selector official aLjd;a:Ljava/util/Map;intermediary field_46589Lnet/minecraft/class_5620;field_46589:Ljava/util/Map;named BEHAVIOR_MAPSLnet/minecraft/block/cauldron/CauldronBehavior;BEHAVIOR_MAPS:Ljava/util/Map;
-
CODEC
- Mappings:
Namespace Name Mixin selector official bLjd;b:Lcom/mojang/serialization/Codec;intermediary field_46590Lnet/minecraft/class_5620;field_46590:Lcom/mojang/serialization/Codec;named CODECLnet/minecraft/block/cauldron/CauldronBehavior;CODEC:Lcom/mojang/serialization/Codec;
-
EMPTY_CAULDRON_BEHAVIOR
The cauldron behaviors for empty cauldrons.- See Also:
- Mappings:
Namespace Name Mixin selector official cLjd;c:Ljd$a;intermediary field_27775Lnet/minecraft/class_5620;field_27775:Lnet/minecraft/class_5620$class_8821;named EMPTY_CAULDRON_BEHAVIORLnet/minecraft/block/cauldron/CauldronBehavior;EMPTY_CAULDRON_BEHAVIOR:Lnet/minecraft/block/cauldron/CauldronBehavior$CauldronBehaviorMap;
-
WATER_CAULDRON_BEHAVIOR
The cauldron behaviors for water cauldrons.- See Also:
- Mappings:
Namespace Name Mixin selector official dLjd;d:Ljd$a;intermediary field_27776Lnet/minecraft/class_5620;field_27776:Lnet/minecraft/class_5620$class_8821;named WATER_CAULDRON_BEHAVIORLnet/minecraft/block/cauldron/CauldronBehavior;WATER_CAULDRON_BEHAVIOR:Lnet/minecraft/block/cauldron/CauldronBehavior$CauldronBehaviorMap;
-
LAVA_CAULDRON_BEHAVIOR
The cauldron behaviors for lava cauldrons.- See Also:
- Mappings:
Namespace Name Mixin selector official eLjd;e:Ljd$a;intermediary field_27777Lnet/minecraft/class_5620;field_27777:Lnet/minecraft/class_5620$class_8821;named LAVA_CAULDRON_BEHAVIORLnet/minecraft/block/cauldron/CauldronBehavior;LAVA_CAULDRON_BEHAVIOR:Lnet/minecraft/block/cauldron/CauldronBehavior$CauldronBehaviorMap;
-
POWDER_SNOW_CAULDRON_BEHAVIOR
The cauldron behaviors for powder snow cauldrons.- See Also:
- Mappings:
Namespace Name Mixin selector official fLjd;f:Ljd$a;intermediary field_28011Lnet/minecraft/class_5620;field_28011:Lnet/minecraft/class_5620$class_8821;named POWDER_SNOW_CAULDRON_BEHAVIORLnet/minecraft/block/cauldron/CauldronBehavior;POWDER_SNOW_CAULDRON_BEHAVIOR:Lnet/minecraft/block/cauldron/CauldronBehavior$CauldronBehaviorMap;
-
FILL_WITH_WATER
A behavior that fills cauldrons with water.- See Also:
- Mappings:
Namespace Name Mixin selector official gLjd;g:Ljd;intermediary field_27778Lnet/minecraft/class_5620;field_27778:Lnet/minecraft/class_5620;named FILL_WITH_WATERLnet/minecraft/block/cauldron/CauldronBehavior;FILL_WITH_WATER:Lnet/minecraft/block/cauldron/CauldronBehavior;
-
FILL_WITH_LAVA
A behavior that fills cauldrons with lava.- See Also:
- Mappings:
Namespace Name Mixin selector official hLjd;h:Ljd;intermediary field_27779Lnet/minecraft/class_5620;field_27779:Lnet/minecraft/class_5620;named FILL_WITH_LAVALnet/minecraft/block/cauldron/CauldronBehavior;FILL_WITH_LAVA:Lnet/minecraft/block/cauldron/CauldronBehavior;
-
FILL_WITH_POWDER_SNOW
A behavior that fills cauldrons with powder snow.- See Also:
- Mappings:
Namespace Name Mixin selector official iLjd;i:Ljd;intermediary field_28012Lnet/minecraft/class_5620;field_28012:Lnet/minecraft/class_5620;named FILL_WITH_POWDER_SNOWLnet/minecraft/block/cauldron/CauldronBehavior;FILL_WITH_POWDER_SNOW:Lnet/minecraft/block/cauldron/CauldronBehavior;
-
CLEAN_SHULKER_BOX
A behavior that cleans dyed shulker boxes.- Mappings:
Namespace Name Mixin selector official jLjd;j:Ljd;intermediary field_27780Lnet/minecraft/class_5620;field_27780:Lnet/minecraft/class_5620;named CLEAN_SHULKER_BOXLnet/minecraft/block/cauldron/CauldronBehavior;CLEAN_SHULKER_BOX:Lnet/minecraft/block/cauldron/CauldronBehavior;
-
CLEAN_BANNER
A behavior that cleans banners with patterns.- Mappings:
Namespace Name Mixin selector official kLjd;k:Ljd;intermediary field_27781Lnet/minecraft/class_5620;field_27781:Lnet/minecraft/class_5620;named CLEAN_BANNERLnet/minecraft/block/cauldron/CauldronBehavior;CLEAN_BANNER:Lnet/minecraft/block/cauldron/CauldronBehavior;
-
CLEAN_DYEABLE_ITEM
A behavior that cleans dyeable items.- Mappings:
Namespace Name Mixin selector official lLjd;l:Ljd;intermediary field_27782Lnet/minecraft/class_5620;field_27782:Lnet/minecraft/class_5620;named CLEAN_DYEABLE_ITEMLnet/minecraft/block/cauldron/CauldronBehavior;CLEAN_DYEABLE_ITEM:Lnet/minecraft/block/cauldron/CauldronBehavior;
-
-
Method Details
-
createMap
Creates 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 aLjd;a(Ljava/lang/String;)Ljd$a;intermediary method_32206Lnet/minecraft/class_5620;method_32206(Ljava/lang/String;)Lnet/minecraft/class_5620$class_8821;named createMapLnet/minecraft/block/cauldron/CauldronBehavior;createMap(Ljava/lang/String;)Lnet/minecraft/block/cauldron/CauldronBehavior$CauldronBehaviorMap;
-
interact
ActionResult 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 stateworld- the world where the cauldron is locatedpos- the cauldron's positionplayer- the interacting playerhand- the hand interacting with the cauldronstack- the stack in the player's hand- Returns:
- a successful action result if this behavior succeeds,
ActionResult.PASSotherwise - Mappings:
Namespace Name Mixin selector official interactLjd;interact(Ldjh;Lctp;Lhx;Lcfi;Lbka;Lcmy;)Lbkb;intermediary interactLnet/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 interactLnet/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;
-
registerBehavior
static void registerBehavior()Registers the vanilla cauldron behaviors.- Mappings:
Namespace Name Mixin selector official aLjd;a()Vintermediary method_32212Lnet/minecraft/class_5620;method_32212()Vnamed registerBehaviorLnet/minecraft/block/cauldron/CauldronBehavior;registerBehavior()V
-
registerBucketBehavior
Registers the behavior for filled buckets in the specified behavior map.- Mappings:
Namespace Name Mixin selector official aLjd;a(Ljava/util/Map;)Vintermediary method_34850Lnet/minecraft/class_5620;method_34850(Ljava/util/Map;)Vnamed registerBucketBehaviorLnet/minecraft/block/cauldron/CauldronBehavior;registerBucketBehavior(Ljava/util/Map;)V
-
emptyCauldron
static 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 stateworld- the world where the cauldron is locatedpos- the cauldron's positionplayer- the interacting playerhand- the hand interacting with the cauldronstack- the stack in the player's handoutput- the item stack that replaces the interaction stack when the cauldron is emptiedfullPredicate- a predicate used to check if the cauldron can be emptied into the output stacksoundEvent- the sound produced by emptying- Returns:
- a successful action result if emptied,
ActionResult.PASSotherwise - Mappings:
Namespace Name Mixin selector official aLjd;a(Ldjh;Lctp;Lhx;Lcfi;Lbka;Lcmy;Lcmy;Ljava/util/function/Predicate;Larr;)Lbkb;intermediary method_32210Lnet/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 emptyCauldronLnet/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;
-
fillCauldron
static 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 locatedpos- the cauldron's positionplayer- the interacting playerhand- the hand interacting with the cauldronstack- the filled bucket stack in the player's handstate- the filled cauldron statesoundEvent- the sound produced by filling- Returns:
- a successful action result
- Mappings:
Namespace Name Mixin selector official aLjd;a(Lctp;Lhx;Lcfi;Lbka;Lcmy;Ldjh;Larr;)Lbkb;intermediary method_32207Lnet/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 fillCauldronLnet/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;
-