Save-game file format

Modified on Thu, 20 May 2021 at 06:10 PM

Current format 14:


Game can be saved either by scripting or using the console command /save.

The file format is binary. Chunk data is RLE compressed to reduce redundant data. Custom data sections are compressed using Deflate algorithm.


Byte Pos
Length
Type
Description
0
1
Byte
File format number
11ByteChunk size (16 or 32 as of Voxel Play 6.0)
1
4
Float
Position x of the character controller
5
4
Float
Position y of the character controller
9
4
Float
Position z of the character controller
13
4
Float
Character controller’s transform.eulerAngles.x
17
4
Float
Character controller’s transform.eulerAngles.y
21
4
Float
Character controller’s transform.eulerAngles.z
25
4
Float
Camera’s transform.eulerAngles.x
29
4
Float
Camera’s transform.eulerAngles.y
33
4
Float
Camera’s transform.eulerAngles.z
37
2
Int16
Number of voxel definitions
39
VariableStrings
Names of each voxel definition (list)

2Int16Number of item definitions

VariableStringsNames of each item definition (list) - this includes the item definitions for torches
??
4
Int
Number of chunks
START OF CHUNK
 
4
Float
Position x of the chunk
 
4
Float
Position y of the chunk
 
4
Float
Position z of the chunk

1
Byte
If this chunk has some voxels above terrain surface (1) or not (0). Used for computing lightmap when neighbour chunks do not exist (yet). Above surface chunks assume Sun light from above. Chunks below surface won't receive Sun light from above if there's no chunk on top.

1

Byte
1 if the chunk is completely generated. 0 if the chunk was modified after calling GetChunkUnpopulated() method but the terrain generator has not yet filled the chunk with contents.
 
2
Int16
Number of words
FOR EACH VOXEL REPETITION ("WORD")...

2
Int16
Index of the voxel definition list
 
1
Byte
Voxel color (R) (0-255)
 
1
Byte
Voxel color (G) (0-255)
 
1
Byte
Voxel color (B) (0-255)
 
2
Int16
Start index of the voxel repetition
 
2
Int16
Repetitions
 
1
Byte
If voxel is of transparent type or 6-textures opaque type, a flags byte with info with water level and/or voxel texture rotation info. "0" otherwise
...END VOXEL REPETITION

2
Int16
Number of torches or light sources
FOR EACH LIGHT SOURCE...
 
2
Int16
Index of the voxel within the chunk where the light source is
 
4
Float
Normal.x (used to determine the face of the voxel where the light source is attached)
 
4
Float
Normal.y
 
4
Float
Normal.z

2Int16Index of the item definition for the torch in the header list
...END OF LIGHT SOURCES SECTION

2Int16Number of items in the chunk
FOR EACH ITEM

2Int16Index of the item definition in the header list

4FloatPosition x of the item

4FloatPosition y of the item

4FloatPosition z of the item

2Int16Quantity
...END OF ITEMS SECTION

2
Int16
Number of voxels in this chunk with custom data
FOR EACH VOXEL WITH CUSTOM DATA...

2
Int16
Index of voxel in the chunk

2
Int16
Number of custom properties

4
Int
Property Id

4
Float
Float value

??
String
String value
...END OF PER VOXEL CUSTOM DATA SECTION
END OF CHUNK

2Int16Number of saved gameobjects in the world
FOR EACH GAMEOBJECT...


StringPath for the prefab from a Resources folder (ie. "MyPrefabs/thisprefab" where MyPrefabs is a folder inside Resources folder)


StringName of the gameobject

4FloatPosition x

4FloatPosition y

4FloatPosition z

4FloatRotation angle x

4FloatRotation angle y

4FloatRotation angle z

4FloatScale x

4FloatScale y

4FloatScale z

2Int16Number of custom data values
PER EACH GAMEOBJECT DATA VALUE


StringKey


StringValue
END OF DATA VALUE
END OF GAMEOBJECT




