0x12 C12PacketUpdateSign

Player finishes editing a sign. Sends the block position and four lines of text as IChatComponents.

Serverbound (Client → Server) · PLAY · net/minecraft/network/play/client/C12PacketUpdateSign.java
playerblocksignchatworld

Fields

FieldTypeDescription
positionBlockPosSign block position
linesIChatComponent[4]4 lines of sign text as JSON ChatComponents

Wire Encoding

FieldTypeNotes
PositionPosition (long)BlockPos encoded as long
Line 1Chat Component (JSON)Sign line 1
Line 2Chat Component (JSON)Sign line 2
Line 3Chat Component (JSON)Sign line 3
Line 4Chat Component (JSON)Sign line 4

MCP References

MCPNetHandlerPlayServer.processUpdateSign()

Handler Interface

HNDINetHandlerPlayServer

Notes

Jigsaw 0.26 OPSign module cancels and resends C12 twice to crash the server's sign data structure on vanilla 1.8-1.8.5 servers (exploit patched in 1.8.8+).

implementation Implementation Cases

SignEditor

Send sign text to server after editing.

Vanilla hook: EventSendPacket
ColorSigns

Send sign text to server after editing.

Vanilla hook: EventSendPacket
← Back to all packets