Blueprint File Format Block Data

From StarMade Wiki

The Block Data structure consists of three bytes which contain a bit-packed representation of each block in the blueprint.

Segment-data v0

MSB Bit Offsets LSB
Type 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Type 0 Orientation Active Hit Points Block ID
For blocks with an activation status, like a Standard Factory or Activation Module

Type 1 Orientation Hit Points Block ID
For all other blocks except corners

Type 2 Orientation Hit Points Block ID
For corner blocks

Segment-data v1

MSB Bit Offsets LSB
Type 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Type 0 Orientation Active Hit Points Block ID
For blocks with an activation status, like a Standard Factory or Activation Module

Type 1 Orientation - Hit Points Block ID
For wedge blocks

Type 2 Orientation Hit Points Block ID
For corner blocks

Type 3 Orientation - Hit Points Block ID
For most plants and light rods. Blocks like a Snowbuds or Black Rod Light

Type 4 Orientation Hit Points Block ID
For tetra blocks

Type 5 Orientation Hit Points Block ID
For hepta blocks

Segment-data v2

MSB Bit Offsets LSB
Type 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Type 0 Orientation Active Hit Points Block ID
For blocks with an activation status, like a Standard Factory or Activation Module

Type 1 Orientation - Hit Points Block ID
For wedge blocks

Type 2 Orientation Hit Points Block ID
For corner blocks

Type 3 Orientation - Hit Points Block ID
For most plants and light rods. Blocks like a Snowbuds or Black Rod Light

Type 4 Orientation Hit Points Block ID
For tetra blocks

Type 5 Orientation Hit Points Block ID
For hepta blocks

Type 6 Orientation Hit Points Block ID
For Shipyard Module and rail blocks

Segment-data v3

MSB Bit Offsets LSB
Type 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
All Orientation Active Hit Points Block ID
Blocks than can be active have 1 for 'inaktive' and 0 for 'active'.
Others have 0 as Active-bit.

Orientation

The Orientation field represents how the block is facing in the blueprint. When all the bits in this field are zero, the block will be in its default orientation. The bits are interpreted as follows :

Segment-data v0,v1,v2

Type 3 to 6 were introduced in segment data version 2.

Type Bits Description
Type 0/3 23 22 21 The block facing
Type 1 23 22 The axis of rotation.
  • 00 : +Y
  • 01 : -Y
  • 10 : -Z
  • 11 : +Z
21 20 The amount of clockwise rotation around the axis of rotation, in 90-degree steps
Type 2/6 19 23 22 The axis of rotation.
  • 000 : +Y
  • 001 : -Y
  • 010 : -Z
  • 011 : +Z
  • 100 : -X
  • 101 : +X
21 20 The amount of clockwise rotation around the axis of rotation, in 90-degree steps
Type 4/5 19 23 22 The axis of rotation.
  • 000 : +Y
  • 001 : -Y
21 20 The amount of clockwise rotation around the axis of rotation, in 90-degree steps


Segment-data v3

Type Bits Description
23 22 21 20 19
Type 0/3 Block facing
  • 0: Front / Back
  • 1: Back / Front
  • 2: Top / Bottom
  • 3: Bottom / Top
  • 4: Right / Left
  • 5: Left / Right
Type 1 The axis of rotation. Rotations in 90-degree steps
  • 000 : +Y
  • 001 : -Y
  • 010 : -Z
  • 011 : +Z
Type 2/6 The axis of rotation. Rotations in 90-degree steps
  • 000 : +Y
  • 001 : -Y
  • 010 : -Z
  • 011 : +Z
  • 100 : -X
  • 101 : +X
Type 4/5 The axis of rotation. Rotations in 90-degree steps
  • 000 : +Y
  • 001 : -Y