2
Int16
Number of custom data sections
PER EACH CUSTOM DATA SECTION


StringKey


Int16Length of byte array


Byte[]Data contents
END OF CUSTOM DATA SECTION



Previous versions:


Version 13:


Byte Pos
Length
Type
Description
0
1
Byte
File format number
11ByteChunk size (16 or 32 as of Voxel Play 6.0)
1
4
Float
Position x of the character controller
5
4
Float
Position y of the character controller
9
4
Float
Position z of the character controller
13
4
Float
Character controller’s transform.eulerAngles.x
17
4
Float
Character controller’s transform.eulerAngles.y
21
4
Float
Character controller’s transform.eulerAngles.z
25
4
Float
Camera’s transform.eulerAngles.x
29
4
Float
Camera’s transform.eulerAngles.y
33
4
Float
Camera’s transform.eulerAngles.z
37
2
Int16
Number of voxel definitions
39
VariableStrings
Names of each voxel definition (list)

2Int16Number of item definitions

VariableStringsNames of each item definition (list) - this includes the item definitions for torches
??
4
Int
Number of chunks
START OF CHUNK
 
4
Float
Position x of the chunk
 
4
Float
Position y of the chunk
 
4
Float
Position z of the chunk

1
Byte
If this chunk has some voxels above terrain surface (1) or not (0). Used for computing lightmap when neighbour chunks do not exist (yet). Above surface chunks assume Sun light from above. Chunks below surface won't receive Sun light from above if there's no chunk on top.
 
2
Int16
Number of words
FOR EACH VOXEL REPETITION ("WORD")...

2
Int16
Index of the voxel definition list
 
1
Byte
Voxel color (R) (0-255)
 
1
Byte
Voxel color (G) (0-255)
 
1
Byte
Voxel color (B) (0-255)
 
2
Int16
Start index of the voxel repetition
 
2
Int16
Repetitions
 
1
Byte
If voxel is of transparent type or 6-textures opaque type, a flags byte with info with water level and/or voxel texture rotation info. "0" otherwise
...END VOXEL REPETITION

2
Int16
Number of torches or light sources
FOR EACH LIGHT SOURCE...
 
2
Int16
Index of the voxel within the chunk where the light source is
 
4
Float
Normal.x (used to determine the face of the voxel where the light source is attached)
 
4
Float
Normal.y
 
4
Float
Normal.z

2Int16Index of the item definition for the torch in the header list
...END OF LIGHT SOURCES SECTION

2Int16Number of items in the chunk
FOR EACH ITEM

2Int16Index of the item definition in the header list

4FloatPosition x of the item

4FloatPosition y of the item

4FloatPosition z of the item

2Int16Quantity
...END OF ITEMS SECTION

2
Int16
Number of voxels in this chunk with custom data
FOR EACH VOXEL WITH CUSTOM DATA...

2
Int16
Index of voxel in the chunk

2
Int16
Number of custom properties

4
Int
Property Id

4
Float
Float value

??
String
String value
...END OF PER VOXEL CUSTOM DATA SECTION
END OF CHUNK

2Int16Number of saved gameobjects in the world
FOR EACH GAMEOBJECT...


StringPath for the prefab from a Resources folder (ie. "MyPrefabs/thisprefab" where MyPrefabs is a folder inside Resources folder)


StringName of the gameobject

4FloatPosition x

4FloatPosition y

4FloatPosition z

4FloatRotation angle x

4FloatRotation angle y

4FloatRotation angle z

4FloatScale x

4FloatScale y

4FloatScale z

2Int16Number of custom data values
PER EACH GAMEOBJECT DATA VALUE


StringKey


StringValue
END OF DATA VALUE
END OF GAMEOBJECT




2
Int16
Number of custom data sections
PER EACH CUSTOM DATA SECTION


StringKey


Int16Length of byte array


Byte[]Data contents
END OF CUSTOM DATA SECTION




