The Bug
When breeding an axolotl with a bucket of tropical fish it replaces the bucket of tropical fish with a water bucket
Reproduce
Be in creative
Get a bucket of tropical fish
Get an axolotl
Use the bucket of tropical fish on the axolotl
❌ Notice the bucket of tropical fish is replaced
Expected Result
The bucket of tropical fish would stay and a new water bucket would be made similar to collecting fluids in creative
Code Analysis
Adding a check for if the player is in creative mode int userPlayerItem() method in the Axolotl class fixes this issue
Current Code
net/minecraft/world/entity/animal/axolotl/Axolotl.java
protected void usePlayerItem(Player p_149124_, InteractionHand p_149125_, ItemStack p_149126_) {
if (p_149126_.is(Items.TROPICAL_FISH_BUCKET)) {
p_149124_.setItemInHand(p_149125_, new ItemStack(Items.WATER_BUCKET));
} else {
super.usePlayerItem(p_149124_, p_149125_, p_149126_);
}
Fixed Code
net/minecraft/world/entity/animal/axolotl/Axolotl.java
protected void usePlayerItem(Player p_149124_, InteractionHand p_149125_, ItemStack p_149126_) {
//Adding a check for creative mode here fixes MC-225870
if (p_149126_.is(Items.TROPICAL_FISH_BUCKET) && !p_149124_.isCreative()) {
p_149124_.setItemInHand(p_149125_, new ItemStack(Items.WATER_BUCKET));
} else {
super.usePlayerItem(p_149124_, p_149125_, p_149126_);
}
}
Can confirm.