Skip to content
mc-protocol
Esc
↑↓navigate↵open⌘Jpreview
On this page

Container Click

Play 0x12, client → server.

play · 0x12 · serverbound (client → server)

Sent when the player clicks a slot in an open container. windowId and stateId identify the container and its revision, slot, mouseButton, and mode describe the click, changedSlots lists the client’s predicted slot contents, and cursorItem is the predicted carried item. The server applies the click on its own copy and sends corrections if the prediction differs.

Sent by the client, read by the server. Listen for it with client.on("ContainerClick", (data) => …) on the receiving side.

Fields

Field Type Notes
windowId ContainerID
stateId VarInt
slot Short
mouseButton Byte also button
mode VarInt
changedSlots Array
cursorItem Optional also carriedItem

Send it

await client.sendPacket("ContainerClick", {
  windowId: /* ContainerID */,
  stateId: /* VarInt */,
  slot: /* Short */,
  mouseButton: /* Byte */,
  mode: /* VarInt */,
  changedSlots: /* Array */,
  cursorItem: /* Optional */,
});

Field aliases listed under Notes are accepted as alternative keys when writing.

Source: src/Core/Versions/776/Packets/play/serverbound/ContainerClick.ts

Was this page helpful?