Version 12:


Byte Pos
Length
Type
Description
0
1
Byte
File format number
11ByteChunk size (16 or 32 as of Voxel Play 6.0)
1
4
Float
Position x of the character controller
5
4
Float
Position y of the character controller
9
4
Float
Position z of the character controller
13
4
Float
Character controller’s transform.eulerAngles.x
17
4
Float
Character controller’s transform.eulerAngles.y
21
4
Float
Character controller’s transform.eulerAngles.z
25
4
Float
Camera’s transform.eulerAngles.x
29
4
Float
Camera’s transform.eulerAngles.y
33
4
Float
Camera’s transform.eulerAngles.z
37
2
Int16
Number of voxel definitions
39
VariableStrings
Names of each voxel definition (list)

2Int16Number of item definitions

VariableStringsNames of each item definition (list) - this includes the item definitions for torches
??
4
Int
Number of chunks
START OF CHUNK
 
4
Float
Position x of the chunk
 
4
Float
Position y of the chunk
 
4
Float
Position z of the chunk

1
Byte
If this chunk has some voxels above terrain surface (1) or not (0). Used for computing lightmap when neighbour chunks do not exist (yet). Above surface chunks assume Sun light from above. Chunks below surface won't receive Sun light from above if there's no chunk on top.
 
2
Int16
Number of words
FOR EACH VOXEL REPETITION ("WORD")...

2
Int16
Index of the voxel definition list
 
1
Byte
Voxel color (R) (0-255)
 
1
Byte
Voxel color (G) (0-255)
 
1
Byte
Voxel color (B) (0-255)
 
2
Int16
Start index of the voxel repetition
 
2
Int16
Repetitions
 
1
Byte
If voxel is of transparent type or 6-textures opaque type, a flags byte with info with water level and/or voxel texture rotation info. "0" otherwise
...END VOXEL REPETITION

2
Int16
Number of torches or light sources
FOR EACH LIGHT SOURCE...
 
2
Int16
Index of the voxel within the chunk where the light source is
 
4
Float
Normal.x (used to determine the face of the voxel where the light source is attached)
 
4
Float
Normal.y
 
4
Float
Normal.z

2Int16Index of the item definition for the torch in the header list
...END OF LIGHT SOURCE

2Int16Number of items in the chunk
FOR EACH ITEM

2Int16Index of the item definition in the header list

4FloatPosition x of the item

4FloatPosition y of the item

4FloatPosition z of the item

2Int16Quantity
END OF CHUNK

2Int16Number of saved gameobjects in the world
FOR EACH GAMEOBJECT...


StringPath for the prefab from a Resources folder (ie. "MyPrefabs/thisprefab" where MyPrefabs is a folder inside Resources folder)


StringName of the gameobject

4FloatPosition x

4FloatPosition y

4FloatPosition z

4FloatRotation angle x

4FloatRotation angle y

4FloatRotation angle z

4FloatScale x

4FloatScale y

4FloatScale z

2Int16Number of custom data values
PER EACH GAMEOBJECT DATA VALUE


StringKey


StringValue
END OF DATA VALUE
END OF GAMEOBJECT




2
Int16
Number of custom data sections
PER EACH CUSTOM DATA SECTION


StringKey


Int16Length of byte array


Byte[]Data contents
END OF CUSTOM DATA SECTION



Version 11:


Byte Pos
Length
Type
Description
0
1
Byte
File format number
11ByteChunk size (16 or 32 as of Voxel Play 6.0)
1
4
Float
Position x of the character controller
5
4
Float
Position y of the character controller
9
4
Float
Position z of the character controller
13
4
Float
Character controller’s transform.eulerAngles.x
17
4
Float
Character controller’s transform.eulerAngles.y
21
4
Float
Character controller’s transform.eulerAngles.z
25
4
Float
Camera’s transform.eulerAngles.x
29
4
Float
Camera’s transform.eulerAngles.y
33
4
Float
Camera’s transform.eulerAngles.z
37
2
Int16
Number of voxel definitions
39
VariableStrings
Names of each voxel definition (list)

