@etothepii/satisfactory-file-parser 3.3.1 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1107) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/GUIDE.md +11 -7
  3. package/README.md +4 -4
  4. package/build/index.d.ts +112 -102
  5. package/build/index.d.ts.map +1 -1
  6. package/build/index.js +42 -40
  7. package/build/index.js.map +1 -1
  8. package/build/parser/byte/binary-readable.interface.d.ts +1 -0
  9. package/build/parser/byte/binary-readable.interface.d.ts.map +1 -1
  10. package/build/parser/byte/binary-readable.interface.js.map +1 -1
  11. package/build/parser/byte/byte-reader.class.d.ts +1 -0
  12. package/build/parser/byte/byte-reader.class.d.ts.map +1 -1
  13. package/build/parser/byte/byte-reader.class.js +6 -2
  14. package/build/parser/byte/byte-reader.class.js.map +1 -1
  15. package/build/parser/byte/byte-writer.class.d.ts +1 -0
  16. package/build/parser/byte/byte-writer.class.d.ts.map +1 -1
  17. package/build/parser/byte/byte-writer.class.js +6 -0
  18. package/build/parser/byte/byte-writer.class.js.map +1 -1
  19. package/build/parser/context/context-reader.d.ts +1 -1
  20. package/build/parser/context/context-reader.d.ts.map +1 -1
  21. package/build/parser/context/context-reader.js.map +1 -1
  22. package/build/parser/context/context-writer.d.ts +1 -1
  23. package/build/parser/context/context-writer.d.ts.map +1 -1
  24. package/build/parser/context/context-writer.js.map +1 -1
  25. package/build/parser/context/hierarchical-version-context.d.ts +11 -0
  26. package/build/parser/context/hierarchical-version-context.d.ts.map +1 -0
  27. package/build/parser/context/hierarchical-version-context.js +24 -0
  28. package/build/parser/context/hierarchical-version-context.js.map +1 -0
  29. package/build/parser/context/{context.d.ts → reader-writer-context.d.ts} +5 -3
  30. package/build/parser/context/reader-writer-context.d.ts.map +1 -0
  31. package/build/parser/context/{context.js → reader-writer-context.js} +1 -1
  32. package/build/parser/context/reader-writer-context.js.map +1 -0
  33. package/build/parser/parser.d.ts.map +1 -1
  34. package/build/parser/parser.js +29 -15
  35. package/build/parser/parser.js.map +1 -1
  36. package/build/parser/satisfactory/blueprint/blueprint-config-version.d.ts +4 -2
  37. package/build/parser/satisfactory/blueprint/blueprint-config-version.d.ts.map +1 -1
  38. package/build/parser/satisfactory/blueprint/blueprint-config-version.js +4 -2
  39. package/build/parser/satisfactory/blueprint/blueprint-config-version.js.map +1 -1
  40. package/build/parser/satisfactory/blueprint/blueprint-config.d.ts +4 -5
  41. package/build/parser/satisfactory/blueprint/blueprint-config.d.ts.map +1 -1
  42. package/build/parser/satisfactory/blueprint/blueprint-config.js +16 -14
  43. package/build/parser/satisfactory/blueprint/blueprint-config.js.map +1 -1
  44. package/build/parser/satisfactory/blueprint/blueprint-header.d.ts +2 -0
  45. package/build/parser/satisfactory/blueprint/blueprint-header.d.ts.map +1 -1
  46. package/build/parser/satisfactory/blueprint/blueprint-header.js +18 -2
  47. package/build/parser/satisfactory/blueprint/blueprint-header.js.map +1 -1
  48. package/build/parser/satisfactory/blueprint/blueprint-reader.d.ts.map +1 -1
  49. package/build/parser/satisfactory/blueprint/blueprint-reader.js +6 -2
  50. package/build/parser/satisfactory/blueprint/blueprint-reader.js.map +1 -1
  51. package/build/parser/satisfactory/blueprint/blueprint-writer.d.ts.map +1 -1
  52. package/build/parser/satisfactory/blueprint/blueprint-writer.js +5 -2
  53. package/build/parser/satisfactory/blueprint/blueprint-writer.js.map +1 -1
  54. package/build/parser/satisfactory/save/data-blob.d.ts +17 -0
  55. package/build/parser/satisfactory/save/data-blob.d.ts.map +1 -0
  56. package/build/parser/satisfactory/save/data-blob.js +137 -0
  57. package/build/parser/satisfactory/save/data-blob.js.map +1 -0
  58. package/build/parser/satisfactory/save/level.d.ts +5 -10
  59. package/build/parser/satisfactory/save/level.d.ts.map +1 -1
  60. package/build/parser/satisfactory/save/level.js +52 -180
  61. package/build/parser/satisfactory/save/level.js.map +1 -1
  62. package/build/parser/satisfactory/save/satisfactory-save-header.d.ts.map +1 -1
  63. package/build/parser/satisfactory/save/satisfactory-save-header.js +5 -3
  64. package/build/parser/satisfactory/save/satisfactory-save-header.js.map +1 -1
  65. package/build/parser/satisfactory/save/satisfactory-save.d.ts +3 -1
  66. package/build/parser/satisfactory/save/satisfactory-save.d.ts.map +1 -1
  67. package/build/parser/satisfactory/save/satisfactory-save.js.map +1 -1
  68. package/build/parser/satisfactory/save/save-body-chunks.js +2 -2
  69. package/build/parser/satisfactory/save/save-body-chunks.js.map +1 -1
  70. package/build/parser/satisfactory/save/save-custom-version.d.ts +8 -2
  71. package/build/parser/satisfactory/save/save-custom-version.d.ts.map +1 -1
  72. package/build/parser/satisfactory/save/save-custom-version.js +8 -2
  73. package/build/parser/satisfactory/save/save-custom-version.js.map +1 -1
  74. package/build/parser/satisfactory/save/save-reader.d.ts +2 -2
  75. package/build/parser/satisfactory/save/save-reader.d.ts.map +1 -1
  76. package/build/parser/satisfactory/save/save-reader.js +16 -13
  77. package/build/parser/satisfactory/save/save-reader.js.map +1 -1
  78. package/build/parser/satisfactory/save/save-writer.d.ts.map +1 -1
  79. package/build/parser/satisfactory/save/save-writer.js +4 -1
  80. package/build/parser/satisfactory/save/save-writer.js.map +1 -1
  81. package/build/parser/satisfactory/save/save.types.d.ts +1 -1
  82. package/build/parser/satisfactory/save/save.types.d.ts.map +1 -1
  83. package/build/parser/satisfactory/save/save.types.js.map +1 -1
  84. package/build/parser/satisfactory/save/toc-blob.d.ts +18 -0
  85. package/build/parser/satisfactory/save/toc-blob.d.ts.map +1 -0
  86. package/build/parser/satisfactory/save/toc-blob.js +97 -0
  87. package/build/parser/satisfactory/save/toc-blob.js.map +1 -0
  88. package/build/parser/satisfactory/types/objects/SaveComponent.js +1 -1
  89. package/build/parser/satisfactory/types/objects/SaveComponent.js.map +1 -1
  90. package/build/parser/satisfactory/types/objects/SaveEntity.js +1 -1
  91. package/build/parser/satisfactory/types/objects/SaveEntity.js.map +1 -1
  92. package/build/parser/satisfactory/types/objects/SaveObject.d.ts +4 -0
  93. package/build/parser/satisfactory/types/objects/SaveObject.d.ts.map +1 -1
  94. package/build/parser/satisfactory/types/objects/SaveObject.js +19 -5
  95. package/build/parser/satisfactory/types/objects/SaveObject.js.map +1 -1
  96. package/build/parser/satisfactory/types/property/PropertiesList.d.ts +4 -4
  97. package/build/parser/satisfactory/types/property/PropertiesList.d.ts.map +1 -1
  98. package/build/parser/satisfactory/types/property/PropertiesList.js +73 -114
  99. package/build/parser/satisfactory/types/property/PropertiesList.js.map +1 -1
  100. package/build/parser/satisfactory/types/property/generic/AbstractBaseProperty.d.ts +9 -12
  101. package/build/parser/satisfactory/types/property/generic/AbstractBaseProperty.d.ts.map +1 -1
  102. package/build/parser/satisfactory/types/property/generic/AbstractBaseProperty.js +12 -7
  103. package/build/parser/satisfactory/types/property/generic/AbstractBaseProperty.js.map +1 -1
  104. package/build/parser/satisfactory/types/property/generic/BoolProperty.d.ts +10 -5
  105. package/build/parser/satisfactory/types/property/generic/BoolProperty.d.ts.map +1 -1
  106. package/build/parser/satisfactory/types/property/generic/BoolProperty.js +20 -23
  107. package/build/parser/satisfactory/types/property/generic/BoolProperty.js.map +1 -1
  108. package/build/parser/satisfactory/types/property/generic/ByteProperty.d.ts +7 -7
  109. package/build/parser/satisfactory/types/property/generic/ByteProperty.d.ts.map +1 -1
  110. package/build/parser/satisfactory/types/property/generic/ByteProperty.js +52 -35
  111. package/build/parser/satisfactory/types/property/generic/ByteProperty.js.map +1 -1
  112. package/build/parser/satisfactory/types/property/generic/DoubleProperty.d.ts +9 -5
  113. package/build/parser/satisfactory/types/property/generic/DoubleProperty.d.ts.map +1 -1
  114. package/build/parser/satisfactory/types/property/generic/DoubleProperty.js +15 -23
  115. package/build/parser/satisfactory/types/property/generic/DoubleProperty.js.map +1 -1
  116. package/build/parser/satisfactory/types/property/generic/EnumProperty.d.ts +10 -5
  117. package/build/parser/satisfactory/types/property/generic/EnumProperty.d.ts.map +1 -1
  118. package/build/parser/satisfactory/types/property/generic/EnumProperty.js +17 -23
  119. package/build/parser/satisfactory/types/property/generic/EnumProperty.js.map +1 -1
  120. package/build/parser/satisfactory/types/property/generic/FloatProperty.d.ts +9 -5
  121. package/build/parser/satisfactory/types/property/generic/FloatProperty.d.ts.map +1 -1
  122. package/build/parser/satisfactory/types/property/generic/FloatProperty.js +15 -23
  123. package/build/parser/satisfactory/types/property/generic/FloatProperty.js.map +1 -1
  124. package/build/parser/satisfactory/types/property/generic/Int64Property.d.ts +9 -5
  125. package/build/parser/satisfactory/types/property/generic/Int64Property.d.ts.map +1 -1
  126. package/build/parser/satisfactory/types/property/generic/Int64Property.js +15 -23
  127. package/build/parser/satisfactory/types/property/generic/Int64Property.js.map +1 -1
  128. package/build/parser/satisfactory/types/property/generic/Int8Property.d.ts +8 -4
  129. package/build/parser/satisfactory/types/property/generic/Int8Property.d.ts.map +1 -1
  130. package/build/parser/satisfactory/types/property/generic/Int8Property.js +11 -20
  131. package/build/parser/satisfactory/types/property/generic/Int8Property.js.map +1 -1
  132. package/build/parser/satisfactory/types/property/generic/IntProperty.d.ts +20 -0
  133. package/build/parser/satisfactory/types/property/generic/IntProperty.d.ts.map +1 -0
  134. package/build/parser/satisfactory/types/property/generic/IntProperty.js +25 -0
  135. package/build/parser/satisfactory/types/property/generic/IntProperty.js.map +1 -0
  136. package/build/parser/satisfactory/types/property/generic/InterfaceProperty.d.ts +21 -0
  137. package/build/parser/satisfactory/types/property/generic/InterfaceProperty.d.ts.map +1 -0
  138. package/build/parser/satisfactory/types/property/generic/InterfaceProperty.js +26 -0
  139. package/build/parser/satisfactory/types/property/generic/InterfaceProperty.js.map +1 -0
  140. package/build/parser/satisfactory/types/property/generic/NameProperty.d.ts +20 -0
  141. package/build/parser/satisfactory/types/property/generic/NameProperty.d.ts.map +1 -0
  142. package/build/parser/satisfactory/types/property/generic/NameProperty.js +25 -0
  143. package/build/parser/satisfactory/types/property/generic/NameProperty.js.map +1 -0
  144. package/build/parser/satisfactory/types/property/generic/ObjectProperty.d.ts +9 -5
  145. package/build/parser/satisfactory/types/property/generic/ObjectProperty.d.ts.map +1 -1
  146. package/build/parser/satisfactory/types/property/generic/ObjectProperty.js +15 -23
  147. package/build/parser/satisfactory/types/property/generic/ObjectProperty.js.map +1 -1
  148. package/build/parser/satisfactory/types/property/generic/SingleProperty.d.ts +20 -0
  149. package/build/parser/satisfactory/types/property/generic/SingleProperty.d.ts.map +1 -0
  150. package/build/parser/satisfactory/types/property/generic/SingleProperty.js +25 -0
  151. package/build/parser/satisfactory/types/property/generic/SingleProperty.js.map +1 -0
  152. package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.d.ts +9 -5
  153. package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.d.ts.map +1 -1
  154. package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.js +15 -23
  155. package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.js.map +1 -1
  156. package/build/parser/satisfactory/types/property/generic/StrProperty.d.ts +9 -5
  157. package/build/parser/satisfactory/types/property/generic/StrProperty.d.ts.map +1 -1
  158. package/build/parser/satisfactory/types/property/generic/StrProperty.js +15 -23
  159. package/build/parser/satisfactory/types/property/generic/StrProperty.js.map +1 -1
  160. package/build/parser/satisfactory/types/property/generic/TextProperty.d.ts +9 -5
  161. package/build/parser/satisfactory/types/property/generic/TextProperty.d.ts.map +1 -1
  162. package/build/parser/satisfactory/types/property/generic/TextProperty.js +38 -45
  163. package/build/parser/satisfactory/types/property/generic/TextProperty.js.map +1 -1
  164. package/build/parser/satisfactory/types/property/generic/Uint32Property.d.ts +9 -5
  165. package/build/parser/satisfactory/types/property/generic/Uint32Property.d.ts.map +1 -1
  166. package/build/parser/satisfactory/types/property/generic/Uint32Property.js +15 -23
  167. package/build/parser/satisfactory/types/property/generic/Uint32Property.js.map +1 -1
  168. package/build/parser/satisfactory/types/property/generic/Uint64Property.d.ts +9 -5
  169. package/build/parser/satisfactory/types/property/generic/Uint64Property.d.ts.map +1 -1
  170. package/build/parser/satisfactory/types/property/generic/Uint64Property.js +14 -22
  171. package/build/parser/satisfactory/types/property/generic/Uint64Property.js.map +1 -1
  172. package/build/parser/satisfactory/types/property/generic/Uint8Property.d.ts +9 -5
  173. package/build/parser/satisfactory/types/property/generic/Uint8Property.d.ts.map +1 -1
  174. package/build/parser/satisfactory/types/property/generic/Uint8Property.js +14 -22
  175. package/build/parser/satisfactory/types/property/generic/Uint8Property.js.map +1 -1
  176. package/build/parser/satisfactory/types/property/generic/containers/ArrayProperty.d.ts +15 -0
  177. package/build/parser/satisfactory/types/property/generic/containers/ArrayProperty.d.ts.map +1 -0
  178. package/build/parser/satisfactory/types/property/generic/containers/ArrayProperty.js +129 -0
  179. package/build/parser/satisfactory/types/property/generic/containers/ArrayProperty.js.map +1 -0
  180. package/build/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.d.ts +55 -0
  181. package/build/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.d.ts.map +1 -0
  182. package/build/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.js +24 -0
  183. package/build/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.js.map +1 -0
  184. package/build/parser/satisfactory/types/property/generic/containers/MapProperty.d.ts +20 -0
  185. package/build/parser/satisfactory/types/property/generic/containers/MapProperty.d.ts.map +1 -0
  186. package/build/parser/satisfactory/types/property/generic/{MapProperty.js → containers/MapProperty.js} +52 -61
  187. package/build/parser/satisfactory/types/property/generic/containers/MapProperty.js.map +1 -0
  188. package/build/parser/satisfactory/types/property/generic/containers/SetProperty.d.ts +14 -0
  189. package/build/parser/satisfactory/types/property/generic/containers/SetProperty.d.ts.map +1 -0
  190. package/build/parser/satisfactory/types/property/generic/containers/SetProperty.js +90 -0
  191. package/build/parser/satisfactory/types/property/generic/containers/SetProperty.js.map +1 -0
  192. package/build/parser/satisfactory/types/property/generic/containers/SetPropertySpecificTypes.d.ts +34 -0
  193. package/build/parser/satisfactory/types/property/generic/containers/SetPropertySpecificTypes.d.ts.map +1 -0
  194. package/build/parser/satisfactory/types/property/generic/containers/SetPropertySpecificTypes.js +17 -0
  195. package/build/parser/satisfactory/types/property/generic/containers/SetPropertySpecificTypes.js.map +1 -0
  196. package/build/parser/satisfactory/types/property/generic/containers/StructProperty.d.ts +59 -0
  197. package/build/parser/satisfactory/types/property/generic/containers/StructProperty.d.ts.map +1 -0
  198. package/build/parser/satisfactory/types/property/generic/{StructProperty.js → containers/StructProperty.js} +61 -84
  199. package/build/parser/satisfactory/types/property/generic/containers/StructProperty.js.map +1 -0
  200. package/build/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.d.ts +2 -0
  201. package/build/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.d.ts.map +1 -1
  202. package/build/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.js +14 -5
  203. package/build/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.js.map +1 -1
  204. package/build/parser/satisfactory/types/property/special/PlayerSpecialProperties.d.ts.map +1 -1
  205. package/build/parser/satisfactory/types/property/special/PlayerSpecialProperties.js.map +1 -1
  206. package/build/parser/satisfactory/types/property/special/PowerLineSpecialProperties.js +2 -2
  207. package/build/parser/satisfactory/types/property/special/PowerLineSpecialProperties.js.map +1 -1
  208. package/build/parser/satisfactory/types/property/special/runtime-buildable-instance-data-version.d.ts +4 -2
  209. package/build/parser/satisfactory/types/property/special/runtime-buildable-instance-data-version.d.ts.map +1 -1
  210. package/build/parser/satisfactory/types/property/special/runtime-buildable-instance-data-version.js +4 -2
  211. package/build/parser/satisfactory/types/property/special/runtime-buildable-instance-data-version.js.map +1 -1
  212. package/build/parser/satisfactory/types/structs/GUIDInfo.d.ts +4 -4
  213. package/build/parser/satisfactory/types/structs/GUIDInfo.d.ts.map +1 -1
  214. package/build/parser/satisfactory/types/structs/GUIDInfo.js +6 -6
  215. package/build/parser/satisfactory/types/structs/GUIDInfo.js.map +1 -1
  216. package/build/parser/satisfactory/types/structs/SaveBodyValidation.d.ts.map +1 -1
  217. package/build/parser/satisfactory/types/structs/SaveBodyValidation.js +0 -2
  218. package/build/parser/satisfactory/types/structs/SaveBodyValidation.js.map +1 -1
  219. package/build/parser/satisfactory/types/structs/SoftObjectReference.d.ts +1 -1
  220. package/build/parser/satisfactory/types/structs/SoftObjectReference.d.ts.map +1 -1
  221. package/build/parser/satisfactory/types/structs/SoftObjectReference.js +2 -2
  222. package/build/parser/satisfactory/types/structs/SoftObjectReference.js.map +1 -1
  223. package/build/parser/satisfactory/types/structs/binary/FCustomVersion.d.ts +12 -0
  224. package/build/parser/satisfactory/types/structs/binary/FCustomVersion.d.ts.map +1 -0
  225. package/build/parser/satisfactory/types/structs/binary/FCustomVersion.js +21 -0
  226. package/build/parser/satisfactory/types/structs/binary/FCustomVersion.js.map +1 -0
  227. package/build/parser/satisfactory/types/structs/binary/FCustomVersionContainer.d.ts +11 -0
  228. package/build/parser/satisfactory/types/structs/binary/FCustomVersionContainer.d.ts.map +1 -0
  229. package/build/parser/satisfactory/types/structs/binary/FCustomVersionContainer.js +22 -0
  230. package/build/parser/satisfactory/types/structs/binary/FCustomVersionContainer.js.map +1 -0
  231. package/build/parser/satisfactory/types/structs/binary/FEngineVersion.d.ts +14 -0
  232. package/build/parser/satisfactory/types/structs/binary/FEngineVersion.d.ts.map +1 -0
  233. package/build/parser/satisfactory/types/structs/binary/FEngineVersion.js +24 -0
  234. package/build/parser/satisfactory/types/structs/binary/FEngineVersion.js.map +1 -0
  235. package/build/parser/satisfactory/types/structs/binary/FLocalUserNetIdBundle.d.ts +12 -0
  236. package/build/parser/satisfactory/types/structs/binary/FLocalUserNetIdBundle.d.ts.map +1 -0
  237. package/build/parser/satisfactory/types/structs/binary/FLocalUserNetIdBundle.js +22 -0
  238. package/build/parser/satisfactory/types/structs/binary/FLocalUserNetIdBundle.js.map +1 -0
  239. package/build/parser/satisfactory/types/structs/binary/FPackageFileVersion.d.ts +11 -0
  240. package/build/parser/satisfactory/types/structs/binary/FPackageFileVersion.d.ts.map +1 -0
  241. package/build/parser/satisfactory/types/structs/binary/FPackageFileVersion.js +18 -0
  242. package/build/parser/satisfactory/types/structs/binary/FPackageFileVersion.js.map +1 -0
  243. package/build/parser/satisfactory/types/structs/binary/FPlayerInfoHandle.d.ts +11 -0
  244. package/build/parser/satisfactory/types/structs/binary/FPlayerInfoHandle.d.ts.map +1 -0
  245. package/build/parser/satisfactory/types/structs/binary/FPlayerInfoHandle.js +38 -0
  246. package/build/parser/satisfactory/types/structs/binary/FPlayerInfoHandle.js.map +1 -0
  247. package/build/parser/satisfactory/types/structs/binary/FPropertyTag.d.ts +30 -0
  248. package/build/parser/satisfactory/types/structs/binary/FPropertyTag.d.ts.map +1 -0
  249. package/build/parser/satisfactory/types/structs/binary/FPropertyTag.js +182 -0
  250. package/build/parser/satisfactory/types/structs/binary/FPropertyTag.js.map +1 -0
  251. package/build/parser/satisfactory/types/structs/binary/FPropertyTagNode.d.ts +11 -0
  252. package/build/parser/satisfactory/types/structs/binary/FPropertyTagNode.d.ts.map +1 -0
  253. package/build/parser/satisfactory/types/structs/binary/FPropertyTagNode.js +26 -0
  254. package/build/parser/satisfactory/types/structs/binary/FPropertyTagNode.js.map +1 -0
  255. package/build/parser/satisfactory/types/structs/binary/FSaveObjectVersionData.d.ts +17 -0
  256. package/build/parser/satisfactory/types/structs/binary/FSaveObjectVersionData.d.ts.map +1 -0
  257. package/build/parser/satisfactory/types/structs/binary/FSaveObjectVersionData.js +27 -0
  258. package/build/parser/satisfactory/types/structs/binary/FSaveObjectVersionData.js.map +1 -0
  259. package/build/parser/satisfactory/types/structs/binary/FUniqueNetIdRepl.d.ts +11 -0
  260. package/build/parser/satisfactory/types/structs/binary/FUniqueNetIdRepl.d.ts.map +1 -0
  261. package/build/parser/satisfactory/types/structs/binary/FUniqueNetIdRepl.js +21 -0
  262. package/build/parser/satisfactory/types/structs/binary/FUniqueNetIdRepl.js.map +1 -0
  263. package/build/parser/satisfactory/types/structs/binary/LBBalancerIndexing.d.ts +12 -0
  264. package/build/parser/satisfactory/types/structs/binary/LBBalancerIndexing.d.ts.map +1 -0
  265. package/build/parser/satisfactory/types/structs/binary/LBBalancerIndexing.js +22 -0
  266. package/build/parser/satisfactory/types/structs/binary/LBBalancerIndexing.js.map +1 -0
  267. package/build/parser/stream/reworked/readable-stream-parser.d.ts +2 -3
  268. package/build/parser/stream/reworked/readable-stream-parser.d.ts.map +1 -1
  269. package/build/parser/stream/reworked/readable-stream-parser.js +82 -44
  270. package/build/parser/stream/reworked/readable-stream-parser.js.map +1 -1
  271. package/build/parser/unreal-engine/ETextHistoryType.d.ts +17 -0
  272. package/build/parser/unreal-engine/ETextHistoryType.d.ts.map +1 -0
  273. package/build/parser/unreal-engine/ETextHistoryType.js +21 -0
  274. package/build/parser/unreal-engine/ETextHistoryType.js.map +1 -0
  275. package/build/parser/unreal-engine/EUnrealEngineObjectUE5Version.d.ts +24 -0
  276. package/build/parser/unreal-engine/EUnrealEngineObjectUE5Version.d.ts.map +1 -0
  277. package/build/parser/unreal-engine/EUnrealEngineObjectUE5Version.js +29 -0
  278. package/build/parser/unreal-engine/EUnrealEngineObjectUE5Version.js.map +1 -0
  279. package/docs/assets/hierarchy.js +1 -0
  280. package/docs/assets/icons.js +1 -1
  281. package/docs/assets/icons.svg +1 -1
  282. package/docs/assets/main.js +5 -5
  283. package/docs/assets/navigation.js +1 -1
  284. package/docs/assets/search.js +1 -1
  285. package/docs/assets/style.css +1428 -1288
  286. package/docs/classes/BlueprintConfigReader.html +37 -36
  287. package/docs/classes/BlueprintConfigWriter.html +42 -0
  288. package/docs/classes/BlueprintReader.html +39 -38
  289. package/docs/classes/BlueprintWriter.html +45 -0
  290. package/docs/classes/ByteReader.html +37 -0
  291. package/docs/classes/ByteWriter.html +41 -0
  292. package/docs/classes/CompressionLibraryError.html +11 -11
  293. package/docs/classes/ContextReader.html +36 -35
  294. package/docs/classes/ContextWriter.html +41 -40
  295. package/docs/classes/CorruptBlueprintError.html +11 -11
  296. package/docs/classes/CorruptSaveError.html +11 -11
  297. package/docs/classes/Parser.html +23 -23
  298. package/docs/classes/ParserError.html +11 -11
  299. package/docs/classes/ReadableStreamParser.html +7 -7
  300. package/docs/classes/SatisfactorySave.html +9 -8
  301. package/docs/classes/SaveComponent.html +20 -18
  302. package/docs/classes/SaveEntity.html +25 -23
  303. package/docs/classes/SaveObject.html +17 -15
  304. package/docs/classes/SaveReader.html +46 -45
  305. package/docs/classes/SaveWriter.html +44 -43
  306. package/docs/classes/TimeoutError.html +11 -11
  307. package/docs/classes/UnimplementedError.html +11 -11
  308. package/docs/classes/UnsupportedVersionError.html +11 -11
  309. package/docs/enums/Alignment.html +3 -3
  310. package/docs/enums/BlueprintConfigVersion.html +11 -9
  311. package/docs/enums/BlueprintHeaderVersion.html +7 -7
  312. package/docs/enums/CompressionAlgorithmCode.html +2 -2
  313. package/docs/enums/ETextHistoryType.html +15 -0
  314. package/docs/enums/EUnrealEngineObjectUE5Version.html +23 -0
  315. package/docs/enums/FactoryGameCustomVersion.html +33 -33
  316. package/docs/enums/RuntimeBuildableInstanceDataVersion.html +9 -7
  317. package/docs/enums/SaveCustomVersion.html +71 -65
  318. package/docs/enums/SaveHeaderType.html +19 -19
  319. package/docs/functions/AbstractBaseProperty.CreateFromTag.html +2 -0
  320. package/docs/functions/ArrayProperty.Parse.html +1 -1
  321. package/docs/functions/ArrayProperty.Serialize.html +1 -1
  322. package/docs/functions/BlueprintConfig.Parse.html +1 -1
  323. package/docs/functions/BlueprintConfig.Serialize.html +1 -1
  324. package/docs/functions/BlueprintHeader.Parse.html +1 -1
  325. package/docs/functions/BlueprintHeader.Serialize.html +1 -1
  326. package/docs/functions/BoolProperty.Parse.html +1 -1
  327. package/docs/functions/BoolProperty.ReadValue.html +1 -1
  328. package/docs/functions/BoolProperty.Serialize.html +1 -1
  329. package/docs/functions/BoolProperty.SerializeValue.html +1 -1
  330. package/docs/functions/BuildableSubsystemSpecialProperties.Parse.html +1 -1
  331. package/docs/functions/BuildableSubsystemSpecialProperties.Serialize.html +1 -1
  332. package/docs/functions/BuildableTypeInstance.Parse.html +1 -1
  333. package/docs/functions/BuildableTypeInstance.Serialize.html +1 -1
  334. package/docs/functions/ByteProperty.Parse.html +1 -1
  335. package/docs/functions/ByteProperty.ReadValue.html +1 -1
  336. package/docs/functions/ByteProperty.Serialize.html +1 -1
  337. package/docs/functions/ByteProperty.SerializeValue.html +1 -1
  338. package/docs/functions/CircuitSpecialProperties.Parse.html +1 -1
  339. package/docs/functions/CircuitSpecialProperties.Serialize.html +1 -1
  340. package/docs/functions/ConveyorChainActorSpecialProperties.Parse.html +1 -1
  341. package/docs/functions/ConveyorChainActorSpecialProperties.Serialize.html +1 -1
  342. package/docs/functions/ConveyorSpecialProperties.Parse.html +1 -1
  343. package/docs/functions/ConveyorSpecialProperties.Serialize.html +1 -1
  344. package/docs/functions/DataBlob.Read.html +1 -0
  345. package/docs/functions/DataBlob.ReadNObjectContents.html +1 -0
  346. package/docs/functions/DataBlob.SkipOver.html +1 -0
  347. package/docs/functions/DataBlob.Write.html +1 -0
  348. package/docs/functions/DoubleProperty.Parse.html +1 -1
  349. package/docs/functions/DoubleProperty.ReadValue.html +1 -1
  350. package/docs/functions/DoubleProperty.Serialize.html +1 -1
  351. package/docs/functions/DoubleProperty.SerializeValue.html +1 -1
  352. package/docs/functions/DynamicStructPropertyValue.read.html +1 -1
  353. package/docs/functions/DynamicStructPropertyValue.write.html +1 -1
  354. package/docs/functions/EmptySpecialProperties.Parse.html +1 -1
  355. package/docs/functions/EmptySpecialProperties.Serialize.html +1 -1
  356. package/docs/functions/EnumProperty.Parse.html +1 -1
  357. package/docs/functions/EnumProperty.ReadValue.html +1 -1
  358. package/docs/functions/EnumProperty.Serialize.html +1 -1
  359. package/docs/functions/EnumProperty.SerializeValue.html +1 -1
  360. package/docs/functions/FClientIdentityInfo.read.html +1 -1
  361. package/docs/functions/FClientIdentityInfo.write.html +1 -1
  362. package/docs/functions/FColor.read.html +1 -1
  363. package/docs/functions/FColor.write.html +1 -1
  364. package/docs/functions/FCustomVersion.read.html +1 -0
  365. package/docs/functions/FCustomVersion.write.html +1 -0
  366. package/docs/functions/FCustomVersionContainer.read.html +1 -0
  367. package/docs/functions/FCustomVersionContainer.write.html +1 -0
  368. package/docs/functions/FEngineVersion.read.html +1 -0
  369. package/docs/functions/FEngineVersion.write.html +1 -0
  370. package/docs/functions/FGDynamicStruct.Parse.html +1 -1
  371. package/docs/functions/FGDynamicStruct.Serialize.html +1 -1
  372. package/docs/functions/FICFrameRange.read.html +1 -1
  373. package/docs/functions/FICFrameRange.write.html +1 -1
  374. package/docs/functions/FINGPUT1BufferPixel.read.html +1 -1
  375. package/docs/functions/FINGPUT1BufferPixel.write.html +1 -1
  376. package/docs/functions/FINItemStateFileSystem.IsFINItemStateFileSystem.html +1 -1
  377. package/docs/functions/FINItemStateFileSystem.read.html +1 -1
  378. package/docs/functions/FINItemStateFileSystem.write.html +1 -1
  379. package/docs/functions/FINLuaRuntimePersistenceState.read.html +1 -0
  380. package/docs/functions/FINLuaRuntimePersistenceState.write.html +1 -0
  381. package/docs/functions/FINNetworkTrace.read.html +1 -1
  382. package/docs/functions/FINNetworkTrace.write.html +1 -1
  383. package/docs/functions/FLBBalancerIndexing.read.html +1 -1
  384. package/docs/functions/FLBBalancerIndexing.write.html +1 -1
  385. package/docs/functions/FLinearColor.read.html +1 -1
  386. package/docs/functions/FLinearColor.write.html +1 -1
  387. package/docs/functions/FLocalUserNetIdBundle.read.html +1 -0
  388. package/docs/functions/FLocalUserNetIdBundle.write.html +1 -0
  389. package/docs/functions/FPackageFileVersion.read.html +1 -0
  390. package/docs/functions/FPackageFileVersion.write.html +1 -0
  391. package/docs/functions/FPlayerInfoHandle.read.html +1 -0
  392. package/docs/functions/FPlayerInfoHandle.write.html +1 -0
  393. package/docs/functions/FPropertyTag.IsCompletePropertyTagType.html +1 -0
  394. package/docs/functions/FPropertyTag.read.html +2 -0
  395. package/docs/functions/FPropertyTag.write.html +1 -0
  396. package/docs/functions/FPropertyTag.writeFromProperty.html +2 -0
  397. package/docs/functions/FPropertyTagNode.read.html +1 -0
  398. package/docs/functions/FPropertyTagNode.write.html +1 -0
  399. package/docs/functions/FSaveObjectVersionData.read.html +1 -0
  400. package/docs/functions/FSaveObjectVersionData.write.html +1 -0
  401. package/docs/functions/FUniqueNetIdRepl.read.html +1 -0
  402. package/docs/functions/FUniqueNetIdRepl.write.html +1 -0
  403. package/docs/functions/FloatProperty.Parse.html +1 -1
  404. package/docs/functions/FloatProperty.ReadValue.html +1 -1
  405. package/docs/functions/FloatProperty.Serialize.html +1 -1
  406. package/docs/functions/FloatProperty.SerializeValue.html +1 -1
  407. package/docs/functions/GUID.read.html +1 -1
  408. package/docs/functions/GUID.write.html +1 -1
  409. package/docs/functions/HierarchyVersion.CreateOnHeader.html +1 -0
  410. package/docs/functions/HierarchyVersion.SetOnLevel.html +1 -0
  411. package/docs/functions/HierarchyVersion.SetOnObject.html +1 -0
  412. package/docs/functions/Int64Property.Parse.html +1 -1
  413. package/docs/functions/Int64Property.ReadValue.html +1 -1
  414. package/docs/functions/Int64Property.Serialize.html +1 -1
  415. package/docs/functions/Int64Property.SerializeValue.html +1 -1
  416. package/docs/functions/Int8Property.Parse.html +1 -1
  417. package/docs/functions/Int8Property.ReadValue.html +1 -1
  418. package/docs/functions/Int8Property.Serialize.html +1 -1
  419. package/docs/functions/Int8Property.SerializeValue.html +1 -1
  420. package/docs/functions/IntProperty.Parse.html +1 -0
  421. package/docs/functions/IntProperty.ReadValue.html +1 -0
  422. package/docs/functions/IntProperty.Serialize.html +1 -0
  423. package/docs/functions/IntProperty.SerializeValue.html +1 -0
  424. package/docs/functions/InterfaceProperty.Parse.html +1 -0
  425. package/docs/functions/InterfaceProperty.ReadValue.html +1 -0
  426. package/docs/functions/InterfaceProperty.Serialize.html +1 -0
  427. package/docs/functions/InterfaceProperty.SerializeValue.html +1 -0
  428. package/docs/functions/LBBalancerIndexing.read.html +1 -0
  429. package/docs/functions/LBBalancerIndexing.write.html +1 -0
  430. package/docs/functions/Level.Read.html +1 -0
  431. package/docs/functions/Level.Serialize.html +1 -0
  432. package/docs/functions/LevelToDestroyedActorsMap.read.html +1 -1
  433. package/docs/functions/LevelToDestroyedActorsMap.write.html +1 -1
  434. package/docs/functions/MD5Hash.read.html +1 -1
  435. package/docs/functions/MD5Hash.write.html +1 -1
  436. package/docs/functions/MapProperty.Parse.html +1 -1
  437. package/docs/functions/MapProperty.Serialize.html +1 -1
  438. package/docs/functions/NameProperty.Parse.html +1 -0
  439. package/docs/functions/NameProperty.ReadValue.html +1 -0
  440. package/docs/functions/NameProperty.Serialize.html +1 -0
  441. package/docs/functions/NameProperty.SerializeValue.html +1 -0
  442. package/docs/functions/ObjectProperty.Parse.html +1 -1
  443. package/docs/functions/ObjectProperty.ReadValue.html +1 -1
  444. package/docs/functions/ObjectProperty.Serialize.html +1 -1
  445. package/docs/functions/ObjectProperty.SerializeValue.html +1 -1
  446. package/docs/functions/ObjectReference.IsEqual.html +1 -1
  447. package/docs/functions/ObjectReference.read.html +1 -1
  448. package/docs/functions/ObjectReference.write.html +1 -1
  449. package/docs/functions/ObjectReferencesList.ReadList.html +1 -0
  450. package/docs/functions/ObjectReferencesList.SerializeList.html +1 -0
  451. package/docs/functions/ObjectsListSpecialProperties.Parse.html +1 -1
  452. package/docs/functions/ObjectsListSpecialProperties.Serialize.html +1 -1
  453. package/docs/functions/OptionalGUID.read.html +1 -0
  454. package/docs/functions/OptionalGUID.write.html +1 -0
  455. package/docs/functions/PlayerSpecialProperties.Parse.html +1 -1
  456. package/docs/functions/PlayerSpecialProperties.Serialize.html +1 -1
  457. package/docs/functions/PowerLineSpecialProperties.Parse.html +1 -1
  458. package/docs/functions/PowerLineSpecialProperties.Serialize.html +1 -1
  459. package/docs/functions/PropertiesList.ParseList.html +1 -1
  460. package/docs/functions/PropertiesList.ParseSingleProperty.html +1 -1
  461. package/docs/functions/PropertiesList.SerializeList.html +1 -1
  462. package/docs/functions/PropertiesList.SerializeSingleProperty.html +1 -1
  463. package/docs/functions/SatisfactorySaveHeader.Parse.html +1 -1
  464. package/docs/functions/SatisfactorySaveHeader.Serialize.html +1 -1
  465. package/docs/functions/SaveBodyChunks.CompressDataIntoChunks.html +1 -1
  466. package/docs/functions/SaveBodyChunks.DecompressChunks.html +1 -1
  467. package/docs/functions/SaveBodyValidation.Parse.html +1 -1
  468. package/docs/functions/SaveBodyValidation.Serialize.html +1 -1
  469. package/docs/functions/SetProperty.Parse.html +1 -1
  470. package/docs/functions/SetProperty.Serialize.html +1 -1
  471. package/docs/functions/SingleProperty.Parse.html +1 -0
  472. package/docs/functions/SingleProperty.ReadValue.html +1 -0
  473. package/docs/functions/SingleProperty.Serialize.html +1 -0
  474. package/docs/functions/SingleProperty.SerializeValue.html +1 -0
  475. package/docs/functions/SoftObjectProperty.Parse.html +1 -1
  476. package/docs/functions/SoftObjectProperty.ReadValue.html +1 -1
  477. package/docs/functions/SoftObjectProperty.Serialize.html +1 -1
  478. package/docs/functions/SoftObjectProperty.SerializeValue.html +1 -1
  479. package/docs/functions/SoftObjectReference.read.html +1 -1
  480. package/docs/functions/SoftObjectReference.write.html +1 -1
  481. package/docs/functions/SpecialDroneActionProperties.Parse.html +1 -1
  482. package/docs/functions/SpecialDroneActionProperties.Serialize.html +1 -1
  483. package/docs/functions/SpecialProperties.ParseClassSpecificSpecialProperties.html +1 -1
  484. package/docs/functions/SpecialProperties.SerializeClassSpecificSpecialProperties.html +1 -1
  485. package/docs/functions/StrProperty.Parse.html +1 -1
  486. package/docs/functions/StrProperty.ReadValue.html +1 -1
  487. package/docs/functions/StrProperty.Serialize.html +1 -1
  488. package/docs/functions/StrProperty.SerializeValue.html +1 -1
  489. package/docs/functions/StructProperty.Parse.html +1 -1
  490. package/docs/functions/StructProperty.ParseValue.html +1 -1
  491. package/docs/functions/StructProperty.Serialize.html +1 -1
  492. package/docs/functions/StructProperty.SerializeValue.html +1 -1
  493. package/docs/functions/TOCBlob.Read.html +1 -0
  494. package/docs/functions/TOCBlob.ReadNObjectHeaders.html +1 -0
  495. package/docs/functions/TOCBlob.SerializeAllObjectHeaders.html +1 -0
  496. package/docs/functions/TOCBlob.SkipOver.html +1 -0
  497. package/docs/functions/TOCBlob.Write.html +1 -0
  498. package/docs/functions/TextProperty.Parse.html +1 -1
  499. package/docs/functions/TextProperty.ReadValue.html +1 -1
  500. package/docs/functions/TextProperty.Serialize.html +1 -1
  501. package/docs/functions/TextProperty.SerializeValue.html +1 -1
  502. package/docs/functions/Transform.Parse.html +1 -1
  503. package/docs/functions/Transform.ParseF.html +1 -1
  504. package/docs/functions/Transform.Serialize.html +1 -1
  505. package/docs/functions/Transform.SerializeF.html +1 -1
  506. package/docs/functions/Uint32Property.Parse.html +1 -1
  507. package/docs/functions/Uint32Property.ReadValue.html +1 -1
  508. package/docs/functions/Uint32Property.Serialize.html +1 -1
  509. package/docs/functions/Uint32Property.SerializeValue.html +1 -1
  510. package/docs/functions/Uint64Property.Parse.html +1 -1
  511. package/docs/functions/Uint64Property.ReadValue.html +1 -1
  512. package/docs/functions/Uint64Property.Serialize.html +1 -1
  513. package/docs/functions/Uint64Property.SerializeValue.html +1 -1
  514. package/docs/functions/Uint8Property.Parse.html +1 -1
  515. package/docs/functions/Uint8Property.ReadValue.html +1 -1
  516. package/docs/functions/Uint8Property.Serialize.html +1 -1
  517. package/docs/functions/Uint8Property.SerializeValue.html +1 -1
  518. package/docs/functions/VehiclePhysicsData.Parse.html +1 -1
  519. package/docs/functions/VehiclePhysicsData.Serialize.html +1 -1
  520. package/docs/functions/VehicleSpecialProperties.Parse.html +1 -1
  521. package/docs/functions/VehicleSpecialProperties.Serialize.html +1 -1
  522. package/docs/functions/col4.ParseBGRA.html +1 -1
  523. package/docs/functions/col4.ParseRGBA.html +1 -1
  524. package/docs/functions/col4.SerializeBGRA.html +1 -1
  525. package/docs/functions/col4.SerializeRGBA.html +1 -1
  526. package/docs/functions/isArrayProperty.html +1 -1
  527. package/docs/functions/isBoolProperty.html +1 -1
  528. package/docs/functions/isBuildableSubsystemSpecialProperties.html +1 -1
  529. package/docs/functions/isByteProperty.html +1 -1
  530. package/docs/functions/isCircuitSpecialProperties.html +1 -1
  531. package/docs/functions/isConveyorChainActorSpecialProperties.html +1 -1
  532. package/docs/functions/isConveyorSpecialProperties.html +1 -1
  533. package/docs/functions/isDoubleProperty.html +1 -1
  534. package/docs/functions/isEmptySpecialProperties.html +1 -1
  535. package/docs/functions/isEnumProperty.html +1 -1
  536. package/docs/functions/isFloatProperty.html +1 -1
  537. package/docs/functions/isInt64Property.html +1 -1
  538. package/docs/functions/isInt8Property.html +1 -1
  539. package/docs/functions/isIntProperty.html +1 -0
  540. package/docs/functions/isInterfaceProperty.html +1 -0
  541. package/docs/functions/isMapProperty.html +1 -1
  542. package/docs/functions/isNameProperty.html +1 -0
  543. package/docs/functions/isObjectProperty.html +1 -1
  544. package/docs/functions/isObjectsListSpecialProperties.html +1 -1
  545. package/docs/functions/isPlayerSpecialProperties.html +1 -1
  546. package/docs/functions/isPowerLineSpecialProperties.html +1 -1
  547. package/docs/functions/isSaveComponent.html +1 -1
  548. package/docs/functions/isSaveEntity.html +1 -1
  549. package/docs/functions/isSetProperty.html +1 -1
  550. package/docs/functions/isSingleProperty.html +1 -0
  551. package/docs/functions/isSoftObjectProperty.html +1 -1
  552. package/docs/functions/isSpecialDroneActionProperties.html +1 -1
  553. package/docs/functions/isStrProperty.html +1 -1
  554. package/docs/functions/isStructProperty.html +1 -1
  555. package/docs/functions/isTextProperty.html +1 -1
  556. package/docs/functions/isUInt64Property.html +1 -1
  557. package/docs/functions/isUint32Property.html +1 -1
  558. package/docs/functions/isUint8Property.html +1 -1
  559. package/docs/functions/isVehicleSpecialProperties.html +1 -1
  560. package/docs/functions/vec2.Parse.html +1 -1
  561. package/docs/functions/vec2.ParseF.html +1 -1
  562. package/docs/functions/vec2.Serialize.html +1 -1
  563. package/docs/functions/vec2.SerializeF.html +1 -1
  564. package/docs/functions/vec3.Parse.html +1 -1
  565. package/docs/functions/vec3.ParseF.html +1 -1
  566. package/docs/functions/vec3.ParseInt.html +1 -1
  567. package/docs/functions/vec3.Serialize.html +1 -1
  568. package/docs/functions/vec3.SerializeF.html +1 -1
  569. package/docs/functions/vec3.SerializeInt.html +1 -1
  570. package/docs/functions/vec3.add.html +1 -1
  571. package/docs/functions/vec3.length.html +1 -1
  572. package/docs/functions/vec3.mult.html +1 -1
  573. package/docs/functions/vec3.norm.html +1 -1
  574. package/docs/functions/vec3.sub.html +1 -1
  575. package/docs/functions/vec4.Parse.html +1 -1
  576. package/docs/functions/vec4.ParseF.html +1 -1
  577. package/docs/functions/vec4.Serialize.html +1 -1
  578. package/docs/functions/vec4.SerializeF.html +1 -1
  579. package/docs/hierarchy.html +1 -1
  580. package/docs/index.html +47 -21
  581. package/docs/interfaces/BinaryOperable.html +5 -0
  582. package/docs/interfaces/BinaryReadable.html +22 -0
  583. package/docs/interfaces/BinaryWritable.html +22 -0
  584. package/docs/interfaces/Blueprint.html +6 -6
  585. package/docs/interfaces/BlueprintConfig.html +13 -0
  586. package/docs/interfaces/SaveComponentHeader.html +6 -6
  587. package/docs/interfaces/SaveEntityHeader.html +8 -8
  588. package/docs/interfaces/SaveObjectHeader.html +5 -5
  589. package/docs/modules/AbstractBaseProperty.html +1 -2
  590. package/docs/modules/ArrayProperty.html +1 -5
  591. package/docs/modules/BlueprintConfig.html +1 -3
  592. package/docs/modules/BlueprintHeader.html +1 -3
  593. package/docs/modules/BoolProperty.html +1 -6
  594. package/docs/modules/BuildableSubsystemSpecialProperties.html +1 -3
  595. package/docs/modules/BuildableTypeInstance.html +1 -3
  596. package/docs/modules/ByteProperty.html +1 -6
  597. package/docs/modules/CircuitSpecialProperties.html +1 -3
  598. package/docs/modules/ConveyorChainActorSpecialProperties.html +1 -3
  599. package/docs/modules/ConveyorSpecialProperties.html +1 -3
  600. package/docs/modules/DataBlob.html +2 -0
  601. package/docs/modules/DoubleProperty.html +1 -6
  602. package/docs/modules/DynamicStructPropertyValue.html +1 -3
  603. package/docs/modules/EmptySpecialProperties.html +1 -3
  604. package/docs/modules/EnumProperty.html +1 -6
  605. package/docs/modules/FClientIdentityInfo.html +1 -3
  606. package/docs/modules/FColor.html +1 -3
  607. package/docs/modules/FCustomVersion.html +1 -0
  608. package/docs/modules/FCustomVersionContainer.html +1 -0
  609. package/docs/modules/FEngineVersion.html +1 -0
  610. package/docs/modules/FGDynamicStruct.html +1 -3
  611. package/docs/modules/FICFrameRange.html +2 -4
  612. package/docs/modules/FINGPUT1BufferPixel.html +2 -4
  613. package/docs/modules/FINItemStateFileSystem.html +1 -5
  614. package/docs/modules/FINLuaRuntimePersistenceState.html +2 -0
  615. package/docs/modules/FINNetworkTrace.html +2 -4
  616. package/docs/modules/FLBBalancerIndexing.html +1 -3
  617. package/docs/modules/FLinearColor.html +1 -3
  618. package/docs/modules/FLocalUserNetIdBundle.html +1 -0
  619. package/docs/modules/FPackageFileVersion.html +1 -0
  620. package/docs/modules/FPlayerInfoHandle.html +1 -0
  621. package/docs/modules/FPropertyTag.html +1 -0
  622. package/docs/modules/FPropertyTagNode.html +1 -0
  623. package/docs/modules/FSaveObjectVersionData.html +1 -0
  624. package/docs/modules/FUniqueNetIdRepl.html +1 -0
  625. package/docs/modules/FloatProperty.html +1 -6
  626. package/docs/modules/GUID.html +1 -3
  627. package/docs/modules/HierarchyVersion.html +1 -0
  628. package/docs/modules/Int64Property.html +1 -6
  629. package/docs/modules/Int8Property.html +1 -6
  630. package/docs/modules/IntProperty.html +1 -0
  631. package/docs/modules/InterfaceProperty.html +1 -0
  632. package/docs/modules/LBBalancerIndexing.html +1 -0
  633. package/docs/modules/Level.html +1 -9
  634. package/docs/modules/LevelToDestroyedActorsMap.html +1 -3
  635. package/docs/modules/MD5Hash.html +1 -3
  636. package/docs/modules/MapProperty.html +1 -4
  637. package/docs/modules/NameProperty.html +1 -0
  638. package/docs/modules/ObjectProperty.html +1 -6
  639. package/docs/modules/ObjectReference.html +1 -4
  640. package/docs/modules/ObjectReferencesList.html +1 -0
  641. package/docs/modules/ObjectsListSpecialProperties.html +1 -3
  642. package/docs/modules/OptionalGUID.html +1 -0
  643. package/docs/modules/PlayerSpecialProperties.html +1 -3
  644. package/docs/modules/PowerLineSpecialProperties.html +1 -3
  645. package/docs/modules/PropertiesList.html +1 -5
  646. package/docs/modules/SatisfactorySaveHeader.html +1 -3
  647. package/docs/modules/SaveBodyChunks.html +1 -5
  648. package/docs/modules/SaveBodyValidation.html +2 -4
  649. package/docs/modules/SetProperty.html +1 -5
  650. package/docs/modules/SingleProperty.html +1 -0
  651. package/docs/modules/SoftObjectProperty.html +1 -6
  652. package/docs/modules/SoftObjectReference.html +1 -3
  653. package/docs/modules/SpecialDroneActionProperties.html +1 -3
  654. package/docs/modules/SpecialProperties.html +1 -4
  655. package/docs/modules/StrProperty.html +1 -6
  656. package/docs/modules/StructProperty.html +1 -6
  657. package/docs/modules/TOCBlob.html +2 -0
  658. package/docs/modules/TextProperty.html +1 -6
  659. package/docs/modules/Transform.html +2 -6
  660. package/docs/modules/Uint32Property.html +1 -6
  661. package/docs/modules/Uint64Property.html +1 -6
  662. package/docs/modules/Uint8Property.html +1 -6
  663. package/docs/modules/VehiclePhysicsData.html +1 -3
  664. package/docs/modules/VehicleSpecialProperties.html +1 -3
  665. package/docs/modules/col4.html +1 -5
  666. package/docs/modules/vec2.html +1 -5
  667. package/docs/modules/vec3.html +1 -12
  668. package/docs/modules/vec4.html +1 -5
  669. package/docs/modules.html +1 -263
  670. package/docs/types/AbstractBaseProperty.html +14 -0
  671. package/docs/types/ArrayProperty.html +1 -0
  672. package/docs/types/BasicMultipleStructPropertyValue.html +2 -1
  673. package/docs/types/BasicStructPropertyValue.html +2 -1
  674. package/docs/types/BlueprintHeader.html +8 -0
  675. package/docs/types/BlueprintReaderWriterContext.html +7 -2
  676. package/docs/types/BoolArrayProperty.html +1 -0
  677. package/docs/types/BoolProperty.html +1 -0
  678. package/docs/types/BoxStructPropertyValue.html +4 -1
  679. package/docs/types/BuildableSubsystemSpecialProperties.html +4 -0
  680. package/docs/types/BuildableTypeInstance.html +14 -0
  681. package/docs/types/ByteArrayProperty.html +1 -0
  682. package/docs/types/ByteProperty.html +1 -0
  683. package/docs/types/BytePropertyValue.html +3 -1
  684. package/docs/types/ChunkCompressionInfo.html +5 -1
  685. package/docs/types/ChunkSummary.html +3 -1
  686. package/docs/types/CircuitSpecialProperties.html +3 -0
  687. package/docs/types/ConveyorChainActorSpecialProperties.html +10 -0
  688. package/docs/types/ConveyorChainSegmentSpecialProperties.html +10 -1
  689. package/docs/types/ConveyorItemSpecialProperties.html +3 -1
  690. package/docs/types/ConveyorSpecialProperties.html +2 -0
  691. package/docs/types/DoubleArrayProperty.html +1 -0
  692. package/docs/types/DoubleProperty.html +1 -0
  693. package/docs/types/DynamicStructPropertyValue.html +3 -0
  694. package/docs/types/EmptySpecialProperties.html +2 -0
  695. package/docs/types/EnumArrayProperty.html +1 -0
  696. package/docs/types/EnumProperty.html +1 -0
  697. package/docs/types/FClientIdentityInfo.html +4 -0
  698. package/docs/types/FColor.html +2 -0
  699. package/docs/types/FCustomVersion.html +3 -0
  700. package/docs/types/FCustomVersionContainer.html +2 -0
  701. package/docs/types/FEngineVersion.html +6 -0
  702. package/docs/types/FGDynamicStruct.html +10 -0
  703. package/docs/types/FICFrameRange.html +3 -0
  704. package/docs/types/FICFrameRangeStructPropertyValue.html +3 -1
  705. package/docs/types/FINGPUT1BufferPixel.html +4 -0
  706. package/docs/types/FINItemStateFileSystem.html +2 -0
  707. package/docs/types/FINLuaRuntimePersistenceState.html +7 -0
  708. package/docs/types/FINNetworkTrace.html +4 -0
  709. package/docs/types/FIRInstancedStruct.html +1 -0
  710. package/docs/types/FLBBalancerIndexing.html +5 -0
  711. package/docs/types/FLinearColor.html +2 -0
  712. package/docs/types/FLocalUserNetIdBundle.html +4 -0
  713. package/docs/types/FPackageFileVersion.html +3 -0
  714. package/docs/types/FPlayerInfoHandle.html +3 -0
  715. package/docs/types/FPropertyTag.html +16 -0
  716. package/docs/types/FPropertyTagNode.html +3 -0
  717. package/docs/types/FSaveObjectVersionData.html +6 -0
  718. package/docs/types/FUniqueNetIdRepl.html +3 -0
  719. package/docs/types/FloatArrayProperty.html +1 -0
  720. package/docs/types/FloatProperty.html +1 -0
  721. package/docs/types/GENERIC_MAP_KEY_TYPE.html +1 -1
  722. package/docs/types/GENERIC_MAP_VALUE_TYPE.html +1 -1
  723. package/docs/types/GENERIC_STRUCT_PROPERTY_VALUE.html +1 -1
  724. package/docs/types/GUID.html +2 -0
  725. package/docs/types/Grids.html +1 -1
  726. package/docs/types/HierarchyVersion.html +5 -0
  727. package/docs/types/Int64ArrayProperty.html +1 -0
  728. package/docs/types/Int64Property.html +1 -0
  729. package/docs/types/Int8Property.html +1 -0
  730. package/docs/types/IntArrayProperty.html +1 -0
  731. package/docs/types/IntProperty.html +1 -0
  732. package/docs/types/IntSetProperty.html +1 -0
  733. package/docs/types/InterfaceArrayProperty.html +1 -0
  734. package/docs/types/InterfaceProperty.html +1 -0
  735. package/docs/types/InventoryItemStructPropertyValue.html +4 -1
  736. package/docs/types/LBBalancerIndexing.html +4 -0
  737. package/docs/types/Level.html +9 -0
  738. package/docs/types/LevelToDestroyedActorsMap.html +1 -0
  739. package/docs/types/Levels.html +1 -1
  740. package/docs/types/MD5Hash.html +4 -0
  741. package/docs/types/MapProperty.html +1 -0
  742. package/docs/types/ModData.html +4 -1
  743. package/docs/types/NameProperty.html +1 -0
  744. package/docs/types/NameSetProperty.html +1 -0
  745. package/docs/types/ObjectArrayProperty.html +1 -0
  746. package/docs/types/ObjectProperty.html +1 -0
  747. package/docs/types/ObjectReference.html +4 -0
  748. package/docs/types/ObjectSetProperty.html +1 -0
  749. package/docs/types/ObjectsListSpecialProperties.html +3 -0
  750. package/docs/types/OptionalGUID.html +2 -0
  751. package/docs/types/PlayerSpecialProperties.html +5 -0
  752. package/docs/types/PowerLineSpecialProperties.html +6 -0
  753. package/docs/types/PropertiesMap.html +1 -1
  754. package/docs/types/RailroadTrackPositionStructPropertyValue.html +5 -1
  755. package/docs/types/ReaderWriterContext.html +2 -2
  756. package/docs/types/RoughSaveVersion.html +1 -1
  757. package/docs/types/SatisfactoryModMetadata.html +4 -1
  758. package/docs/types/SatisfactorySaveHeader.html +19 -0
  759. package/docs/types/SaveBodyChunks.html +3 -0
  760. package/docs/types/SaveBodyValidation.html +2 -0
  761. package/docs/types/SaveReaderWriterContext.html +11 -3
  762. package/docs/types/SetProperty.html +1 -0
  763. package/docs/types/SingleProperty.html +1 -0
  764. package/docs/types/SoftObjectArrayProperty.html +1 -0
  765. package/docs/types/SoftObjectProperty.html +1 -0
  766. package/docs/types/SoftObjectReference.html +4 -0
  767. package/docs/types/SpecialDroneAction.html +3 -1
  768. package/docs/types/SpecialDroneActionProperties.html +4 -0
  769. package/docs/types/SpecialProperties.AvailableSpecialPropertiesTypes.html +1 -1
  770. package/docs/types/StrArrayProperty.html +1 -0
  771. package/docs/types/StrProperty.html +1 -0
  772. package/docs/types/StrSetProperty.html +1 -0
  773. package/docs/types/StructArrayProperty.html +1 -0
  774. package/docs/types/StructProperty.html +1 -0
  775. package/docs/types/StructSetProperty.html +1 -0
  776. package/docs/types/TextArrayProperty.html +1 -0
  777. package/docs/types/TextProperty.html +1 -0
  778. package/docs/types/TextPropertyValue.html +13 -1
  779. package/docs/types/Transform.html +5 -0
  780. package/docs/types/Uint32Property.html +1 -0
  781. package/docs/types/Uint32SetProperty.html +1 -0
  782. package/docs/types/Uint64Property.html +1 -0
  783. package/docs/types/Uint8Property.html +1 -0
  784. package/docs/types/VehiclePhysicsData.html +7 -0
  785. package/docs/types/VehicleSpecialProperties.html +5 -0
  786. package/docs/types/col4.html +6 -0
  787. package/docs/types/vec2.html +4 -0
  788. package/docs/types/vec3.html +2 -0
  789. package/docs/types/vec4.html +2 -0
  790. package/docs/variables/DEFAULT_SATISFACTORY_CHUNK_HEADER_SIZE.html +1 -1
  791. package/docs/variables/EDIT.html +2 -2
  792. package/docs/variables/FINItemStateFileSystem.ExactStructReference.html +1 -1
  793. package/docs/variables/SaveBodyChunks.HEADER_V1.html +1 -1
  794. package/docs/variables/SaveBodyChunks.HEADER_V2.html +1 -1
  795. package/docs/variables/isBoolArrayProperty.html +1 -0
  796. package/docs/variables/isByteArrayProperty.html +1 -0
  797. package/docs/variables/isDoubleArrayProperty.html +1 -0
  798. package/docs/variables/isEnumArrayProperty.html +1 -0
  799. package/docs/variables/isFloatArrayProperty.html +1 -0
  800. package/docs/variables/isInt64ArrayProperty.html +1 -0
  801. package/docs/variables/isIntArrayProperty.html +1 -0
  802. package/docs/variables/isIntSetProperty.html +1 -0
  803. package/docs/variables/isInterfaceArrayProperty.html +1 -0
  804. package/docs/variables/isNameSetProperty.html +1 -0
  805. package/docs/variables/isObjectArrayProperty.html +1 -0
  806. package/docs/variables/isObjectSetProperty.html +1 -0
  807. package/docs/variables/isSoftObjectArrayProperty.html +1 -0
  808. package/docs/variables/isStrArrayProperty.html +1 -0
  809. package/docs/variables/isStrSetProperty.html +1 -0
  810. package/docs/variables/isStructArrayPRoperty.html +1 -0
  811. package/docs/variables/isStructSetProperty.html +1 -0
  812. package/docs/variables/isTextArrayProperty.html +1 -0
  813. package/docs/variables/isUint32SetProperty.html +1 -0
  814. package/package.json +3 -3
  815. package/build/parser/context/context.d.ts.map +0 -1
  816. package/build/parser/context/context.js.map +0 -1
  817. package/build/parser/file.types.d.ts +0 -14
  818. package/build/parser/file.types.d.ts.map +0 -1
  819. package/build/parser/file.types.js +0 -8
  820. package/build/parser/file.types.js.map +0 -1
  821. package/build/parser/satisfactory/save/level.class.d.ts +0 -29
  822. package/build/parser/satisfactory/save/level.class.d.ts.map +0 -1
  823. package/build/parser/satisfactory/save/level.class.js +0 -204
  824. package/build/parser/satisfactory/save/level.class.js.map +0 -1
  825. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.d.ts +0 -22
  826. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.d.ts.map +0 -1
  827. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.js +0 -127
  828. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.js.map +0 -1
  829. package/build/parser/satisfactory/types/property/generic/ArrayProperty/BoolArrayProperty.d.ts +0 -14
  830. package/build/parser/satisfactory/types/property/generic/ArrayProperty/BoolArrayProperty.d.ts.map +0 -1
  831. package/build/parser/satisfactory/types/property/generic/ArrayProperty/BoolArrayProperty.js +0 -23
  832. package/build/parser/satisfactory/types/property/generic/ArrayProperty/BoolArrayProperty.js.map +0 -1
  833. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ByteArrayProperty.d.ts +0 -14
  834. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ByteArrayProperty.d.ts.map +0 -1
  835. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ByteArrayProperty.js +0 -23
  836. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ByteArrayProperty.js.map +0 -1
  837. package/build/parser/satisfactory/types/property/generic/ArrayProperty/DoubleArrayProperty.d.ts +0 -14
  838. package/build/parser/satisfactory/types/property/generic/ArrayProperty/DoubleArrayProperty.d.ts.map +0 -1
  839. package/build/parser/satisfactory/types/property/generic/ArrayProperty/DoubleArrayProperty.js +0 -23
  840. package/build/parser/satisfactory/types/property/generic/ArrayProperty/DoubleArrayProperty.js.map +0 -1
  841. package/build/parser/satisfactory/types/property/generic/ArrayProperty/EnumArrayProperty.d.ts +0 -14
  842. package/build/parser/satisfactory/types/property/generic/ArrayProperty/EnumArrayProperty.d.ts.map +0 -1
  843. package/build/parser/satisfactory/types/property/generic/ArrayProperty/EnumArrayProperty.js +0 -23
  844. package/build/parser/satisfactory/types/property/generic/ArrayProperty/EnumArrayProperty.js.map +0 -1
  845. package/build/parser/satisfactory/types/property/generic/ArrayProperty/FloatArrayProperty.d.ts +0 -14
  846. package/build/parser/satisfactory/types/property/generic/ArrayProperty/FloatArrayProperty.d.ts.map +0 -1
  847. package/build/parser/satisfactory/types/property/generic/ArrayProperty/FloatArrayProperty.js +0 -23
  848. package/build/parser/satisfactory/types/property/generic/ArrayProperty/FloatArrayProperty.js.map +0 -1
  849. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int32ArrayProperty.d.ts +0 -14
  850. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int32ArrayProperty.d.ts.map +0 -1
  851. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int32ArrayProperty.js +0 -23
  852. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int32ArrayProperty.js.map +0 -1
  853. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int64ArrayProperty.d.ts +0 -14
  854. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int64ArrayProperty.d.ts.map +0 -1
  855. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int64ArrayProperty.js +0 -23
  856. package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int64ArrayProperty.js.map +0 -1
  857. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ObjectArrayProperty.d.ts +0 -15
  858. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ObjectArrayProperty.d.ts.map +0 -1
  859. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ObjectArrayProperty.js +0 -23
  860. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ObjectArrayProperty.js.map +0 -1
  861. package/build/parser/satisfactory/types/property/generic/ArrayProperty/SoftObjectArrayProperty.d.ts +0 -15
  862. package/build/parser/satisfactory/types/property/generic/ArrayProperty/SoftObjectArrayProperty.d.ts.map +0 -1
  863. package/build/parser/satisfactory/types/property/generic/ArrayProperty/SoftObjectArrayProperty.js +0 -23
  864. package/build/parser/satisfactory/types/property/generic/ArrayProperty/SoftObjectArrayProperty.js.map +0 -1
  865. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StrArrayProperty.d.ts +0 -14
  866. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StrArrayProperty.d.ts.map +0 -1
  867. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StrArrayProperty.js +0 -23
  868. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StrArrayProperty.js.map +0 -1
  869. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StructArrayProperty.d.ts +0 -26
  870. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StructArrayProperty.d.ts.map +0 -1
  871. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StructArrayProperty.js +0 -75
  872. package/build/parser/satisfactory/types/property/generic/ArrayProperty/StructArrayProperty.js.map +0 -1
  873. package/build/parser/satisfactory/types/property/generic/ArrayProperty/TextArrayProperty.d.ts +0 -15
  874. package/build/parser/satisfactory/types/property/generic/ArrayProperty/TextArrayProperty.d.ts.map +0 -1
  875. package/build/parser/satisfactory/types/property/generic/ArrayProperty/TextArrayProperty.js +0 -23
  876. package/build/parser/satisfactory/types/property/generic/ArrayProperty/TextArrayProperty.js.map +0 -1
  877. package/build/parser/satisfactory/types/property/generic/Int32Property.d.ts +0 -16
  878. package/build/parser/satisfactory/types/property/generic/Int32Property.d.ts.map +0 -1
  879. package/build/parser/satisfactory/types/property/generic/Int32Property.js +0 -33
  880. package/build/parser/satisfactory/types/property/generic/Int32Property.js.map +0 -1
  881. package/build/parser/satisfactory/types/property/generic/MapProperty.d.ts +0 -25
  882. package/build/parser/satisfactory/types/property/generic/MapProperty.d.ts.map +0 -1
  883. package/build/parser/satisfactory/types/property/generic/MapProperty.js.map +0 -1
  884. package/build/parser/satisfactory/types/property/generic/SetProperty/Int32SetProperty.d.ts +0 -14
  885. package/build/parser/satisfactory/types/property/generic/SetProperty/Int32SetProperty.d.ts.map +0 -1
  886. package/build/parser/satisfactory/types/property/generic/SetProperty/Int32SetProperty.js +0 -23
  887. package/build/parser/satisfactory/types/property/generic/SetProperty/Int32SetProperty.js.map +0 -1
  888. package/build/parser/satisfactory/types/property/generic/SetProperty/ObjectSetProperty.d.ts +0 -15
  889. package/build/parser/satisfactory/types/property/generic/SetProperty/ObjectSetProperty.d.ts.map +0 -1
  890. package/build/parser/satisfactory/types/property/generic/SetProperty/ObjectSetProperty.js +0 -23
  891. package/build/parser/satisfactory/types/property/generic/SetProperty/ObjectSetProperty.js.map +0 -1
  892. package/build/parser/satisfactory/types/property/generic/SetProperty/SetProperty.d.ts +0 -15
  893. package/build/parser/satisfactory/types/property/generic/SetProperty/SetProperty.d.ts.map +0 -1
  894. package/build/parser/satisfactory/types/property/generic/SetProperty/SetProperty.js +0 -75
  895. package/build/parser/satisfactory/types/property/generic/SetProperty/SetProperty.js.map +0 -1
  896. package/build/parser/satisfactory/types/property/generic/SetProperty/StrSetProperty.d.ts +0 -14
  897. package/build/parser/satisfactory/types/property/generic/SetProperty/StrSetProperty.d.ts.map +0 -1
  898. package/build/parser/satisfactory/types/property/generic/SetProperty/StrSetProperty.js +0 -23
  899. package/build/parser/satisfactory/types/property/generic/SetProperty/StrSetProperty.js.map +0 -1
  900. package/build/parser/satisfactory/types/property/generic/SetProperty/StructSetProperty.d.ts +0 -14
  901. package/build/parser/satisfactory/types/property/generic/SetProperty/StructSetProperty.d.ts.map +0 -1
  902. package/build/parser/satisfactory/types/property/generic/SetProperty/StructSetProperty.js +0 -42
  903. package/build/parser/satisfactory/types/property/generic/SetProperty/StructSetProperty.js.map +0 -1
  904. package/build/parser/satisfactory/types/property/generic/SetProperty/Uint32SetProperty.d.ts +0 -14
  905. package/build/parser/satisfactory/types/property/generic/SetProperty/Uint32SetProperty.d.ts.map +0 -1
  906. package/build/parser/satisfactory/types/property/generic/SetProperty/Uint32SetProperty.js +0 -23
  907. package/build/parser/satisfactory/types/property/generic/SetProperty/Uint32SetProperty.js.map +0 -1
  908. package/build/parser/satisfactory/types/property/generic/StructProperty.d.ts +0 -60
  909. package/build/parser/satisfactory/types/property/generic/StructProperty.d.ts.map +0 -1
  910. package/build/parser/satisfactory/types/property/generic/StructProperty.js.map +0 -1
  911. package/build/parser/satisfactory/types/structs/GUID.d.ts +0 -8
  912. package/build/parser/satisfactory/types/structs/GUID.d.ts.map +0 -1
  913. package/build/parser/satisfactory/types/structs/GUID.js +0 -22
  914. package/build/parser/satisfactory/types/structs/GUID.js.map +0 -1
  915. package/build/parser/stream/reworked/save-stream-json-stringifier.d.ts +0 -6
  916. package/build/parser/stream/reworked/save-stream-json-stringifier.d.ts.map +0 -1
  917. package/build/parser/stream/reworked/save-stream-json-stringifier.js +0 -35
  918. package/build/parser/stream/reworked/save-stream-json-stringifier.js.map +0 -1
  919. package/build/parser/stream/reworked/save-stream-writer.class.d.ts +0 -28
  920. package/build/parser/stream/reworked/save-stream-writer.class.d.ts.map +0 -1
  921. package/build/parser/stream/reworked/save-stream-writer.class.js +0 -84
  922. package/build/parser/stream/reworked/save-stream-writer.class.js.map +0 -1
  923. package/docs/classes/SaveStreamJsonStringifier.html +0 -5
  924. package/docs/classes/SaveStreamWriter.html +0 -16
  925. package/docs/functions/AbstractBaseProperty.Create.html +0 -1
  926. package/docs/functions/ArrayProperty.CalcOverhead.html +0 -1
  927. package/docs/functions/BoolArrayProperty.Parse.html +0 -1
  928. package/docs/functions/BoolArrayProperty.Serialize.html +0 -1
  929. package/docs/functions/BoolProperty.CalcOverhead.html +0 -1
  930. package/docs/functions/ByteArrayProperty.Parse.html +0 -1
  931. package/docs/functions/ByteArrayProperty.Serialize.html +0 -1
  932. package/docs/functions/ByteProperty.CalcOverhead.html +0 -1
  933. package/docs/functions/DoubleArrayProperty.Parse.html +0 -1
  934. package/docs/functions/DoubleArrayProperty.Serialize.html +0 -1
  935. package/docs/functions/DoubleProperty.CalcOverhead.html +0 -1
  936. package/docs/functions/EnumArrayProperty.Parse.html +0 -1
  937. package/docs/functions/EnumArrayProperty.Serialize.html +0 -1
  938. package/docs/functions/EnumProperty.CalcOverhead.html +0 -1
  939. package/docs/functions/FloatArrayProperty.Parse.html +0 -1
  940. package/docs/functions/FloatArrayProperty.Serialize.html +0 -1
  941. package/docs/functions/FloatProperty.CalcOverhead.html +0 -1
  942. package/docs/functions/GUIDInfo.read.html +0 -1
  943. package/docs/functions/GUIDInfo.write.html +0 -1
  944. package/docs/functions/Int32ArrayProperty.Parse.html +0 -1
  945. package/docs/functions/Int32ArrayProperty.Serialize.html +0 -1
  946. package/docs/functions/Int32Property.CalcOverhead.html +0 -1
  947. package/docs/functions/Int32Property.Parse.html +0 -1
  948. package/docs/functions/Int32Property.ReadValue.html +0 -1
  949. package/docs/functions/Int32Property.Serialize.html +0 -1
  950. package/docs/functions/Int32Property.SerializeValue.html +0 -1
  951. package/docs/functions/Int32SetProperty.Parse.html +0 -1
  952. package/docs/functions/Int32SetProperty.Serialize.html +0 -1
  953. package/docs/functions/Int64ArrayProperty.Parse.html +0 -1
  954. package/docs/functions/Int64ArrayProperty.Serialize.html +0 -1
  955. package/docs/functions/Int64Property.CalcOverhead.html +0 -1
  956. package/docs/functions/Int8Property.CalcOverhead.html +0 -1
  957. package/docs/functions/Level.ReadAllObjectContents.html +0 -1
  958. package/docs/functions/Level.ReadAllObjectHeaders.html +0 -1
  959. package/docs/functions/Level.ReadLevel.html +0 -1
  960. package/docs/functions/Level.ReadNObjectContents.html +0 -1
  961. package/docs/functions/Level.ReadNObjectHeaders.html +0 -1
  962. package/docs/functions/Level.SerializeAllObjectContents.html +0 -1
  963. package/docs/functions/Level.SerializeAllObjectHeaders.html +0 -1
  964. package/docs/functions/Level.SerializeLevel.html +0 -1
  965. package/docs/functions/MapProperty.CalcOverhead.html +0 -1
  966. package/docs/functions/ObjectArrayProperty.Parse.html +0 -1
  967. package/docs/functions/ObjectArrayProperty.Serialize.html +0 -1
  968. package/docs/functions/ObjectProperty.CalcOverhead.html +0 -1
  969. package/docs/functions/ObjectSetProperty.Parse.html +0 -1
  970. package/docs/functions/ObjectSetProperty.Serialize.html +0 -1
  971. package/docs/functions/SetProperty.CalcOverhead.html +0 -1
  972. package/docs/functions/SoftObjectArrayProperty.Parse.html +0 -1
  973. package/docs/functions/SoftObjectArrayProperty.Serialize.html +0 -1
  974. package/docs/functions/SoftObjectProperty.CalcOverhead.html +0 -1
  975. package/docs/functions/StrArrayProperty.Parse.html +0 -1
  976. package/docs/functions/StrArrayProperty.Serialize.html +0 -1
  977. package/docs/functions/StrProperty.CalcOverhead.html +0 -1
  978. package/docs/functions/StrSetProperty.Parse.html +0 -1
  979. package/docs/functions/StrSetProperty.Serialize.html +0 -1
  980. package/docs/functions/StructArrayProperty.Parse.html +0 -1
  981. package/docs/functions/StructArrayProperty.Serialize.html +0 -1
  982. package/docs/functions/StructProperty.CalcOverhead.html +0 -1
  983. package/docs/functions/StructSetProperty.Parse.html +0 -1
  984. package/docs/functions/StructSetProperty.Serialize.html +0 -1
  985. package/docs/functions/TextArrayProperty.Parse.html +0 -1
  986. package/docs/functions/TextArrayProperty.Serialize.html +0 -1
  987. package/docs/functions/TextProperty.CalcOverhead.html +0 -1
  988. package/docs/functions/Uint32Property.CalcOverhead.html +0 -1
  989. package/docs/functions/Uint32SetProperty.Parse.html +0 -1
  990. package/docs/functions/Uint32SetProperty.Serialize.html +0 -1
  991. package/docs/functions/Uint64Property.CalcOverhead.html +0 -1
  992. package/docs/functions/Uint8Property.CalcOverhead.html +0 -1
  993. package/docs/functions/isBoolArrayProperty.html +0 -1
  994. package/docs/functions/isByteArrayProperty.html +0 -1
  995. package/docs/functions/isDoubleArrayProperty.html +0 -1
  996. package/docs/functions/isEnumArrayProperty.html +0 -1
  997. package/docs/functions/isFloatArrayProperty.html +0 -1
  998. package/docs/functions/isInt32ArrayProperty.html +0 -1
  999. package/docs/functions/isInt32Property.html +0 -1
  1000. package/docs/functions/isInt32SetProperty.html +0 -1
  1001. package/docs/functions/isInt64ArrayProperty.html +0 -1
  1002. package/docs/functions/isObjectArrayProperty.html +0 -1
  1003. package/docs/functions/isObjectSetProperty.html +0 -1
  1004. package/docs/functions/isSoftObjectArrayProperty.html +0 -1
  1005. package/docs/functions/isStrArrayProperty.html +0 -1
  1006. package/docs/functions/isStrSetProperty.html +0 -1
  1007. package/docs/functions/isStructArrayProperty.html +0 -1
  1008. package/docs/functions/isStructSetProperty.html +0 -1
  1009. package/docs/functions/isTextArrayProperty.html +0 -1
  1010. package/docs/functions/isUint32SetProperty.html +0 -1
  1011. package/docs/interfaces/BlueprintConfig-1.html +0 -8
  1012. package/docs/modules/BoolArrayProperty.html +0 -3
  1013. package/docs/modules/ByteArrayProperty.html +0 -3
  1014. package/docs/modules/DoubleArrayProperty.html +0 -3
  1015. package/docs/modules/EnumArrayProperty.html +0 -3
  1016. package/docs/modules/FloatArrayProperty.html +0 -3
  1017. package/docs/modules/GUIDInfo.html +0 -3
  1018. package/docs/modules/Int32ArrayProperty.html +0 -3
  1019. package/docs/modules/Int32Property.html +0 -6
  1020. package/docs/modules/Int32SetProperty.html +0 -3
  1021. package/docs/modules/Int64ArrayProperty.html +0 -3
  1022. package/docs/modules/ObjectArrayProperty.html +0 -3
  1023. package/docs/modules/ObjectSetProperty.html +0 -3
  1024. package/docs/modules/SoftObjectArrayProperty.html +0 -3
  1025. package/docs/modules/StrArrayProperty.html +0 -3
  1026. package/docs/modules/StrSetProperty.html +0 -3
  1027. package/docs/modules/StructArrayProperty.html +0 -3
  1028. package/docs/modules/StructSetProperty.html +0 -3
  1029. package/docs/modules/TextArrayProperty.html +0 -3
  1030. package/docs/modules/Uint32SetProperty.html +0 -3
  1031. package/docs/types/AbstractBaseProperty-1.html +0 -7
  1032. package/docs/types/ArrayProperty.AvailableArrayPropertyTypes.html +0 -1
  1033. package/docs/types/ArrayPropertyStructValueFields.html +0 -1
  1034. package/docs/types/BlueprintHeader-1.html +0 -1
  1035. package/docs/types/BoolArrayProperty-1.html +0 -1
  1036. package/docs/types/BoolProperty-1.html +0 -1
  1037. package/docs/types/BuildableSubsystemSpecialProperties-1.html +0 -1
  1038. package/docs/types/BuildableTypeInstance-1.html +0 -1
  1039. package/docs/types/ByteArrayProperty-1.html +0 -1
  1040. package/docs/types/ByteProperty-1.html +0 -1
  1041. package/docs/types/CircuitSpecialProperties-1.html +0 -1
  1042. package/docs/types/ConveyorChainActorSpecialProperties-1.html +0 -1
  1043. package/docs/types/ConveyorSpecialProperties-1.html +0 -1
  1044. package/docs/types/DoubleArrayProperty-1.html +0 -1
  1045. package/docs/types/DoubleProperty-1.html +0 -1
  1046. package/docs/types/DynamicStructPropertyValue-1.html +0 -1
  1047. package/docs/types/EmptySpecialProperties-1.html +0 -1
  1048. package/docs/types/EnumArrayProperty-1.html +0 -1
  1049. package/docs/types/EnumProperty-1.html +0 -1
  1050. package/docs/types/FClientIdentityInfo-1.html +0 -2
  1051. package/docs/types/FColor-1.html +0 -2
  1052. package/docs/types/FGDynamicStruct-1.html +0 -6
  1053. package/docs/types/FICFrameRange-1.html +0 -1
  1054. package/docs/types/FINGPUT1BufferPixel-1.html +0 -1
  1055. package/docs/types/FINItemStateFileSystem-1.html +0 -2
  1056. package/docs/types/FINNetworkTrace-1.html +0 -1
  1057. package/docs/types/FLBBalancerIndexing-1.html +0 -2
  1058. package/docs/types/FLinearColor-1.html +0 -2
  1059. package/docs/types/FloatArrayProperty-1.html +0 -1
  1060. package/docs/types/FloatProperty-1.html +0 -1
  1061. package/docs/types/GUID-1.html +0 -2
  1062. package/docs/types/GUIDInfo-1.html +0 -2
  1063. package/docs/types/Int32ArrayProperty-1.html +0 -1
  1064. package/docs/types/Int32Property-1.html +0 -1
  1065. package/docs/types/Int32SetProperty-1.html +0 -1
  1066. package/docs/types/Int64ArrayProperty-1.html +0 -1
  1067. package/docs/types/Int64Property-1.html +0 -1
  1068. package/docs/types/Int8Property-1.html +0 -1
  1069. package/docs/types/Level-1.html +0 -2
  1070. package/docs/types/LevelToDestroyedActorsMap-1.html +0 -1
  1071. package/docs/types/MAP_STRUCT_PROXY.html +0 -1
  1072. package/docs/types/MD5Hash-1.html +0 -2
  1073. package/docs/types/MapProperty-1.html +0 -1
  1074. package/docs/types/ObjectArrayProperty-1.html +0 -1
  1075. package/docs/types/ObjectProperty-1.html +0 -1
  1076. package/docs/types/ObjectReference-1.html +0 -2
  1077. package/docs/types/ObjectSetProperty-1.html +0 -1
  1078. package/docs/types/ObjectsListSpecialProperties-1.html +0 -1
  1079. package/docs/types/PlayerSpecialProperties-1.html +0 -1
  1080. package/docs/types/PowerLineSpecialProperties-1.html +0 -1
  1081. package/docs/types/SatisfactorySaveHeader-1.html +0 -1
  1082. package/docs/types/SaveBodyChunks-1.html +0 -1
  1083. package/docs/types/SaveBodyValidation-1.html +0 -1
  1084. package/docs/types/SetProperty.AvailableSetPropertyTypes.html +0 -1
  1085. package/docs/types/SoftObjectArrayProperty-1.html +0 -1
  1086. package/docs/types/SoftObjectProperty-1.html +0 -1
  1087. package/docs/types/SoftObjectReference-1.html +0 -1
  1088. package/docs/types/SpecialDroneActionProperties-1.html +0 -1
  1089. package/docs/types/StrArrayProperty-1.html +0 -1
  1090. package/docs/types/StrProperty-1.html +0 -1
  1091. package/docs/types/StrSetProperty-1.html +0 -1
  1092. package/docs/types/StructArrayProperty-1.html +0 -1
  1093. package/docs/types/StructProperty-1.html +0 -1
  1094. package/docs/types/StructSetProperty-1.html +0 -1
  1095. package/docs/types/TextArrayProperty-1.html +0 -1
  1096. package/docs/types/TextProperty-1.html +0 -1
  1097. package/docs/types/Transform-1.html +0 -2
  1098. package/docs/types/Uint32Property-1.html +0 -1
  1099. package/docs/types/Uint32SetProperty-1.html +0 -1
  1100. package/docs/types/Uint64Property-1.html +0 -1
  1101. package/docs/types/Uint8Property-1.html +0 -1
  1102. package/docs/types/VehiclePhysicsData-1.html +0 -1
  1103. package/docs/types/VehicleSpecialProperties-1.html +0 -1
  1104. package/docs/types/col4-1.html +0 -2
  1105. package/docs/types/vec2-1.html +0 -2
  1106. package/docs/types/vec3-1.html +0 -2
  1107. package/docs/types/vec4-1.html +0 -2
