AOS REVIVALJoin Discord
Packet ID0310x1F
Building // wire record

ErasePrefabAction

Requests a UGC prefab carve over a bounded block-index range, ultimately using the verified Damage (37) block-destroy path.

C→SHandledProvisionalVariable: 17 + prefab-name bytes
Exact field order

Packet 31 wire layout

The first byte is the application packet ID. The rows after it appear in decode order. Sizes exclude ENet headers, the outer wrapper prefix, LZF chunk framing, and compression effects.

Packet 31 ErasePrefabAction fields in byte order
#FieldEncodingBytesPurpose
0packet_idu81Always 31 (0x1F).
1loop_counti32 LE4Simulation-loop stamp used for ordering, prediction, or reconciliation.
2player_idu81Compact player-slot identifier.
3prefab_nameNUL-terminated UTF-8 stringN + 1prefab name value.
4from_block_indexi16 LE2from block index value.
5to_block_indexi16 LE2to block index value.
6position3 × fixed16 LE6X, Y, and Z components at 1/64-unit precision.
Protocol convention

How to read this layout

  • LE means least-significant byte first.
  • fixed16 is two-byte sign-magnitude at 1/64 precision.
  • orientation16 uses the measured 1/8192 orientation mapping.
  • NUL strings consume their encoded byte length plus one 00 terminator.
  • Counted arrays repeat immediately in the order shown.