2Int16Number of item definitions

VariableStringsNames of each item definition (list) - this includes the item definitions for torches
??
4
Int
Number of chunks
START OF CHUNK
 
4
Float
Position x of the chunk
 
4
Float
Position y of the chunk
 
4
Float
Position z of the chunk

1
Byte
If this chunk has some voxels above terrain surface (1) or not (0). Used for computing lightmap when neighbour chunks do not exist (yet). Above surface chunks assume Sun light from above. Chunks below surface won't receive Sun light from above if there's no chunk on top.
 
2
Int16
Number of words
FOR EACH VOXEL REPETITION ("WORD")...

2
Int16
Index of the voxel definition list
 
1
Byte
Voxel color (R) (0-255)
 
1
Byte
Voxel color (G) (0-255)
 
1
Byte
Voxel color (B) (0-255)
 
2
Int16
Start index of the voxel repetition
 
2
Int16
Repetitions
 
1
Byte
If voxel is of transparent type or 6-textures opaque type, a flags byte with info with water level and/or voxel texture rotation info. "0" otherwise

1ByteIf voxel is of custom type, a value of "1" informs that custom rotation angles follows. "0" otherwise

(4*3)
Float
Custom voxel rotations for X, Y and Z axis. Only if previous byte field = 1.
...END VOXEL REPETITION

2
Int16
Number of torches or light sources
FOR EACH LIGHT SOURCE...
 
2
Int16
Index of the voxel within the chunk where the light source is
 
4
Float
Normal.x (used to determine the face of the voxel where the light source is attached)
 
4
Float
Normal.y
 
4
Float
Normal.z

2Int16Index of the item definition for the torch in the header list
...END OF LIGHT SOURCE

2Int16Number of items in the chunk
FOR EACH ITEM

2Int16Index of the item definition in the header list

4FloatPosition x of the item

4FloatPosition y of the item

4FloatPosition z of the item

2Int16Quantity
END OF CHUNK

2Int16Number of saved gameobjects in the world
FOR EACH GAMEOBJECT...


StringPath for the prefab from a Resources folder (ie. "MyPrefabs/thisprefab" where MyPrefabs is a folder inside Resources folder)


StringName of the gameobject

4FloatPosition x

4FloatPosition y

4FloatPosition z

4FloatRotation angle x

4FloatRotation angle y

4FloatRotation angle z

4FloatScale x

4FloatScale y

4FloatScale z

2Int16Number of custom data values
PER EACH GAMEOBJECT DATA VALUE


StringKey


StringValue
END OF DATA VALUE
END OF GAMEOBJECT




2
Int16
Number of custom data sections
PER EACH CUSTOM DATA SECTION


StringKey


Int16Length of byte array


Byte[]Data contents
END OF CUSTOM DATA SECTION



Version 10.0:


Byte Pos
Length
Type
Description
0
1
Byte
File format number
11ByteChunk size (16 or 32 as of Voxel Play 6.0)
1
4
Float
Position x of the character controller
5
4
Float
Position y of the character controller
9
4
Float
Position z of the character controller
13
4
Float
Character controller’s transform.eulerAngles.x
17
4
Float
Character controller’s transform.eulerAngles.y
21
4
Float
Character controller’s transform.eulerAngles.z
25
4
Float
Camera’s transform.eulerAngles.x
29
4
Float
Camera’s transform.eulerAngles.y
33
4
Float
Camera’s transform.eulerAngles.z
37
2
Int16
Number of voxel definitions
39
VariableStrings
Names of each voxel definition (list)

2Int16Number of item definitions

VariableStringsNames of each item definition (list) - this includes the item definitions for torches
??
4
Int
Number of chunks
START OF CHUNK
 
4
Float
Position x of the chunk
 