package/docs/index.html CHANGED
@@ -1,6 +1,7 @@
1
- <!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>@etothepii/satisfactory-file-parser</title><meta name="description" content="Documentation for @etothepii/satisfactory-file-parser"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base="."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">@etothepii/satisfactory-file-parser</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><h1>@etothepii/satisfactory-file-parser</h1></div><div class="tsd-panel tsd-typography"><a id="md:satisfactory-file-parser" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Satisfactory File Parser<a href="#md:satisfactory-file-parser" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><p><a href="https://github.com/etothepii4/satisfactory-file-parser/actions/workflows/tests.yml" target="_blank" class="external"><img src="https://github.com/etothepii4/satisfactory-file-parser/actions/workflows/tests.yml/badge.svg?branch=main" alt="Run Tests"></a></p>
2
- <p>This is a TypeScript <a href="https://github.com/etothepii4/satisfactory-file-parser" target="_blank" class="external">github project</a> to parse Satisfactory Saves/Blueprints. Satisfactory is a game released by Coffee Stain Studios.
3
- The reporitory is written entirely in TypeScript and is bundled on <a href="https://www.npmjs.com/package/@etothepii/satisfactory-file-parser" target="_blank" class="external">NPM</a>.
1
+ <!DOCTYPE html><html class="default" lang="en" data-base="./"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>@etothepii/satisfactory-file-parser</title><meta name="description" content="Documentation for @etothepii/satisfactory-file-parser"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script><script async src="assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="index.html" class="title">@etothepii/satisfactory-file-parser</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><h1>@etothepii/satisfactory-file-parser</h1></div><div class="tsd-panel tsd-typography"><h1 id="satisfactory-file-parser" class="tsd-anchor-link">Satisfactory File Parser<a href="#satisfactory-file-parser" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
2
+ <p><a href="https://github.com/etothepii4/satisfactory-file-parser/actions/workflows/tests.yml"><img src="https://github.com/etothepii4/satisfactory-file-parser/actions/workflows/tests.yml/badge.svg?branch=main" alt="Run Tests"></a></p>
3
+ <p>This is a TypeScript <a href="https://github.com/etothepii4/satisfactory-file-parser">github project</a> to parse Satisfactory Saves/Blueprints. Satisfactory is a game released by Coffee Stain Studios.
4
+ The reporitory is written entirely in TypeScript and is bundled on <a href="https://www.npmjs.com/package/@etothepii/satisfactory-file-parser">NPM</a>.
4
5
  The examples listed here are Node.js. Should work in browser as well.</p>
