Property tree: Difference between revisions
Jump to navigation
Jump to search
Lovely santa (talk | contribs) 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: | ||
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 - | 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 | 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:
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