4
Float
Position y of the chunk
 
4
Float
Position z of the chunk

1
Byte
If this chunk has some voxels above terrain surface (1) or not (0). Used for computing lightmap when neighbour chunks do not exist (yet). Above surface chunks assume Sun light from above. Chunks below surface won't receive Sun light from above if there's no chunk on top.
 
2
Int16
Number of words
FOR EACH VOXEL REPETITION ("WORD")...

2
Int16
Index of the voxel definition list
 
1
Byte
Voxel color (R) (0-255)
 
1
Byte
Voxel color (G) (0-255)
 
1
Byte
Voxel color (B) (0-255)
 
2
Int16
Start index of the voxel repetition
 
2
Int16
Repetitions
 
1
Byte
If voxel is of transparent type or 6-textures opaque type, a flags byte with info with water level and/or voxel texture rotation info. "0" otherwise

1ByteIf voxel is of custom type, a value of "1" informs that custom rotation angles follows. "0" otherwise

(4*3)
Float
Custom voxel rotations for X, Y and Z axis. Only if previous byte field = 1.
...END VOXEL REPETITION

2
Int16
Number of torches or light sources
FOR EACH LIGHT SOURCE...
 
2
Int16
Index of the voxel within the chunk where the light source is
 
4
Float
Normal.x (used to determine the face of the voxel where the light source is attached)
 
4
Float
Normal.y
 
4
Float
Normal.z

2Int16Index of the item definition for the torch in the header list
...END OF LIGHT SOURCE

2Int16Number of items in the chunk
FOR EACH ITEM

2Int16Index of the item definition in the header list

4FloatPosition x of the item

4FloatPosition y of the item

4FloatPosition z of the item

2Int16Quantity
END OF CHUNK

2Int16Number of saved gameobjects in the world
FOR EACH GAMEOBJECT...


StringPath for the prefab from a Resources folder (ie. "MyPrefabs/thisprefab" where MyPrefabs is a folder inside Resources folder)


StringName of the gameobject

4FloatPosition x

4FloatPosition y

4FloatPosition z

4FloatRotation angle x

4FloatRotation angle y

4FloatRotation angle z

4FloatScale x

4FloatScale y

4FloatScale z

2Int16Number of custom data values
PER EACH GAMEOBJECT DATA VALUE


StringKey


StringValue
END OF DATA VALUE
END OF GAMEOBJECT



Version 9.0:



Byte Pos
Length
Type
Description
0
1
Byte
File format number
1
4
Float
Position x of the character controller
5
4
Float
Position y of the character controller
9
4
Float
Position z of the character controller
13
4
Float
Character controller’s transform.eulerAngles.x
17
4
Float
Character controller’s transform.eulerAngles.y
21
4
Float
Character controller’s transform.eulerAngles.z
25
4
Float
Camera’s transform.eulerAngles.x
29
4
Float
Camera’s transform.eulerAngles.y
33
4
Float
Camera’s transform.eulerAngles.z
37
2
Int16
Number of voxel definitions
39
VariableStrings
Names of each voxel definition (list)

2Int16Number of item definitions

VariableStringsNames of each item definition (list) - this includes the item definitions for torches
??
4
Int
Number of chunks
START OF CHUNK
 
4
Float
Position x of the chunk
 
4
Float
Position y of the chunk
 
4
Float
Position z of the chunk

1
Byte
If this chunk has some voxels above terrain surface (1) or not (0). Used for computing lightmap when neighbour chunks do not exist (yet). Above surface chunks assume Sun light from above. Chunks below surface won't receive Sun light from above if there's no chunk on top.
 
2
Int16
Number of words
FOR EACH VOXEL REPETITION ("WORD")...

2
Int16
Index of the voxel definition list
 
1
Byte
Voxel color (R) (0-255)
 
1
Byte
Voxel color (G) (0-255)
 
1
Byte
Voxel color (B) (0-255)
 