5
6
  <p>This parser can read, modify and write:</p>
6
7
  <ul>
@@ -10,7 +11,8 @@ The examples listed here are Node.js. Should work in browser as well.</p>
10
11
  <p>The parser is for deep save editing, since it just parses to JSON and back.
11
12
  The purpose to have an editable structure, game logic is not known.
12
13
  It is recommended that you look at the parsed save/blueprint to get an idea what you want to edit.</p>
13
- <a id="md:supported-versions" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Supported Versions<a href="#md:supported-versions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><p>The version support of the Game Updates is indicated below.
14
+ <h1 id="supported-versions" class="tsd-anchor-link">Supported Versions<a href="#supported-versions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
15
+ <p>The version support of the Game Updates is indicated below.
14
16
  The parser is pretty compatible with older saves and blueprints alike (for example from U8).
15
17
  If you still run into errors, let me know or raise an issue.
16
18
  Game Version Files of U5 and below are NOT supported.</p>
@@ -46,20 +48,31 @@ Game Version Files of U5 and below are NOT supported.</p>
46
48
  <td style="text-align:center">U1.1</td>
47
49
  <td style="text-align:left">✅ compatible</td>
48
50
  </tr>
51
+ <tr>
52
+ <td style="text-align:center">U1.2</td>
53
+ <td style="text-align:left">✅ compatible</td>
54
+ </tr>
49
55
  </tbody>
