mojira.dev
MCPE-232678

Cauldrons are internally containers (or at least have a hidden inventory, meaning they contain a normally unused Items list tag in NBT), despite the fact that there is no legitimate way to store items in a cauldron in survival or the usual creative mode.

The Bug:

Cauldrons are internally considered to be containers (or at least have a hidden inventory) by the game, (basically they contain an Items list tag in the cauldron block entity NBT) despite the fact that no in-game item can ever literally be stored in the cauldron’s inventory in survival and the usual creative mode, and all cauldron mechanics like adding dyes to water never make use of the cauldron’s Items tag. Commands like /loot can add to the actual contained items in a cauldron under the Items tag, but there is no cauldron inventory user interface. Maybe this could have something to do with a possible scrapped cauldron potion brewing mechanic or possibly a scrapped cauldron cooking mechanic that Mojang may have experimented with in the past at one point, but I am not sure…
Steps to Reproduce

  1. Run this command: /weather clear 100000

  2. Place an empty cauldron. Do not fill it with any liquid.

  3. Stand inside the cauldron.

  4. Run this command: /loot insert ~ ~ ~ loot “chests/simple_dungeon”

  5. Notice the loot command actually working, meaning items are internally being added to the cauldron’s inventory.

Optional steps for the cauldron’s Items tag data inspection:

These optional steps can be done if you are using the Windows platform, if you use it, you will have access to structure block structure exporting on Windows.

  1. Get yourself a structure block with the /give command.

  2. Using the structure block, make sure the cauldron you used to test the bug is in the structure block zone. Make sure the only block entities in the structure is a structure block and a cauldron.

  3. Export the structure.

  4. Use an NBT editor like NBT Studio to inspect the data of the structure file you have just generated.

    1. Inside the compound tag named “structure“, you will find a compound tag named “palette”.

    2. Inside the palette compound tag is a compound tag called “default”.

    3. Inside the compound tag named “default”, you can find a compound tag called “block_position_data”.

    4. In the block_position_data tag, there will most likely be 2 compound tags that have the name of an integer. Each compound tag named a number should contain a compound “block_entity_data”. One of the compound tags containing a number in their name should have a “block_entity_data” compound containing about 8 NBT tags inside, with the following contents:

      • A list tag named “Items” (that Items tag existing at all is probably the bug here)

      • A short tag named “PotionId

      • A short tag named “PotionType

      • A string tag named “id”, with the value “Cauldron”.

      • A byte tag named “isMovable”.

      • An int tag named “x”.

      • An int tag named “y”.

      • An int tag named “z”.

    5. Inside the Items list tag, you will most likely notice compound tags. In each of these compound tags is an item that came into the cauldron from the /loot command testing earlier.

Expected Results:

New cauldrons placed in the world will not have an “Items” NBT list tag in their block entity data. It is an unnecessary NBT tag for cauldrons, as none of the survival cauldron processes in game ever use the Items tag in a cauldron.

Observed Results:

New cauldrons placed in the world will have an “Items” NBT list tag in their block entity data. If you have used /loot on the cauldron, you will actually notice the items inside if you use an NBT editor to see it.

Extra Notes:

  • None of the items contained in the cauldron’s inventory are released into the world when the cauldron is broken, meaning they are lost, even with a Silk Touch pickaxe.

  • The items inside the cauldron’s inventory are unobservable in-game.

  • A cauldron can internally store around 10 items.

  • This report specifically concerns the unused Items tag that happens to exist in all cauldrons.

  • Hoppers cannot interact with the cauldron, neither can droppers or crafters.

Comments 5

What actual impact does this have on gameplay, add-ons, etc?

The actual impact here is that the /loot command works on the cauldron, because the game considers the cauldron to be a container...

It’s for cauldrons in the witch hut, I guess. They use loot table to define which type of potion is spawned in the cauldron.

Which loot table would that be?

Also, it’s interesting that /replaceitem and /loot replace block don't work on cauldrons (reporting that it’s not a container), but /loot insert does.

TheMightyDark

(Unassigned)

1525803

Confirmed

Windows

Windows 11

1.21.124 Hotfix

Retrieved