2
Int16
Start index of the voxel repetition
 
2
Int16
Repetitions
 
1
Byte
If voxel is of transparent type or 6-textures opaque type, a flags byte with info with water level and/or voxel texture rotation info. "0" otherwise

1ByteIf voxel is of custom type, a value of "1" informs that custom rotation angles follows. "0" otherwise

(4*3)
Float
Custom voxel rotations for X, Y and Z axis. Only if previous byte field = 1.
...END VOXEL REPETITION

2
Int16
Number of torches or light sources
FOR EACH LIGHT SOURCE...
 
2
Int16
Index of the voxel within the chunk where the light source is
 
4
Float
Normal.x (used to determine the face of the voxel where the light source is attached)
 
4
Float
Normal.y
 
4
Float
Normal.z

2Int16Index of the item definition for the torch in the header list
...END OF LIGHT SOURCE

2Int16Number of items in the chunk
FOR EACH ITEM

2Int16Index of the item definition in the header list

4FloatPosition x of the item

4FloatPosition y of the item

4FloatPosition z of the item

2Int16Quantity
END OF CHUNK

2Int16Number of saved gameobjects in the world
FOR EACH GAMEOBJECT...


StringPath for the prefab from a Resources folder (ie. "MyPrefabs/thisprefab" where MyPrefabs is a folder inside Resources folder)


StringName of the gameobject

4FloatPosition x

4FloatPosition y

4FloatPosition z

4FloatRotation angle x

4FloatRotation angle y

4FloatRotation angle z

4FloatScale x

4FloatScale y

4FloatScale z

2Int16Number of custom data values
PER EACH GAMEOBJECT DATA VALUE


StringKey


StringValue
END OF DATA VALUE
END OF GAMEOBJECT




Version 8.0.



Byte Pos
Length
Type
Description
0
1
Byte
File format number
1
4
Float
Position x of the character controller
5
4
Float
Position y of the character controller
9
4
Float
Position z of the character controller
13
4
Float
Character controller’s transform.eulerAngles.x
17
4
Float
Character controller’s transform.eulerAngles.y
21
4
Float
Character controller’s transform.eulerAngles.z
25
4
Float
Camera’s transform.eulerAngles.x
29
4
Float
Camera’s transform.eulerAngles.y
33
4
Float
Camera’s transform.eulerAngles.z
37
2
Int16
Number of voxel definitions
39
VariableStrings
Names of each voxel definition (list)

2Int16Number of item definitions

VariableStringsNames of each item definition (list) - this includes the item definitions for torches
??
4
Int
Number of chunks
START OF CHUNK
 
4
Float
Position x of the chunk
 
4
Float
Position y of the chunk
 
4
Float
Position z of the chunk

1
Byte
If this chunk has some voxels above terrain surface (1) or not (0). Used for computing lightmap when neighbour chunks do not exist (yet). Above surface chunks assume Sun light from above. Chunks below surface won't receive Sun light from above if there's no chunk on top.
 
2
Int16
Number of words
FOR EACH VOXEL REPETITION ("WORD")...

2
Int16
Index of the voxel definition list
 
1
Byte
Voxel color (R) (0-255)
 
1
Byte
Voxel color (G) (0-255)
 
1
Byte
Voxel color (B) (0-255)
 
2
Int16
Start index of the voxel repetition
 
2
Int16
Repetitions
 
1
Byte
If voxel is of transparent type or 6-textures opaque type, a flags byte with info with water level and/or voxel texture rotation info. "0" otherwise

1ByteIf voxel is of custom type, a value of "1" informs that custom rotation angles follows. "0" otherwise

(4*3)
Float
Custom voxel rotations for X, Y and Z axis. Only if previous byte field = 1.
...END VOXEL REPETITION

2
Int16
Number of torches or light sources
FOR EACH LIGHT SOURCE...
 
2
Int16
Index of the voxel within the chunk where the light source is
 