50
56
  </table>
51
- <a id="md:version-migration" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Version Migration<a href="#md:version-migration" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><p>The parser will NOT MIGRATE from one game version to another, for compatibility reasons.
57
+ <h1 id="version-migration" class="tsd-anchor-link">Version Migration<a href="#version-migration" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
58
+ <p>The parser will NOT MIGRATE from one game version to another, for compatibility reasons.
52
59
  If you parse a U8 save/blueprint, the parser will also serialize it back to a U8 save/blueprint.</p>
53
- <a id="md:installation" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Installation<a href="#md:installation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><a id="md:npm" class="tsd-anchor"></a><h4 class="tsd-anchor-link">npm<a href="#md:npm" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4><p><code>npm install @etothepii/satisfactory-file-parser</code></p>
54
- <a id="md:yarn" class="tsd-anchor"></a><h4 class="tsd-anchor-link">yarn<a href="#md:yarn" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4><p><code>yarn add @etothepii/satisfactory-file-parser</code></p>
55
- <a id="md:bug-reports-or-feedback" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Bug Reports or Feedback<a href="#md:bug-reports-or-feedback" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><p>You can always raise an issue on the linked <a href="https://github.com/etothepii4/satisfactory-file-parser" target="_blank" class="external">github project</a> or hit me up in discord <a href="https://discordapp.com/users/268751901212803074" target="_blank" class="external"><code>etothepii</code></a>.
60
+ <h1 id="installation" class="tsd-anchor-link">Installation<a href="#installation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
61
+ <h4 id="npm" class="tsd-anchor-link">npm<a href="#npm" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4>
62
+ <p><code>npm install @etothepii/satisfactory-file-parser</code></p>
63
+ <h4 id="yarn" class="tsd-anchor-link">yarn<a href="#yarn" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4>
64
+ <p><code>yarn add @etothepii/satisfactory-file-parser</code></p>
65
+ <h1 id="bug-reports-or-feedback" class="tsd-anchor-link">Bug Reports or Feedback<a href="#bug-reports-or-feedback" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
66
+ <p>You can always raise an issue on the linked <a href="https://github.com/etothepii4/satisfactory-file-parser">github project</a> or hit me up in discord <a href="https://discordapp.com/users/268751901212803074"><code>etothepii</code></a>.
56
67
  Every mistake that i know of makes the parser more robust. It wouldnt be where it is now, without the help of a lot of people!</p>
