Carpet

Carpet

2M Downloads

[Bug] `draw` command's NBT comparing is broken

Crec0 opened this issue ยท 1 comments

commented

I will be using furnace as an example for all the bugs however it works for all blocks with NBT.
These are all NBT related, so making an single issue.

Testing was done in a void world, 22w11a snapshot

Fail to replace

If draw command is used to replace existing furnace with no NBT with furnace with NBT, it will not replace it.

Steps to reproduce

  • /draw cuboid 0 0 0 1 1 y minecraft:furnace
  • /draw cuboid 0 0 0 1 1 y minecraft:furnace{Items:[{Slot:1b,id:coal_block,Count:64b}]}
  • Inspect the furnaces and they should all be empty

Invalid NBT

If a valid NBT furnace is replaced with invalid NBT furnace, it reports 0 furnaces filled however it still replaces them all.

Steps to reproduce

  • /draw cuboid 0 0 0 1 1 y minecraft:furnace{Items:[{Slot:1b,id:coal_block,Count:64b}]}
  • Inspect furnaces and they should have stone in the fuel slot.
  • /draw cuboid 0 0 0 1 1 y minecraft:furnace{Items:[{Slot:1b,id:coal_block}]}
  • Observe chat output says Filled 0 blocks, however, if you inspect furnaces, they will not have any items.

Fail to replace with valid NBT

It's very similar to the one above however just with valid nbt this time. Even the same nbt fails.

Steps to reproduce

  • /draw cuboid 0 0 0 1 1 y minecraft:furnace{Items:[{Slot:1b,id:coal_block,Count:64b}]}
  • Inspect furnaces and they should have one stone in the fuel slot.
  • /draw cuboid 0 0 0 1 1 y minecraft:furnace{Items:[{Slot:1b,id:coal_block,Count:64b}]}
  • Observe chat output says Filled 0 blocks, however, if you inspect furnaces, they will not have any items.

Succeeds to replace all furnaces correctly for some odd unknown reason

If furnaces are lit, it will somehow manage to replace them all, which is odd. (Only works for furnace, didn't test other blocks with NBT)
Btw, furnaces are only lit, not actually smelting. (Another bug?)

Steps to reproduce

  • /draw cuboid 0 0 0 1 1 y minecraft:furnace{Items:[{Slot:0b,id:stone,Count:4b},{Slot:1b,id:coal_block,Count:64b}]}
  • /draw cuboid 0 0 0 1 1 y minecraft:furnace{Items:[{Slot:0b,id:stone,Count:4b},{Slot:1b,id:coal_block,Count:64b}]}
  • Observe how it will still replace the furnaces. Even though the it should have failed if we think about the bug above.
commented

First 3 are very clearly linked together and might be because of same bug.
4th is confusing