mojira.dev
MC-117496

Armor after washing in the cauldron immediately put on the player

Steps to reproduce

  1. Place the filled cauldron:

    /setblock ~1 ~ ~ cauldron[level=3]
  2. Get dyed armor.

    /give @p leather_chestplate{display:{color:0}} 1
  3. Check if there is any item in the chestplate slot.

  4. Click on the cauldron with leather chestplate.
    Also, when you wash the armor, there will not be any animation of the hand (before 19w37a).

Code analysis

This is caused by the check if the world is a client or a server (!worldIn.isRemote). Removing it fixes the issue.

BlockCauldron.onBlockActivated(world, pos, state, playerIn, hand, facing, x, y, z)

if (itemarmor.getArmorMaterial() == ItemArmor.ArmorMaterial.LEATHER && itemarmor.hasColor(itemstack) && !worldIn.isRemote)
{
    itemarmor.removeColor(itemstack);
    //...
    return true;
}

Linked issues

Comments 6

I wasn't able to reproduce this in 20w48a. When cleaning the leather chestplate, it would simply clean it and not equip it despite nothing being in the chestplate slot.

I cannot reproduce in 20w48a either.

@unknown is this fixed for you?

Yes I can confirm the fix

Thanks!

Resolving as 'Cannot Reproduce' for now. A fix version can be added afterwards in case someone finds out the exact version where this got fixed.

JUE13

(Unassigned)

Confirmed

(Unassigned)

cauldron, dyed-armor

Minecraft 1.11.2, Minecraft 17w18b, Minecraft 1.12 Pre-Release 1, Minecraft 1.12 Pre-Release 2, Minecraft 1.12 Pre-Release 3, ..., 19w41a, 19w42a, 1.15 Pre-release 6, 20w15a, 20w28a

Retrieved