57
- <a id="md:mod-support-✅" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Mod Support ✅<a href="#md:mod-support-✅" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><p>By Default, most Mods just reuse Properties and Structs of the base game.
68
+ <h1 id="mod-support-11-✅" class="tsd-anchor-link">Mod Support &lt;= 1.1 ✅<a href="#mod-support-11-✅" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
69
+ <p>By Default, most Mods just reuse Properties and Structs of the base game.
58
70
  If however a Mod should not be working or have just objects with a lot of trailing unparseable data, Raise an issue or contact me.</p>
59
71
  <p>Some explicitly tested mods include:
60
72
  Ficsit-Cam, Structural Solutions, Linear Motion, Container Screens, Conveyor Wall Hole, X3-Signs, X3-Roads</p>
61
73
  <p>⚠️ Exception: <code>Ficsit Networks</code> is more complex and not everything is mapped out yet. The data is saved as raw bytes array. if you want, i can have a look at your save.</p>
62
- <a id="md:reading-a-save" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Reading a Save<a href="#md:reading-a-save" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><p>Reading a Save in Memory.</p>
74
+ <h1 id="reading-a-save" class="tsd-anchor-link">Reading a Save<a href="#reading-a-save" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
75
+ <p>Reading a Save in Memory.</p>
63
76
  <pre><code class="js"><span class="hl-0">import</span><span class="hl-1"> </span><span class="hl-2">*</span><span class="hl-1"> </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-3">fs</span><span class="hl-1"> </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-4">&#39;fs&#39;</span><span class="hl-1">;</span><br/><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-3">Parser</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-4">&#39;@etothepii/satisfactory-file-parser&#39;</span><span class="hl-1">;</span><br/><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">file</span><span class="hl-1"> = </span><span class="hl-2">new</span><span class="hl-1"> </span><span class="hl-6">Uint8Array</span><span class="hl-1">(</span><span class="hl-3">fs</span><span class="hl-1">.</span><span class="hl-6">readFileSync</span><span class="hl-1">(</span><span class="hl-4">&#39;./MySave.sav&#39;</span><span class="hl-1">)).</span><span class="hl-3">buffer</span><span class="hl-1">;</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">save</span><span class="hl-1"> = </span><span class="hl-3">Parser</span><span class="hl-1">.</span><span class="hl-6">ParseSave</span><span class="hl-1">(</span><span class="hl-4">&#39;MySave&#39;</span><span class="hl-1">, </span><span class="hl-3">file</span><span class="hl-1">);</span><br/><br/><span class="hl-7">// write to json file</span><br/><span class="hl-3">fs</span><span class="hl-1">.</span><span class="hl-6">writeFileSync</span><span class="hl-1">(</span><span class="hl-4">&#39;MySave.json&#39;</span><span class="hl-1">, </span><span class="hl-5">JSON</span><span class="hl-1">.</span><span class="hl-6">stringify</span><span class="hl-1">(</span><span class="hl-3">save</span><span class="hl-1">));</span>
64
77
  </code><button type="button">Copy</button></pre>
65
78
 