4
Float
Normal.x (used to determine the face of the voxel where the light source is attached)
 
4
Float
Normal.y
 
4
Float
Normal.z

2Int16Index of the item definition for the torch in the header list
...END OF LIGHT SOURCE

2Int16Number of items in the chunk
FOR EACH ITEM

2Int16Index of the item definition in the header list

4FloatPosition x of the item

4FloatPosition y of the item

4FloatPosition z of the item

2Int16Quantity
END OF ITEM
END OF CHUNK



Format 7.0.


Byte Pos
Length
Type
Description
0
1
Byte
File format number
1
4
Float
Position x of the character controller
5
4
Float
Position y of the character controller
9
4
Float
Position z of the character controller
13
4
Float
Character controller’s transform.eulerAngles.x
17
4
Float
Character controller’s transform.eulerAngles.y
21
4
Float
Character controller’s transform.eulerAngles.z
25
4
Float
Camera’s transform.eulerAngles.x
29
4
Float
Camera’s transform.eulerAngles.y
33
4
Float
Camera’s transform.eulerAngles.z
37
2
Int16
Number of voxel definitions
39
VariableStrings
Names of each voxel definition (list)

2Int16Number of item definitions

VariableStringsNames of each item definition (list)
??
4
Int
Number of chunks
START OF CHUNK
 
4
Float
Position x of the chunk
 
4
Float
Position y of the chunk
 
4
Float
Position z of the chunk

1
Byte
If this chunk has some voxels above terrain surface (1) or not (0). Used for computing lightmap when neighbour chunks do not exist (yet). Above surface chunks assume Sun light from above. Chunks below surface won't receive Sun light from above if there's no chunk on top.
 
2
Int16
Number of words
FOR EACH VOXEL REPETITION ("WORD")...

2
Int16
Index of the voxel definition list
 
1
Byte
Voxel color (R) (0-255)
 
1
Byte
Voxel color (G) (0-255)
 
1
Byte
Voxel color (B) (0-255)
 
2
Int16
Start index of the voxel repetition
 
2
Int16
Repetitions
 
1
Byte
If voxel is of transparent type or 6-textures opaque type, a flags byte with info with water level and/or voxel texture rotation info. "0" otherwise

1ByteIf voxel is of custom type, a value of "1" informs that custom rotation angles follows. "0" otherwise

(4*3)
Float
Custom voxel rotations for X, Y and Z axis. Only if previous byte field = 1.
...END VOXEL REPETITION

2
Int16
Number of torches or light sources
FOR EACH LIGHT SOURCE...
 
2
Int16
Index of the voxel within the chunk where the light source is
 
4
Float
Normal.x (used to determine the face of the voxel where the light source is attached)
 
4
Float
Normal.y
 
4
Float
Normal.z
...END OF LIGHT SOURCE

2Int16Number of items in the chunk
FOR EACH ITEM

2Int16Index of the item definition in the header list

4FloatPosition x of the item

4FloatPosition y of the item

4FloatPosition z of the item

2Int16Quantity
END OF ITEM
END OF CHUNK




Previous versions:


Format 6.0.



Byte Pos
Length
Type
Description
0
1
Byte
Current file format (3)
1
4
Float
Position x of the character controller
5
4
Float
Position y of the character controller
9
4
Float
Position z of the character controller
13
4
Float
Character controller’s transform.eulerAngles.x
17
4
Float
Character controller’s transform.eulerAngles.y
21
4
Float
Character controller’s transform.eulerAngles.z
25
4
Float
Camera’s transform.eulerAngles.x
29
4
Float
Camera’s transform.eulerAngles.y
33
4
Float
Camera’s transform.eulerAngles.z
37
2
Int16
Number of voxel definitions
39
VariableStrings
Names of each voxel definition (list)

2Int16Number of item definitions

VariableStringsNames of each item definition (list)
??
4
Int
Number of chunks
START OF CHUNK
 
4
Float
Position x of the chunk
 
