Property tree: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
m (Fixed wrong link to string datatype (https://forums.factorio.com/viewtopic.php?p=548580#p548580))
No edit summary
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Languages}}A PropertyTree (the Factorio class name) is a recursive variant format that holds a key <> value pair where the key may be empty and the value may be only one of the following types:
A PropertyTree (the Factorio class name) is a recursive variant format that holds a key <> value pair where the key may be empty and the value may be only one of the following types:


{| class="wikitable"
{| class="wikitable"
Line 37: Line 37:


=== String ===
=== String ===
1 [[Data_types#bool|bool]] if there is no string - otherwise, if there is a string:
1 [[Data_types#bool|bool]] if there is no string - then, if there is a string:


1 [[Data_types#Space optimized|Space optimized]] [[Data_types#unsigned int|unsigned int]] the size of the string
1 [[Data_types#Space optimized|Space optimized]] [[Data_types#unsigned int|unsigned int]] the size of the string
Line 51: Line 51:
For each element:
For each element:


1 [[Data_types#string|string]] the dictionary element name or it can be empty if loading a list
1 '''string''' (See string type above) the dictionary element name or it can be empty if loading a list


1 [[Property_tree]]
1 [[Property_tree]]


[[Category:Technical]]
[[Category:Technical]]

Latest revision as of 18:35, 31 July 2024

A PropertyTree (the Factorio class name) is a recursive variant format that holds a key <> value pair where the key may be empty and the value may be only one of the following types:

PropertyTreeType (unsigned byte)
Value Name
0 none
1 bool
2 number
3 string
4 list
5 dictionary

The file format

1 unsigned byte representing the PropertyTreeType.

1 bool the any-type flag (currently not important outside of Factorio internals; default value is false)

Property Tree Type

None

Nothing

Bool

1 bool

Number

1 double

String

1 bool if there is no string - then, if there is a string:

1 Space optimized unsigned int the size of the string

N byte the string contents

List

Identical to Dictionary

Dictionary

1 unsigned int the number of PropertyTree elements

For each element:

1 string (See string type above) the dictionary element name or it can be empty if loading a list

1 Property_tree