@@ -70,22 +83,26 @@ WHATWG is used by default by browsers. Node js can use them using <code>Writable
70
83
  <pre><code class="js"><span class="hl-0">import</span><span class="hl-1"> </span><span class="hl-2">*</span><span class="hl-1"> </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-3">fs</span><span class="hl-1"> </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-4">&#39;fs&#39;</span><span class="hl-1">;</span><br/><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-3">Writable</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-4">&#39;stream&#39;</span><span class="hl-1">;</span><br/><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-3">WritableStream</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-4">&#39;stream/web&#39;</span><span class="hl-1">;</span><br/><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-3">ReadableStreamParser</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-4">&#39;@etothepii/satisfactory-file-parser&#39;</span><span class="hl-1">;</span><br/><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">file</span><span class="hl-1"> = </span><span class="hl-3">fs</span><span class="hl-1">.</span><span class="hl-6">readFileSync</span><span class="hl-1">(</span><span class="hl-4">&#39;./MySave.sav&#39;</span><span class="hl-1">);</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">jsonFileStream</span><span class="hl-1"> = </span><span class="hl-3">fs</span><span class="hl-1">.</span><span class="hl-6">createWriteStream</span><span class="hl-1">(</span><span class="hl-4">&#39;./MySave.json&#39;</span><span class="hl-1">, { </span><span class="hl-3">highWaterMark:</span><span class="hl-1"> </span><span class="hl-8">1024</span><span class="hl-1"> * </span><span class="hl-8">1024</span><span class="hl-1"> * </span><span class="hl-8">200</span><span class="hl-1"> }); </span><span class="hl-7">// your outgoing JSON stream. In this case directly to file. </span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">whatwgWriteStream</span><span class="hl-1"> = </span><span class="hl-3">Writable</span><span class="hl-1">.</span><span class="hl-6">toWeb</span><span class="hl-1">(</span><span class="hl-3">jsonFileStream</span><span class="hl-1">) </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-9">WritableStream</span><span class="hl-1">&lt;</span><span class="hl-9">string</span><span class="hl-1">&gt;; </span><span class="hl-7">// convert the file stream to WHATWG-compliant stream</span><br/><br/><span class="hl-2">const</span><span class="hl-1"> { </span><span class="hl-5">stream</span><span class="hl-1">, </span><span class="hl-5">startStreaming</span><span class="hl-1"> } = </span><span class="hl-3">ReadableStreamParser</span><span class="hl-1">.</span><span class="hl-6">CreateReadableStreamFromSaveToJson</span><span class="hl-1">(</span><span class="hl-4">&#39;MySave&#39;</span><span class="hl-1">, </span><span class="hl-3">file</span><span class="hl-1">);</span><br/><br/><span class="hl-3">stream</span><span class="hl-1">.</span><span class="hl-6">pipeTo</span><span class="hl-1">(</span><span class="hl-3">whatwgWriteStream</span><span class="hl-1">);</span><br/><span class="hl-3">jsonFileStream</span><span class="hl-1">.</span><span class="hl-6">on</span><span class="hl-1">(</span><span class="hl-4">&#39;close&#39;</span><span class="hl-1">, () </span><span class="hl-2">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-7">// write stream finished</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-6">startStreaming</span><span class="hl-1">();</span>
71
84
  </code><button type="button">Copy</button></pre>
72
85
 
73
- <a id="md:writing-a-save" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Writing a Save<a href="#md:writing-a-save" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><p>Consequently, writing a parsed save file back is just as easy.
86
+ <h1 id="writing-a-save" class="tsd-anchor-link">Writing a Save<a href="#writing-a-save" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
87
+ <p>Consequently, writing a parsed save file back is just as easy.
74
88
  The SaveParser has callbacks to assist during syncing on different occasions during the process.
75
89
  For example, when writing the header or when writing a chunk of the save body.
76
90
  The splitting in individual chunks enables you to more easily stream the binary data to somewhere else.</p>
77
91
  <pre><code class="js"><span class="hl-0">import</span><span class="hl-1"> </span><span class="hl-2">*</span><span class="hl-1"> </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-3">fs</span><span class="hl-1"> </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-4">&#39;fs&#39;</span><span class="hl-1">;</span><br/><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-3">Parser</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-4">&quot;@etothepii/satisfactory-file-parser&quot;</span><span class="hl-1">;</span><br/><br/><span class="hl-2">let</span><span class="hl-1"> </span><span class="hl-3">fileHeader</span><span class="hl-1">: </span><span class="hl-9">Uint8Array</span><span class="hl-1">;</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">bodyChunks</span><span class="hl-1">: </span><span class="hl-9">Uint8Array</span><span class="hl-1">[] = [];</span><br/><span class="hl-3">Parser</span><span class="hl-1">.</span><span class="hl-6">WriteSave</span><span class="hl-1">(</span><span class="hl-3">save</span><span class="hl-1">, </span><span class="hl-3">header</span><span class="hl-1"> </span><span class="hl-2">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-3">console</span><span class="hl-1">.</span><span class="hl-6">log</span><span class="hl-1">(</span><span class="hl-4">&#39;on save header.&#39;</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-3">fileHeader</span><span class="hl-1"> = </span><span class="hl-3">header</span><span class="hl-1">;</span><br/><span class="hl-1">}, </span><span class="hl-3">chunk</span><span class="hl-1"> </span><span class="hl-2">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-3">console</span><span class="hl-1">.</span><span class="hl-6">log</span><span class="hl-1">(</span><span class="hl-4">&#39;on save body chunk.&#39;</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-3">bodyChunks</span><span class="hl-1">.</span><span class="hl-6">push</span><span class="hl-1">(</span><span class="hl-3">chunk</span><span class="hl-1">);</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-7">// write complete sav file back to disk</span><br/><span class="hl-3">fs</span><span class="hl-1">.</span><span class="hl-6">writeFileSync</span><span class="hl-1">(</span><span class="hl-4">&#39;./MyModifiedSave.sav&#39;</span><span class="hl-1">, </span><span class="hl-2">new</span><span class="hl-1"> </span><span class="hl-6">Uint8Array</span><span class="hl-1">(</span><span class="hl-3">Buffer</span><span class="hl-1">.</span><span class="hl-6">concat</span><span class="hl-1">([</span><span class="hl-3">fileHeader</span><span class="hl-1">!, ...</span><span class="hl-3">bodyChunks</span><span class="hl-1">]));</span>
78
92
  </code><button type="button">Copy</button></pre>
79
93
 
80
- <a id="md:reading-blueprints" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Reading Blueprints<a href="#md:reading-blueprints" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><p>Blueprints consist of 2 files. The <code>.sbp</code> main file and the config file <code>.sbpcfg</code>.</p>
94
+ <h1 id="reading-blueprints" class="tsd-anchor-link">Reading Blueprints<a href="#reading-blueprints" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
95
+ <p>Blueprints consist of 2 files. The <code>.sbp</code> main file and the config file <code>.sbpcfg</code>.</p>
81
96
  <pre><code class="js"><span class="hl-0">import</span><span class="hl-1"> </span><span class="hl-2">*</span><span class="hl-1"> </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-3">fs</span><span class="hl-1"> </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-4">&#39;fs&#39;</span><span class="hl-1">;</span><br/><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-3">Parser</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-4">&quot;@etothepii/satisfactory-file-parser&quot;</span><span class="hl-1">;</span><br/><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">file</span><span class="hl-1"> = </span><span class="hl-2">new</span><span class="hl-1"> </span><span class="hl-6">Uint8Array</span><span class="hl-1">(</span><span class="hl-3">fs</span><span class="hl-1">.</span><span class="hl-6">readFileSync</span><span class="hl-1">(</span><span class="hl-4">&#39;./MyBlueprint.sbp&#39;</span><span class="hl-1">)).</span><span class="hl-3">buffer</span><span class="hl-1">;</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">configFile</span><span class="hl-1"> = </span><span class="hl-2">new</span><span class="hl-1"> </span><span class="hl-6">Uint8Array</span><span class="hl-1">(</span><span class="hl-3">fs</span><span class="hl-1">.</span><span class="hl-6">readFileSync</span><span class="hl-1">(</span><span class="hl-4">&#39;./MyBlueprint.sbpcfg&#39;</span><span class="hl-1">)).</span><span class="hl-3">buffer</span><span class="hl-1">;</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">blueprint</span><span class="hl-1"> = </span><span class="hl-3">Parser</span><span class="hl-1">.</span><span class="hl-6">ParseBlueprintFiles</span><span class="hl-1">(</span><span class="hl-4">&#39;Myblueprint&#39;</span><span class="hl-1">, </span><span class="hl-3">mainFile</span><span class="hl-1">, </span><span class="hl-3">configFile</span><span class="hl-1">);</span><br/><br/><span class="hl-7">// write to json file</span><br/><span class="hl-3">fs</span><span class="hl-1">.</span><span class="hl-6">writeFileSync</span><span class="hl-1">(</span><span class="hl-4">&#39;Myblueprint.json&#39;</span><span class="hl-1">, </span><span class="hl-5">JSON</span><span class="hl-1">.</span><span class="hl-6">stringify</span><span class="hl-1">(</span><span class="hl-3">blueprint</span><span class="hl-1">));</span>
82
97
  </code><button type="button">Copy</button></pre>
83
98
 
84
- <a id="md:writing-blueprints" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Writing Blueprints<a href="#md:writing-blueprints" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><p>Consequently, writing a blueprint into binary data works the same way with getting callbacks in the same style as the save parsing.</p>
99
+ <h1 id="writing-blueprints" class="tsd-anchor-link">Writing Blueprints<a href="#writing-blueprints" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
100
+ <p>Consequently, writing a blueprint into binary data works the same way with getting callbacks in the same style as the save parsing.</p>
85
101
  <pre><code class="js"><span class="hl-0">import</span><span class="hl-1"> </span><span class="hl-2">*</span><span class="hl-1"> </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-3">fs</span><span class="hl-1"> </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-4">&#39;fs&#39;</span><span class="hl-1">;</span><br/><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-3">Parser</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-4">&quot;@etothepii/satisfactory-file-parser&quot;</span><span class="hl-1">;</span><br/><br/><span class="hl-2">let</span><span class="hl-1"> </span><span class="hl-3">mainFileHeader</span><span class="hl-1">: </span><span class="hl-9">Uint8Array</span><span class="hl-1">;</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">mainFileBodyChunks</span><span class="hl-1">: </span><span class="hl-9">Uint8Array</span><span class="hl-1">[] = [];</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">summary</span><span class="hl-1"> = </span><span class="hl-3">Parser</span><span class="hl-1">.</span><span class="hl-6">WriteBlueprintFiles</span><span class="hl-1">(</span><span class="hl-3">blueprint</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-3">header</span><span class="hl-1"> </span><span class="hl-2">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-3">console</span><span class="hl-1">.</span><span class="hl-6">log</span><span class="hl-1">(</span><span class="hl-4">&#39;on main file header.&#39;</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-3">mainFileHeader</span><span class="hl-1"> = </span><span class="hl-3">header</span><span class="hl-1">;</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> </span><span class="hl-3">chunk</span><span class="hl-1"> </span><span class="hl-2">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-3">console</span><span class="hl-1">.</span><span class="hl-6">log</span><span class="hl-1">(</span><span class="hl-4">&#39;on main file body chunk.&#39;</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-3">mainFileBodyChunks</span><span class="hl-1">.</span><span class="hl-6">push</span><span class="hl-1">(</span><span class="hl-3">chunk</span><span class="hl-1">);</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">);</span><br/><br/><span class="hl-7">// write complete .sbp file back to disk</span><br/><span class="hl-3">fs</span><span class="hl-1">.</span><span class="hl-6">writeFileSync</span><span class="hl-1">(</span><span class="hl-4">&#39;./MyBlueprint.sbp&#39;</span><span class="hl-1">, </span><span class="hl-2">new</span><span class="hl-1"> </span><span class="hl-6">Uint8Array</span><span class="hl-1">(</span><span class="hl-3">Buffer</span><span class="hl-1">.</span><span class="hl-6">concat</span><span class="hl-1">([</span><span class="hl-3">mainFileHeader</span><span class="hl-1">!, ...</span><span class="hl-3">mainFileBodyChunks</span><span class="hl-1">])));</span><br/><br/><span class="hl-7">// write .sbpcfg file back to disk, we get that data from the result of WriteBlueprintFiles</span><br/><span class="hl-3">fs</span><span class="hl-1">.</span><span class="hl-6">writeFileSync</span><span class="hl-1">(</span><span class="hl-4">&#39;./MyBlueprint.sbpcfg&#39;</span><span class="hl-1">, </span><span class="hl-2">new</span><span class="hl-1"> </span><span class="hl-6">Uint8Array</span><span class="hl-1">(</span><span class="hl-3">summary</span><span class="hl-1">.</span><span class="hl-3">configFileBinary</span><span class="hl-1">));</span>
86
102
  </code><button type="button">Copy</button></pre>
87
103
 
88
- <a id="md:additional-options-on-the-parser-methods" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Additional Options on the Parser Methods<a href="#md:additional-options-on-the-parser-methods" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>For every parser call, you can pass optional callbacks to receive additional info.
104
+ <h2 id="additional-options-on-the-parser-methods" class="tsd-anchor-link">Additional Options on the Parser Methods<a href="#additional-options-on-the-parser-methods" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
105
+ <p>For every parser call, you can pass optional callbacks to receive additional info.
89
106
  Like a callback on the decompressed save body. Parsing saves provides a callback for reporting progress [0,1] and an occasional message.
90
107
  if <code>throwErrors</code> is set to true, the parser will abort immediately on unparseable data.</p>
