Remove
This packet is sent when the player removes a shape or lift.
- ID: 0x23 (35)
- Size: 33 bytes
- LZ4 Compressed: Yes
- State: Playing
- Bound To: Client -> Server
Structure
Offset | Field Name | Field Type | Notes |
---|---|---|---|
0x00 | Local Position High | Vec3i | The position of the positive-x, positive-y, positive-z, exclusive corner of blocks to remove, local to the body. The value of this field is equal to the value of Local Position Low plus the size of the box of blocks to remove. Always (0, 0, 0) for parts, but the server accepts any value. |
0x0C | Local Position Low | Vec3i | The position of the negative-x, negative-y, negative-z, inclusive corner of blocks to remove, local to the body. Always (0, 0, 0) for parts, but the server accepts any value. |
0x18 | Removed Surface | enum RemovedSurface : u8 | The type of surface to remove. |
0x19 | Removed Surface Data | ... (8 bytes) | The data of the removed surface. |
Vec3i
note
The order of the coordinates is Z, Y, X, which may be seen as counterintuitive.
Offset | Field Name | Field Type | Notes |
---|---|---|---|
0x00 | Z | be s32 | The signed Z coordinate. |
0x04 | Y | be s32 | The signed Y coordinate. |
0x08 | X | be s32 | The signed X coordinate. |
RemovedSurface Enum
This is an exhaustive list. Packets with values not listed in the table do not do anything.
ID | Removed Surface |
---|---|
4 | Body |
6 | Lift |
note
Packet 39 - Remove Joint is sent when a joint is removed, not packet 35 - Remove.
RemovedSurface 4 - Body
Offset | Field Name | Field Type | Notes |
---|---|---|---|
0x00 | Shape ID | be u32 | The ID of the part to remove. Always 0 for blocks. |
0x04 | Body ID | be u32 | The ID of the body the shape to remove the shape from. |
RemovedSurface 6 - Lift
Offset | Field Name | Field Type | Notes |
---|---|---|---|
0x00 | Unknown | 4 bytes | Always equal to 00 00 00 00 . Any value is accepted by the server. |
0x04 | Lift ID | be u32 | The ID of the lift to remove. |