PrismarineJS/prismarine-windows

Slots with special properties

kaduvert opened this issue · 1 comments

windows currently don't implement special handling for certain slots, leading to desynchronization if used with a minecraft-client (like mineflayer)

one example of a special slot is in the enchantment table:
enchanting window

while it's pretty obvious that the slot in the enchantment table takes only lapis lazuli, other slots, like the armor slots in your inventory take multiple different items, which also change with minecraft-versions.
the slot in the beacon, for example, can only hold certain item types and of those it can only hold a stack of size 1

the key to being able to reliably implement this is some kind of version-accurate data, specifying the behaviour of the individual slots (what items they take, how many, etc..)

Gjum commented

There is also a difference between being able to shift-click items into a window slot, or being able to pick up and drop them into the slot; for example, the top slot of a furnace allows dropping deepslate into it, while being unable to shift-click it into that slot.