91
108
  <pre><code class="js"><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">save</span><span class="hl-1"> = </span><span class="hl-3">Parser</span><span class="hl-1">.</span><span class="hl-6">ParseSave</span><span class="hl-1">(</span><span class="hl-4">&#39;MySave&#39;</span><span class="hl-1">, </span><span class="hl-3">file</span><span class="hl-1">.</span><span class="hl-3">buffer</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-6">onDecompressedSaveBody</span><span class="hl-3">:</span><span class="hl-1"> (</span><span class="hl-3">body</span><span class="hl-1">) </span><span class="hl-2">=&gt;</span><span class="hl-1"> </span><span class="hl-3">console</span><span class="hl-1">.</span><span class="hl-6">log</span><span class="hl-1">(</span><span class="hl-4">&#39;on decompressed body&#39;</span><span class="hl-1">, </span><span class="hl-3">body</span><span class="hl-1">.</span><span class="hl-3">byteLength</span><span class="hl-1">),</span><br/><span class="hl-1"> </span><span class="hl-6">onProgressCallback</span><span class="hl-3">:</span><span class="hl-1"> (</span><span class="hl-3">progress</span><span class="hl-1">, </span><span class="hl-3">msg</span><span class="hl-1">) </span><span class="hl-2">=&gt;</span><span class="hl-1"> </span><span class="hl-3">console</span><span class="hl-1">.</span><span class="hl-6">log</span><span class="hl-1">(</span><span class="hl-3">progress</span><span class="hl-1">, </span><span class="hl-3">msg</span><span class="hl-1">),</span><br/><span class="hl-1"> </span><span class="hl-3">throwErrors:</span><span class="hl-1"> </span><span class="hl-2">false</span><br/><span class="hl-1">});</span>
@@ -97,19 +114,24 @@ if <code>throwErrors</code> is set to true, the parser will abort immediately on
97
114
  <pre><code class="js"><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">blueprint</span><span class="hl-1"> = </span><span class="hl-3">Parser</span><span class="hl-1">.</span><span class="hl-6">ParseBlueprintFiles</span><span class="hl-1">(</span><span class="hl-4">&#39;Myblueprint&#39;</span><span class="hl-1">, </span><span class="hl-3">file</span><span class="hl-1">, </span><span class="hl-3">configFile</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-6">onDecompressedBlueprintBody</span><span class="hl-3">:</span><span class="hl-1"> (</span><span class="hl-3">body</span><span class="hl-1">) </span><span class="hl-2">=&gt;</span><span class="hl-1"> </span><span class="hl-3">console</span><span class="hl-1">.</span><span class="hl-6">log</span><span class="hl-1">(</span><span class="hl-4">&#39;on decompressed body&#39;</span><span class="hl-1">, </span><span class="hl-3">body</span><span class="hl-1">.</span><span class="hl-3">byteLength</span><span class="hl-1">),</span><br/><span class="hl-1"> </span><span class="hl-3">throwErrors:</span><span class="hl-1"> </span><span class="hl-2">false</span><br/><span class="hl-1">});</span>
98
115
  </code><button type="button">Copy</button></pre>
99
116
 
100
- <a id="md:save-editing-examples-in-jsts" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Save Editing Examples (in JS/TS)<a href="#md:save-editing-examples-in-jsts" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><pre><code class="js"><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-3">SaveComponent</span><span class="hl-1">, </span><span class="hl-3">SaveEntity</span><span class="hl-1">, </span><span class="hl-3">StructArrayProperty</span><span class="hl-1">, </span><span class="hl-3">Int32Property</span><span class="hl-1">, </span><span class="hl-3">ObjectProperty</span><span class="hl-1">, </span><span class="hl-3">StrProperty</span><span class="hl-1">, </span><span class="hl-3">StructProperty</span><span class="hl-1">, </span><span class="hl-3">InventoryItemStructPropertyValue</span><span class="hl-1">, </span><span class="hl-3">DynamicStructPropertyValue</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-4">&#39;@etothepii/satisfactory-file-parser&#39;</span><span class="hl-1">;</span><br/><br/><span class="hl-7">// method to overwrite save objects</span><br/><span class="hl-7">// currently quite inefficient to loop through everything, so theres room to improve in a future version. Feel free to raise an issue.</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-6">modifyObjects</span><span class="hl-1"> = (...</span><span class="hl-3">modifiedObjects</span><span class="hl-1">: (</span><span class="hl-9">SaveEntity</span><span class="hl-1"> | </span><span class="hl-9">SaveComponent</span><span class="hl-1">)[]) </span><span class="hl-2">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-0">for</span><span class="hl-1"> (</span><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">modifiedObject</span><span class="hl-1"> </span><span class="hl-2">of</span><span class="hl-1"> </span><span class="hl-3">modifiedObjects</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-0">for</span><span class="hl-1"> (</span><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">level</span><span class="hl-1"> </span><span class="hl-2">of</span><span class="hl-1"> </span><span class="hl-3">Object</span><span class="hl-1">.</span><span class="hl-6">values</span><span class="hl-1">(</span><span class="hl-3">save</span><span class="hl-1">.</span><span class="hl-3">levels</span><span class="hl-1">)) {</span><br/><span class="hl-1"> </span><span class="hl-0">for</span><span class="hl-1"> (</span><span class="hl-2">let</span><span class="hl-1"> </span><span class="hl-3">i</span><span class="hl-1"> = </span><span class="hl-8">0</span><span class="hl-1">; </span><span class="hl-3">i</span><span class="hl-1"> &lt; </span><span class="hl-3">level</span><span class="hl-1">.</span><span class="hl-3">objects</span><span class="hl-1">.</span><span class="hl-3">length</span><span class="hl-1">; </span><span class="hl-3">i</span><span class="hl-1">++) {</span><br/><span class="hl-1"> </span><span class="hl-0">if</span><span class="hl-1"> (</span><span class="hl-3">level</span><span class="hl-1">.</span><span class="hl-3">objects</span><span class="hl-1">[</span><span class="hl-3">i</span><span class="hl-1">].</span><span class="hl-3">instanceName</span><span class="hl-1"> === </span><span class="hl-3">modifiedObject</span><span class="hl-1">.</span><span class="hl-3">instanceName</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-3">level</span><span class="hl-1">.</span><span class="hl-3">objects</span><span class="hl-1">[</span><span class="hl-3">i</span><span class="hl-1">] = </span><span class="hl-3">modifiedObject</span><span class="hl-1">;</span><br/><span class="hl-1"> }</span><br/><span class="hl-1"> }</span><br/><span class="hl-1"> }</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">objects</span><span class="hl-1"> = </span><span class="hl-3">Object</span><span class="hl-1">.</span><span class="hl-6">values</span><span class="hl-1">(</span><span class="hl-3">save</span><span class="hl-1">.</span><span class="hl-3">levels</span><span class="hl-1">).</span><span class="hl-6">flatMap</span><span class="hl-1">(</span><span class="hl-3">level</span><span class="hl-1"> </span><span class="hl-2">=&gt;</span><span class="hl-1"> </span><span class="hl-3">level</span><span class="hl-1">.</span><span class="hl-3">objects</span><span class="hl-1">);</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">collectables</span><span class="hl-1"> = </span><span class="hl-3">Object</span><span class="hl-1">.</span><span class="hl-6">values</span><span class="hl-1">(</span><span class="hl-3">save</span><span class="hl-1">.</span><span class="hl-3">levels</span><span class="hl-1">).</span><span class="hl-6">flatMap</span><span class="hl-1">(</span><span class="hl-3">level</span><span class="hl-1"> </span><span class="hl-2">=&gt;</span><span class="hl-1"> </span><span class="hl-3">level</span><span class="hl-1">.</span><span class="hl-3">collectables</span><span class="hl-1">);</span>
117
+ <h1 id="save-editing-examples-in-jsts" class="tsd-anchor-link">Save Editing Examples (in JS/TS)<a href="#save-editing-examples-in-jsts" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
118
+ <pre><code class="js"><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-3">SaveComponent</span><span class="hl-1">, </span><span class="hl-3">SaveEntity</span><span class="hl-1">, </span><span class="hl-3">StructArrayProperty</span><span class="hl-1">, </span><span class="hl-3">Int32Property</span><span class="hl-1">, </span><span class="hl-3">ObjectProperty</span><span class="hl-1">, </span><span class="hl-3">StrProperty</span><span class="hl-1">, </span><span class="hl-3">StructProperty</span><span class="hl-1">, </span><span class="hl-3">InventoryItemStructPropertyValue</span><span class="hl-1">, </span><span class="hl-3">DynamicStructPropertyValue</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-4">&#39;@etothepii/satisfactory-file-parser&#39;</span><span class="hl-1">;</span><br/><br/><span class="hl-7">// method to overwrite save objects</span><br/><span class="hl-7">// currently quite inefficient to loop through everything, so theres room to improve in a future version. Feel free to raise an issue.</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-6">modifyObjects</span><span class="hl-1"> = (...</span><span class="hl-3">modifiedObjects</span><span class="hl-1">: (</span><span class="hl-9">SaveEntity</span><span class="hl-1"> | </span><span class="hl-9">SaveComponent</span><span class="hl-1">)[]) </span><span class="hl-2">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-0">for</span><span class="hl-1"> (</span><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">modifiedObject</span><span class="hl-1"> </span><span class="hl-2">of</span><span class="hl-1"> </span><span class="hl-3">modifiedObjects</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-0">for</span><span class="hl-1"> (</span><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">level</span><span class="hl-1"> </span><span class="hl-2">of</span><span class="hl-1"> </span><span class="hl-3">Object</span><span class="hl-1">.</span><span class="hl-6">values</span><span class="hl-1">(</span><span class="hl-3">save</span><span class="hl-1">.</span><span class="hl-3">levels</span><span class="hl-1">)) {</span><br/><span class="hl-1"> </span><span class="hl-0">for</span><span class="hl-1"> (</span><span class="hl-2">let</span><span class="hl-1"> </span><span class="hl-3">i</span><span class="hl-1"> = </span><span class="hl-8">0</span><span class="hl-1">; </span><span class="hl-3">i</span><span class="hl-1"> &lt; </span><span class="hl-3">level</span><span class="hl-1">.</span><span class="hl-3">objects</span><span class="hl-1">.</span><span class="hl-3">length</span><span class="hl-1">; </span><span class="hl-3">i</span><span class="hl-1">++) {</span><br/><span class="hl-1"> </span><span class="hl-0">if</span><span class="hl-1"> (</span><span class="hl-3">level</span><span class="hl-1">.</span><span class="hl-3">objects</span><span class="hl-1">[</span><span class="hl-3">i</span><span class="hl-1">].</span><span class="hl-3">instanceName</span><span class="hl-1"> === </span><span class="hl-3">modifiedObject</span><span class="hl-1">.</span><span class="hl-3">instanceName</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-3">level</span><span class="hl-1">.</span><span class="hl-3">objects</span><span class="hl-1">[</span><span class="hl-3">i</span><span class="hl-1">] = </span><span class="hl-3">modifiedObject</span><span class="hl-1">;</span><br/><span class="hl-1"> }</span><br/><span class="hl-1"> }</span><br/><span class="hl-1"> }</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">objects</span><span class="hl-1"> = </span><span class="hl-3">Object</span><span class="hl-1">.</span><span class="hl-6">values</span><span class="hl-1">(</span><span class="hl-3">save</span><span class="hl-1">.</span><span class="hl-3">levels</span><span class="hl-1">).</span><span class="hl-6">flatMap</span><span class="hl-1">(</span><span class="hl-3">level</span><span class="hl-1"> </span><span class="hl-2">=&gt;</span><span class="hl-1"> </span><span class="hl-3">level</span><span class="hl-1">.</span><span class="hl-3">objects</span><span class="hl-1">);</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">collectables</span><span class="hl-1"> = </span><span class="hl-3">Object</span><span class="hl-1">.</span><span class="hl-6">values</span><span class="hl-1">(</span><span class="hl-3">save</span><span class="hl-1">.</span><span class="hl-3">levels</span><span class="hl-1">).</span><span class="hl-6">flatMap</span><span class="hl-1">(</span><span class="hl-3">level</span><span class="hl-1"> </span><span class="hl-2">=&gt;</span><span class="hl-1"> </span><span class="hl-3">level</span><span class="hl-1">.</span><span class="hl-3">collectables</span><span class="hl-1">);</span>
101
119
  </code><button type="button">Copy</button></pre>
102
120
 
103
- <a id="md:example-print-hub-terminal-location" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Example Print Hub Terminal Location<a href="#md:example-print-hub-terminal-location" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><pre><code class="js"><span class="hl-7">// get hub terminals. Beware that filter returns a COPIED array and not the original objects.</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">hubTerminals</span><span class="hl-1"> = </span><span class="hl-3">objects</span><span class="hl-1">.</span><span class="hl-6">filter</span><span class="hl-1">(</span><span class="hl-3">obj</span><span class="hl-1"> </span><span class="hl-2">=&gt;</span><span class="hl-1"> </span><span class="hl-3">obj</span><span class="hl-1">.</span><span class="hl-3">typePath</span><span class="hl-1"> === </span><span class="hl-4">&#39;/Game/FactoryGame/Buildable/Factory/HubTerminal/Build_HubTerminal.Build_HubTerminal_C&#39;</span><span class="hl-1">) </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-9">SaveEntity</span><span class="hl-1">[];</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">firstHubPosition</span><span class="hl-1"> = </span><span class="hl-3">hubTerminals</span><span class="hl-1">[</span><span class="hl-8">0</span><span class="hl-1">].</span><span class="hl-3">transform</span><span class="hl-1">.</span><span class="hl-3">translation</span><span class="hl-1">;</span><br/><span class="hl-3">console</span><span class="hl-1">.</span><span class="hl-6">log</span><span class="hl-1">(</span><span class="hl-4">`Hub terminal is located at </span><span class="hl-2">${</span><span class="hl-3">firstHubPosition</span><span class="hl-10">.</span><span class="hl-3">x</span><span class="hl-2">}</span><span class="hl-4">, </span><span class="hl-2">${</span><span class="hl-3">firstHubPosition</span><span class="hl-10">.</span><span class="hl-3">y</span><span class="hl-2">}</span><span class="hl-4">, </span><span class="hl-2">${</span><span class="hl-3">firstHubPosition</span><span class="hl-10">.</span><span class="hl-3">z</span><span class="hl-2">}</span><span class="hl-4">`</span><span class="hl-1">);</span>
121
+ <h2 id="example-print-hub-terminal-location" class="tsd-anchor-link">Example Print Hub Terminal Location<a href="#example-print-hub-terminal-location" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
122
+ <pre><code class="js"><span class="hl-7">// get hub terminals. Beware that filter returns a COPIED array and not the original objects.</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">hubTerminals</span><span class="hl-1"> = </span><span class="hl-3">objects</span><span class="hl-1">.</span><span class="hl-6">filter</span><span class="hl-1">(</span><span class="hl-3">obj</span><span class="hl-1"> </span><span class="hl-2">=&gt;</span><span class="hl-1"> </span><span class="hl-3">obj</span><span class="hl-1">.</span><span class="hl-3">typePath</span><span class="hl-1"> === </span><span class="hl-4">&#39;/Game/FactoryGame/Buildable/Factory/HubTerminal/Build_HubTerminal.Build_HubTerminal_C&#39;</span><span class="hl-1">) </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-9">SaveEntity</span><span class="hl-1">[];</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">firstHubPosition</span><span class="hl-1"> = </span><span class="hl-3">hubTerminals</span><span class="hl-1">[</span><span class="hl-8">0</span><span class="hl-1">].</span><span class="hl-3">transform</span><span class="hl-1">.</span><span class="hl-3">translation</span><span class="hl-1">;</span><br/><span class="hl-3">console</span><span class="hl-1">.</span><span class="hl-6">log</span><span class="hl-1">(</span><span class="hl-4">`Hub terminal is located at </span><span class="hl-2">${</span><span class="hl-3">firstHubPosition</span><span class="hl-10">.</span><span class="hl-3">x</span><span class="hl-2">}</span><span class="hl-4">, </span><span class="hl-2">${</span><span class="hl-3">firstHubPosition</span><span class="hl-10">.</span><span class="hl-3">y</span><span class="hl-2">}</span><span class="hl-4">, </span><span class="hl-2">${</span><span class="hl-3">firstHubPosition</span><span class="hl-10">.</span><span class="hl-3">z</span><span class="hl-2">}</span><span class="hl-4">`</span><span class="hl-1">);</span>
104
123
  </code><button type="button">Copy</button></pre>
105
124
 
106
- <a id="md:example-modify-player-locations" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Example Modify Player Locations<a href="#md:example-modify-player-locations" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><pre><code class="js"><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">players</span><span class="hl-1"> = </span><span class="hl-3">objects</span><span class="hl-1">.</span><span class="hl-6">filter</span><span class="hl-1">(</span><span class="hl-3">obj</span><span class="hl-1"> </span><span class="hl-2">=&gt;</span><span class="hl-1"> </span><span class="hl-3">obj</span><span class="hl-1">.</span><span class="hl-3">typePath</span><span class="hl-1"> === </span><span class="hl-4">&#39;/Game/FactoryGame/Character/Player/Char_Player.Char_Player_C&#39;</span><span class="hl-1">) </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-9">SaveEntity</span><span class="hl-1">[];</span><br/><span class="hl-0">for</span><span class="hl-1"> (</span><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">player</span><span class="hl-1"> </span><span class="hl-2">of</span><span class="hl-1"> </span><span class="hl-3">players</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">name</span><span class="hl-1"> = (</span><span class="hl-3">player</span><span class="hl-1">.</span><span class="hl-3">properties</span><span class="hl-1">.</span><span class="hl-3">mCachedPlayerName</span><span class="hl-1"> </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-9">StrProperty</span><span class="hl-1">).</span><span class="hl-3">value</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-3">player</span><span class="hl-1">.</span><span class="hl-3">transform</span><span class="hl-1">.</span><span class="hl-3">translation</span><span class="hl-1"> = {</span><br/><span class="hl-1"> </span><span class="hl-3">x:</span><span class="hl-1"> </span><span class="hl-3">player</span><span class="hl-1">.</span><span class="hl-3">transform</span><span class="hl-1">.</span><span class="hl-3">translation</span><span class="hl-1">.</span><span class="hl-3">x</span><span class="hl-1"> + </span><span class="hl-8">5000</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-3">y:</span><span class="hl-1"> </span><span class="hl-3">player</span><span class="hl-1">.</span><span class="hl-3">transform</span><span class="hl-1">.</span><span class="hl-3">translation</span><span class="hl-1">.</span><span class="hl-3">y</span><span class="hl-1"> + </span><span class="hl-8">5000</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-3">z:</span><span class="hl-1"> </span><span class="hl-3">player</span><span class="hl-1">.</span><span class="hl-3">transform</span><span class="hl-1">.</span><span class="hl-3">translation</span><span class="hl-1">.</span><span class="hl-3">z</span><span class="hl-1">,</span><br/><span class="hl-1"> }</span><br/><span class="hl-1"> </span><span class="hl-3">console</span><span class="hl-1">.</span><span class="hl-6">log</span><span class="hl-1">(</span><span class="hl-4">`Player </span><span class="hl-2">${</span><span class="hl-3">name</span><span class="hl-2">}</span><span class="hl-4"> is now located at </span><span class="hl-2">${</span><span class="hl-3">player</span><span class="hl-10">.</span><span class="hl-3">transform</span><span class="hl-10">.</span><span class="hl-3">translation</span><span class="hl-10">.</span><span class="hl-3">x</span><span class="hl-2">}</span><span class="hl-4">, </span><span class="hl-2">${</span><span class="hl-3">player</span><span class="hl-10">.</span><span class="hl-3">transform</span><span class="hl-10">.</span><span class="hl-3">translation</span><span class="hl-10">.</span><span class="hl-3">y</span><span class="hl-2">}</span><span class="hl-4">, </span><span class="hl-2">${</span><span class="hl-3">player</span><span class="hl-10">.</span><span class="hl-3">transform</span><span class="hl-10">.</span><span class="hl-3">translation</span><span class="hl-10">.</span><span class="hl-3">z</span><span class="hl-2">}</span><span class="hl-4">`</span><span class="hl-1">);</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-7">// modify original save objects</span><br/><span class="hl-6">modifyObjects</span><span class="hl-1">(...</span><span class="hl-3">players</span><span class="hl-1">);</span>
125
+ <h2 id="example-modify-player-locations" class="tsd-anchor-link">Example Modify Player Locations<a href="#example-modify-player-locations" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
126
+ <pre><code class="js"><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">players</span><span class="hl-1"> = </span><span class="hl-3">objects</span><span class="hl-1">.</span><span class="hl-6">filter</span><span class="hl-1">(</span><span class="hl-3">obj</span><span class="hl-1"> </span><span class="hl-2">=&gt;</span><span class="hl-1"> </span><span class="hl-3">obj</span><span class="hl-1">.</span><span class="hl-3">typePath</span><span class="hl-1"> === </span><span class="hl-4">&#39;/Game/FactoryGame/Character/Player/Char_Player.Char_Player_C&#39;</span><span class="hl-1">) </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-9">SaveEntity</span><span class="hl-1">[];</span><br/><span class="hl-0">for</span><span class="hl-1"> (</span><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">player</span><span class="hl-1"> </span><span class="hl-2">of</span><span class="hl-1"> </span><span class="hl-3">players</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">name</span><span class="hl-1"> = (</span><span class="hl-3">player</span><span class="hl-1">.</span><span class="hl-3">properties</span><span class="hl-1">.</span><span class="hl-3">mCachedPlayerName</span><span class="hl-1"> </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-9">StrProperty</span><span class="hl-1">).</span><span class="hl-3">value</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-3">player</span><span class="hl-1">.</span><span class="hl-3">transform</span><span class="hl-1">.</span><span class="hl-3">translation</span><span class="hl-1"> = {</span><br/><span class="hl-1"> </span><span class="hl-3">x:</span><span class="hl-1"> </span><span class="hl-3">player</span><span class="hl-1">.</span><span class="hl-3">transform</span><span class="hl-1">.</span><span class="hl-3">translation</span><span class="hl-1">.</span><span class="hl-3">x</span><span class="hl-1"> + </span><span class="hl-8">5000</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-3">y:</span><span class="hl-1"> </span><span class="hl-3">player</span><span class="hl-1">.</span><span class="hl-3">transform</span><span class="hl-1">.</span><span class="hl-3">translation</span><span class="hl-1">.</span><span class="hl-3">y</span><span class="hl-1"> + </span><span class="hl-8">5000</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-3">z:</span><span class="hl-1"> </span><span class="hl-3">player</span><span class="hl-1">.</span><span class="hl-3">transform</span><span class="hl-1">.</span><span class="hl-3">translation</span><span class="hl-1">.</span><span class="hl-3">z</span><span class="hl-1">,</span><br/><span class="hl-1"> }</span><br/><span class="hl-1"> </span><span class="hl-3">console</span><span class="hl-1">.</span><span class="hl-6">log</span><span class="hl-1">(</span><span class="hl-4">`Player </span><span class="hl-2">${</span><span class="hl-3">name</span><span class="hl-2">}</span><span class="hl-4"> is now located at </span><span class="hl-2">${</span><span class="hl-3">player</span><span class="hl-10">.</span><span class="hl-3">transform</span><span class="hl-10">.</span><span class="hl-3">translation</span><span class="hl-10">.</span><span class="hl-3">x</span><span class="hl-2">}</span><span class="hl-4">, </span><span class="hl-2">${</span><span class="hl-3">player</span><span class="hl-10">.</span><span class="hl-3">transform</span><span class="hl-10">.</span><span class="hl-3">translation</span><span class="hl-10">.</span><span class="hl-3">y</span><span class="hl-2">}</span><span class="hl-4">, </span><span class="hl-2">${</span><span class="hl-3">player</span><span class="hl-10">.</span><span class="hl-3">transform</span><span class="hl-10">.</span><span class="hl-3">translation</span><span class="hl-10">.</span><span class="hl-3">z</span><span class="hl-2">}</span><span class="hl-4">`</span><span class="hl-1">);</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-7">// modify original save objects</span><br/><span class="hl-6">modifyObjects</span><span class="hl-1">(...</span><span class="hl-3">players</span><span class="hl-1">);</span>
107
127
  </code><button type="button">Copy</button></pre>
108
128
 
109
- <a id="md:example-overwrite-item-stack-in-a-storage-container" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Example Overwrite Item Stack in a Storage Container<a href="#md:example-overwrite-item-stack-in-a-storage-container" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><pre><code class="js"><span class="hl-7">// get the first storage container, either mk1 or mk2.</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">storageContainers</span><span class="hl-1"> = </span><span class="hl-3">objects</span><span class="hl-1">.</span><span class="hl-6">filter</span><span class="hl-1">(</span><span class="hl-3">obj</span><span class="hl-1"> </span><span class="hl-2">=&gt;</span><br/><span class="hl-1"> </span><span class="hl-3">obj</span><span class="hl-1">.</span><span class="hl-3">typePath</span><span class="hl-1"> === </span><span class="hl-4">&#39;/Game/FactoryGame/Buildable/Factory/StorageContainerMk1/Build_StorageContainerMk1.Build_StorageContainerMk1_C&#39;</span><br/><span class="hl-1"> || </span><span class="hl-3">obj</span><span class="hl-1">.</span><span class="hl-3">typePath</span><span class="hl-1"> === </span><span class="hl-4">&#39;/Game/FactoryGame/Buildable/Factory/StorageContainerMk2/Build_StorageContainerMk2.Build_StorageContainerMk2_C&#39;</span><br/><span class="hl-1">);</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">firstContainer</span><span class="hl-1"> = </span><span class="hl-3">storageContainers</span><span class="hl-1">[</span><span class="hl-8">0</span><span class="hl-1">];</span><br/><br/><span class="hl-7">// the container has a reference name to an inventory component.</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">inventoryReference</span><span class="hl-1"> = </span><span class="hl-3">firstContainer</span><span class="hl-1">.</span><span class="hl-3">properties</span><span class="hl-1">.</span><span class="hl-3">mStorageInventory</span><span class="hl-1"> </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-9">ObjectProperty</span><span class="hl-1">;</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">inventory</span><span class="hl-1"> = </span><span class="hl-3">objects</span><span class="hl-1">.</span><span class="hl-6">find</span><span class="hl-1">(</span><span class="hl-3">obj</span><span class="hl-1"> </span><span class="hl-2">=&gt;</span><span class="hl-1"> </span><span class="hl-3">obj</span><span class="hl-1">.</span><span class="hl-3">instanceName</span><span class="hl-1"> === </span><span class="hl-3">inventoryReference</span><span class="hl-1">.</span><span class="hl-3">value</span><span class="hl-1">.</span><span class="hl-3">pathName</span><span class="hl-1">) </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-9">SaveComponent</span><span class="hl-1">;</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">inventoryStacks</span><span class="hl-1"> = </span><span class="hl-3">inventory</span><span class="hl-1">.</span><span class="hl-3">properties</span><span class="hl-1">.</span><span class="hl-3">mInventoryStacks</span><span class="hl-1"> </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-9">StructArrayProperty</span><span class="hl-1">;</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">firstStack</span><span class="hl-1"> = </span><span class="hl-3">inventoryStacks</span><span class="hl-1">.</span><span class="hl-3">values</span><span class="hl-1">[</span><span class="hl-8">0</span><span class="hl-1">];</span><br/><br/><span class="hl-7">// Items within ItemStacks are quite nested. And StructProperties can basically be anything.</span><br/><span class="hl-7">// overwrite first item stack with 5 Rotors.</span><br/><span class="hl-1">(((</span><span class="hl-3">firstStack</span><span class="hl-1">.</span><span class="hl-3">value</span><span class="hl-1"> </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-9">DynamicStructPropertyValue</span><span class="hl-1">).</span><span class="hl-3">properties</span><span class="hl-1">.</span><span class="hl-3">Item</span><span class="hl-1"> </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-9">StructProperty</span><span class="hl-1">).</span><span class="hl-3">value</span><span class="hl-1"> </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-9">InventoryItemStructPropertyValue</span><span class="hl-1">).</span><span class="hl-3">itemReference</span><span class="hl-1"> = {</span><br/><span class="hl-1"> </span><span class="hl-3">levelName:</span><span class="hl-1"> </span><span class="hl-4">&#39;&#39;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-3">pathName:</span><span class="hl-1"> </span><span class="hl-4">&#39;/Game/FactoryGame/Resource/Parts/Rotor/Desc_Rotor.Desc_Rotor_C&#39;</span><br/><span class="hl-1">};</span><br/><span class="hl-1">((</span><span class="hl-3">firstStack</span><span class="hl-1">.</span><span class="hl-3">value</span><span class="hl-1"> </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-9">DynamicStructPropertyValue</span><span class="hl-1">).</span><span class="hl-3">properties</span><span class="hl-1">.</span><span class="hl-3">NumItems</span><span class="hl-1"> </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-9">Int32Property</span><span class="hl-1">).</span><span class="hl-3">value</span><span class="hl-1"> = </span><span class="hl-8">5</span><span class="hl-1">;</span><br/><br/><span class="hl-7">// modify original save object</span><br/><span class="hl-6">modifyObjects</span><span class="hl-1">(</span><span class="hl-3">inventory</span><span class="hl-1">);</span>
129
+ <h2 id="example-overwrite-item-stack-in-a-storage-container" class="tsd-anchor-link">Example Overwrite Item Stack in a Storage Container<a href="#example-overwrite-item-stack-in-a-storage-container" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
130
+ <pre><code class="js"><span class="hl-7">// get the first storage container, either mk1 or mk2.</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">storageContainers</span><span class="hl-1"> = </span><span class="hl-3">objects</span><span class="hl-1">.</span><span class="hl-6">filter</span><span class="hl-1">(</span><span class="hl-3">obj</span><span class="hl-1"> </span><span class="hl-2">=&gt;</span><br/><span class="hl-1"> </span><span class="hl-3">obj</span><span class="hl-1">.</span><span class="hl-3">typePath</span><span class="hl-1"> === </span><span class="hl-4">&#39;/Game/FactoryGame/Buildable/Factory/StorageContainerMk1/Build_StorageContainerMk1.Build_StorageContainerMk1_C&#39;</span><br/><span class="hl-1"> || </span><span class="hl-3">obj</span><span class="hl-1">.</span><span class="hl-3">typePath</span><span class="hl-1"> === </span><span class="hl-4">&#39;/Game/FactoryGame/Buildable/Factory/StorageContainerMk2/Build_StorageContainerMk2.Build_StorageContainerMk2_C&#39;</span><br/><span class="hl-1">);</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">firstContainer</span><span class="hl-1"> = </span><span class="hl-3">storageContainers</span><span class="hl-1">[</span><span class="hl-8">0</span><span class="hl-1">];</span><br/><br/><span class="hl-7">// the container has a reference name to an inventory component.</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">inventoryReference</span><span class="hl-1"> = </span><span class="hl-3">firstContainer</span><span class="hl-1">.</span><span class="hl-3">properties</span><span class="hl-1">.</span><span class="hl-3">mStorageInventory</span><span class="hl-1"> </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-9">ObjectProperty</span><span class="hl-1">;</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">inventory</span><span class="hl-1"> = </span><span class="hl-3">objects</span><span class="hl-1">.</span><span class="hl-6">find</span><span class="hl-1">(</span><span class="hl-3">obj</span><span class="hl-1"> </span><span class="hl-2">=&gt;</span><span class="hl-1"> </span><span class="hl-3">obj</span><span class="hl-1">.</span><span class="hl-3">instanceName</span><span class="hl-1"> === </span><span class="hl-3">inventoryReference</span><span class="hl-1">.</span><span class="hl-3">value</span><span class="hl-1">.</span><span class="hl-3">pathName</span><span class="hl-1">) </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-9">SaveComponent</span><span class="hl-1">;</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">inventoryStacks</span><span class="hl-1"> = </span><span class="hl-3">inventory</span><span class="hl-1">.</span><span class="hl-3">properties</span><span class="hl-1">.</span><span class="hl-3">mInventoryStacks</span><span class="hl-1"> </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-9">StructArrayProperty</span><span class="hl-1">;</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-5">firstStack</span><span class="hl-1"> = </span><span class="hl-3">inventoryStacks</span><span class="hl-1">.</span><span class="hl-3">values</span><span class="hl-1">[</span><span class="hl-8">0</span><span class="hl-1">];</span><br/><br/><span class="hl-7">// Items within ItemStacks are quite nested. And StructProperties can basically be anything.</span><br/><span class="hl-7">// overwrite first item stack with 5 Rotors.</span><br/><span class="hl-1">((</span><span class="hl-3">firstStack</span><span class="hl-1"> </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-9">DynamicStructPropertyValue</span><span class="hl-1">).</span><span class="hl-3">properties</span><span class="hl-1">.</span><span class="hl-3">Item</span><span class="hl-1"> </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-9">InventoryItemStructPropertyValue</span><span class="hl-1">).</span><span class="hl-3">itemReference</span><span class="hl-1"> = {</span><br/><span class="hl-1"> </span><span class="hl-3">levelName:</span><span class="hl-1"> </span><span class="hl-4">&#39;&#39;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-3">pathName:</span><span class="hl-1"> </span><span class="hl-4">&#39;/Game/FactoryGame/Resource/Parts/Rotor/Desc_Rotor.Desc_Rotor_C&#39;</span><br/><span class="hl-1">};</span><br/><span class="hl-1">((</span><span class="hl-3">firstStack</span><span class="hl-1"> </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-9">DynamicStructPropertyValue</span><span class="hl-1">).</span><span class="hl-3">properties</span><span class="hl-1">.</span><span class="hl-3">NumItems</span><span class="hl-1"> </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-9">IntProperty</span><span class="hl-1">).</span><span class="hl-3">value</span><span class="hl-1"> = </span><span class="hl-8">5</span><span class="hl-1">;</span><br/><br/><span class="hl-7">// modify original save object</span><br/><span class="hl-6">modifyObjects</span><span class="hl-1">(</span><span class="hl-3">inventory</span><span class="hl-1">);</span>
110
131
  </code><button type="button">Copy</button></pre>
111
132
 
112
- <a id="md:error-handling-from-330-on" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Error Handling (From 3.3.0 on)<a href="#md:error-handling-from-330-on" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><p>From version <code>3.3.0</code>, the parser will no longer throw every error by default.
133
+ <h1 id="error-handling-from-330-on" class="tsd-anchor-link">Error Handling (From 3.3.0 on)<a href="#error-handling-from-330-on" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
134
+ <p>From version <code>3.3.0</code>, the parser will no longer throw every error by default.
113
135
  Only if you explicitly specify <code>throwErrors: true</code> when calling the parser on saves/blueprints, the parser will immediately abort when unparseable data is encountered.
114
136
  Else, <code>throwErrors: false</code> is the default.</p>
115
137
  <p>When <code>throwErrors</code> is <code>false</code> the behavior is as follows:</p>
@@ -119,5 +141,9 @@ Else, <code>throwErrors: false</code> is the default.</p>
119
141
  <li>Else, objects on a whole scale might be corrupt and will be left out of the parsed JSON entirely.</li>
120
142
  <li>Errors on the broader save structure (order of header, body, structure of body) still get thrown no matter what. Then your save cant be interpreted no matter what.</li>
121
143
  </ul>
122
- <a id="md:auto-generated-typedoc-reference" class="tsd-anchor"></a><h1 class="tsd-anchor-link"><a href="https://raw.githack.com/etothepii4/satisfactory-file-parser/main/docs/index.html" target="_blank" class="external">Auto-Generated TypeDoc Reference</a>.<a href="#md:auto-generated-typedoc-reference" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><a id="md:basic-guide" class="tsd-anchor"></a><h1 class="tsd-anchor-link"><a href="https://github.com/etothepii4/satisfactory-file-parser/blob/main/GUIDE.md" target="_blank" class="external">Basic Guide</a>.<a href="#md:basic-guide" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><p>More detailed explanation of some basic things in the parser.</p>
123
- <a id="md:changelog" class="tsd-anchor"></a><h1 class="tsd-anchor-link"><a href="https://github.com/etothepii4/satisfactory-file-parser/blob/main/CHANGELOG.md" target="_blank" class="external">Changelog</a><a href="#md:changelog" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><a id="md:licence" class="tsd-anchor"></a><h1 class="tsd-anchor-link"><a href="https://github.com/etothepii4/satisfactory-file-parser/blob/main/LICENCE.md" target="_blank" class="external">Licence</a><a href="#md:licence" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1></div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#md:satisfactory-file-parser"><span>Satisfactory <wbr/>File <wbr/>Parser</span></a><a href="#md:supported-versions"><span>Supported <wbr/>Versions</span></a><a href="#md:version-migration"><span>Version <wbr/>Migration</span></a><a href="#md:installation"><span>Installation</span></a><ul><li><ul><li><ul><li><a href="#md:npm"><span>npm</span></a></li><li><a href="#md:yarn"><span>yarn</span></a></li></ul></li></ul></li></ul><a href="#md:bug-reports-or-feedback"><span>Bug <wbr/>Reports or <wbr/>Feedback</span></a><a href="#md:mod-support-✅"><span>Mod <wbr/>Support ✅</span></a><a href="#md:reading-a-save"><span>Reading a <wbr/>Save</span></a><a href="#md:writing-a-save"><span>Writing a <wbr/>Save</span></a><a href="#md:reading-blueprints"><span>Reading <wbr/>Blueprints</span></a><a href="#md:writing-blueprints"><span>Writing <wbr/>Blueprints</span></a><ul><li><a href="#md:additional-options-on-the-parser-methods"><span>Additional <wbr/>Options on the <wbr/>Parser <wbr/>Methods</span></a></li></ul><a href="#md:save-editing-examples-in-jsts"><span>Save <wbr/>Editing <wbr/>Examples (in JS/TS)</span></a><ul><li><a href="#md:example-print-hub-terminal-location"><span>Example <wbr/>Print <wbr/>Hub <wbr/>Terminal <wbr/>Location</span></a></li><li><a href="#md:example-modify-player-locations"><span>Example <wbr/>Modify <wbr/>Player <wbr/>Locations</span></a></li><li><a href="#md:example-overwrite-item-stack-in-a-storage-container"><span>Example <wbr/>Overwrite <wbr/>Item <wbr/>Stack in a <wbr/>Storage <wbr/>Container</span></a></li></ul><a href="#md:error-handling-from-330-on"><span>Error <wbr/>Handling (<wbr/>From 3.3.0 on)</span></a><a href="#md:auto-generated-typedoc-reference"><span>Auto-<wbr/>Generated <wbr/>Type<wbr/>Doc <wbr/>Reference.</span></a><a href="#md:basic-guide"><span>Basic <wbr/>Guide.</span></a><a href="#md:changelog"><span>Changelog</span></a><a href="#md:licence"><span>Licence</span></a></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="modules.html" class="current"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-1"></use></svg><span>@etothepii/satisfactory-file-parser</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base="."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
144
+ <h1 id="auto-generated-typedoc-reference" class="tsd-anchor-link"><a href="https://raw.githack.com/etothepii4/satisfactory-file-parser/main/docs/index.html">Auto-Generated TypeDoc Reference</a>.<a href="#auto-generated-typedoc-reference" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
145
+ <h1 id="basic-guide" class="tsd-anchor-link"><a href="https://github.com/etothepii4/satisfactory-file-parser/blob/main/GUIDE.md">Basic Guide</a>.<a href="#basic-guide" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
146
+ <p>More detailed explanation of some basic things in the parser.</p>
147
+ <h1 id="changelog" class="tsd-anchor-link"><a href="https://github.com/etothepii4/satisfactory-file-parser/blob/main/CHANGELOG.md">Changelog</a><a href="#changelog" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
148
+ <h1 id="licence" class="tsd-anchor-link"><a href="https://github.com/etothepii4/satisfactory-file-parser/blob/main/LICENCE.md">Licence</a><a href="#licence" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
149
+ </div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#satisfactory-file-parser"><span>Satisfactory <wbr/>File <wbr/>Parser</span></a><a href="#supported-versions"><span>Supported <wbr/>Versions</span></a><a href="#version-migration"><span>Version <wbr/>Migration</span></a><a href="#installation"><span>Installation</span></a><ul><li><ul><li><ul><li><a href="#npm"><span>npm</span></a></li><li><a href="#yarn"><span>yarn</span></a></li></ul></li></ul></li></ul><a href="#bug-reports-or-feedback"><span>Bug <wbr/>Reports or <wbr/>Feedback</span></a><a href="#mod-support-11-✅"><span>Mod <wbr/>Support &lt;= 1.1 ✅</span></a><a href="#reading-a-save"><span>Reading a <wbr/>Save</span></a><a href="#writing-a-save"><span>Writing a <wbr/>Save</span></a><a href="#reading-blueprints"><span>Reading <wbr/>Blueprints</span></a><a href="#writing-blueprints"><span>Writing <wbr/>Blueprints</span></a><ul><li><a href="#additional-options-on-the-parser-methods"><span>Additional <wbr/>Options on the <wbr/>Parser <wbr/>Methods</span></a></li></ul><a href="#save-editing-examples-in-jsts"><span>Save <wbr/>Editing <wbr/>Examples (in <wbr/>JS/<wbr/>TS)</span></a><ul><li><a href="#example-print-hub-terminal-location"><span>Example <wbr/>Print <wbr/>Hub <wbr/>Terminal <wbr/>Location</span></a></li><li><a href="#example-modify-player-locations"><span>Example <wbr/>Modify <wbr/>Player <wbr/>Locations</span></a></li><li><a href="#example-overwrite-item-stack-in-a-storage-container"><span>Example <wbr/>Overwrite <wbr/>Item <wbr/>Stack in a <wbr/>Storage <wbr/>Container</span></a></li></ul><a href="#error-handling-from-330-on"><span>Error <wbr/>Handling (<wbr/>From 3.3.0 on)</span></a><a href="#auto-generated-typedoc-reference"><span>Auto-<wbr/>Generated <wbr/>Type<wbr/>Doc <wbr/>Reference.</span></a><a href="#basic-guide"><span>Basic <wbr/>Guide.</span></a><a href="#changelog"><span>Changelog</span></a><a href="#licence"><span>Licence</span></a></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="modules.html">@etothepii/satisfactory-file-parser</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
@@ -0,0 +1,5 @@
1
+ <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>BinaryOperable | @etothepii/satisfactory-file-parser</title><meta name="description" content="Documentation for @etothepii/satisfactory-file-parser"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">@etothepii/satisfactory-file-parser</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">BinaryOperable</a></li></ul><h1>Interface BinaryOperable</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>Describes the ability to operate bytes with the help of some sort of buffer.</p>
2
+ </div></section><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">BinaryOperable</span> <span class="tsd-signature-symbol">{</span><br/>    <a class="tsd-kind-property" href="#alignment">alignment</a><span class="tsd-signature-symbol">:</span> <a href="../enums/Alignment.html" class="tsd-signature-type tsd-kind-enum">Alignment</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#getbufferlength">getBufferLength</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">()</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#getbufferposition">getBufferPosition</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">()</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><section class="tsd-panel tsd-hierarchy" data-refl="4"><h4>Hierarchy (<a href="../hierarchy.html#BinaryOperable">View Summary</a>)</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">BinaryOperable</span><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="BinaryReadable.html" class="tsd-signature-type tsd-kind-interface">BinaryReadable</a></li><li class="tsd-hierarchy-item"><a href="BinaryWritable.html" class="tsd-signature-type tsd-kind-interface">BinaryWritable</a></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/etothepii4/satisfactory-file-parser/blob/0b48ff3ae9d317a4a0bb8d451f6f3147f661c1ab/src/parser/byte/binary-operable.interface.ts#L6">src/parser/byte/binary-operable.interface.ts:6</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h5 class="tsd-index-heading uppercase">Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="#alignment" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>alignment</span></a>
3
+ <a href="#getbufferlength" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>get<wbr/>Buffer<wbr/>Length</span></a>
4
+ <a href="#getbufferposition" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>get<wbr/>Buffer<wbr/>Position</span></a>
5
+ </div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Properties</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="alignment"><span>alignment</span><a href="#alignment" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">alignment</span><span class="tsd-signature-symbol">:</span> <a href="../enums/Alignment.html" class="tsd-signature-type tsd-kind-enum">Alignment</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/etothepii4/satisfactory-file-parser/blob/0b48ff3ae9d317a4a0bb8d451f6f3147f661c1ab/src/parser/byte/binary-operable.interface.ts#L7">src/parser/byte/binary-operable.interface.ts:7</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="getbufferlength"><span>get<wbr/>Buffer<wbr/>Length</span><a href="#getbufferlength" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">getBufferLength</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">()</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/etothepii4/satisfactory-file-parser/blob/0b48ff3ae9d317a4a0bb8d451f6f3147f661c1ab/src/parser/byte/binary-operable.interface.ts#L10">src/parser/byte/binary-operable.interface.ts:10</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="getbufferposition"><span>get<wbr/>Buffer<wbr/>Position</span><a href="#getbufferposition" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">getBufferPosition</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">()</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/etothepii4/satisfactory-file-parser/blob/0b48ff3ae9d317a4a0bb8d451f6f3147f661c1ab/src/parser/byte/binary-operable.interface.ts#L9">src/parser/byte/binary-operable.interface.ts:9</a></li></ul></aside></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary><div><a href="#alignment"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>alignment</span></a><a href="#getbufferlength"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>get<wbr/>Buffer<wbr/>Length</span></a><a href="#getbufferposition"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>get<wbr/>Buffer<wbr/>Position</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@etothepii/satisfactory-file-parser</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>