4
Float
Position y of the chunk
 
4
Float
Position z of the chunk

1
Byte
If this chunk has some voxels above terrain surface (1) or not (0). Used for computing lightmap when neighbour chunks do not exist (yet). Above surface chunks assume Sun light from above. Chunks below surface won't receive Sun light from above if there's no chunk on top.
 
2
Int16
Number of words
FOR EACH VOXEL REPETITION ("WORD")...

2
Int16
Index of the voxel definition list
 
1
Byte
Voxel color (R) (0-255)
 
1
Byte
Voxel color (G) (0-255)
 
1
Byte
Voxel color (B) (0-255)
 
2
Int16
Start index of the voxel repetition
 
2
Int16
Repetitions
 
1/0
Byte
If voxel is of transparent type or 6-textures opaque type, a flags byte with info with water level and/or voxel texture rotation info.
If voxel is of custom type, a value of "1" informs that custom rotation angles follows

4*3
Float
Custom voxel rotations for X, Y and Z axis
...END VOXEL REPETITION

2
Int16
Number of torches or light sources
FOR EACH LIGHT SOURCE...
 
2
Int16
Index of the voxel within the chunk where the light source is
 
4
Float
Normal.x (used to determine the face of the voxel where the light source is attached)
 
4
Float
Normal.y
 
4
Float
Normal.z
...END OF LIGHT SOURCE

2Int16Number of items in the chunk
FOR EACH ITEM

2Int16Index of the item definition in the header list

4FloatPosition x of the item

4FloatPosition y of the item

4FloatPosition z of the item

2Int16Quantity
END OF ITEM
END OF CHUNK




Format 5.0.



Byte Pos
Length
Type
Description
0
1
Byte
Current file format (3)
1
4
Float
Position x of the character controller
5
4
Float
Position y of the character controller
9
4
Float
Position z of the character controller
13
4
Float
Character controller’s transform.eulerAngles.x
17
4
Float
Character controller’s transform.eulerAngles.y
21
4
Float
Character controller’s transform.eulerAngles.z
25
4
Float
Camera’s transform.eulerAngles.x
29
4
Float
Camera’s transform.eulerAngles.y
33
4
Float
Camera’s transform.eulerAngles.z
37
2
Int16
Number of voxel definitions
39
???
Strings
Names of each voxel definition (list)
??
4
Int
Number of chunks
START OF CHUNK
 
4
Float
Position x of the chunk
 
4
Float
Position y of the chunk
 
4
Float
Position z of the chunk

1
Byte
If this chunk has some voxels above terrain surface (1) or not (0). Used for computing lightmap when neighbour chunks do not exist (yet). Above surface chunks assume Sun light from above. Chunks below surface won't receive Sun light from above if there's no chunk on top.
 
2
Int16
Number of words
FOR EACH VOXEL REPETITION ("WORD")...

2
Int16
Index of the voxel definition list
 
1
Byte
Voxel color (R) (0-255)
 
1
Byte
Voxel color (G) (0-255)
 
1
Byte
Voxel color (B) (0-255)
 
2
Int16
Start index of the voxel repetition
 
2
Int16
Repetitions
 
1/0
Byte
If voxel is of transparent type or 6-textures opaque type, a flags byte with info with water level and/or voxel texture rotation info.
If voxel is of custom type, a value of "1" informs that custom rotation angles follows

4*3
Float
Custom voxel rotations for X, Y and Z axis
...END VOXEL REPETITION

2
Int16
Number of torches or light sources
FOR EACH LIGHT SOURCE...
 
2
Int16
Index of the voxel within the chunk where the light source is
 
4
Float
Normal.x (used to determine the face of the voxel where the light source is attached)
 
4
Float
Normal.y
 
4
Float
Normal.z
...END OF LIGHT SOURCE
END OF CHUNK






Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select atleast one of the reasons

Feedback sent

We appreciate your effort and will try to fix the article