@etothepii/satisfactory-file-parser 0.1.30 → 0.2.3

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.
@@ -0,0 +1,525 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EDIT = void 0;
4
+ const TYPE_PATH_MINERMK1 = '/Game/FactoryGame/Buildable/Factory/MinerMK1/Build_MinerMk1.Build_MinerMk1_C';
5
+ const TYPE_PATH_MINERMK2 = '/Game/FactoryGame/Buildable/Factory/MinerMk2/Build_MinerMk2.Build_MinerMk2_C';
6
+ const TYPE_PATH_MINERMK3 = '/Game/FactoryGame/Buildable/Factory/MinerMk3/Build_MinerMk3.Build_MinerMk3_C';
7
+ const TYPE_PATH_WATER_EXTRACTOR = '/Game/FactoryGame/Recipes/Buildings/Recipe_WaterPump.Recipe_WaterPump_C';
8
+ const TYPE_PATH_OIL_EXTRACTOR = '/Game/FactoryGame/Buildable/Factory/OilPump/Build_OilPump.Build_OilPump_C';
9
+ const TYPE_PATH_FRACKING_SMASHER = '/Game/FactoryGame/Buildable/Factory/FrackingSmasher/Build_FrackingSmasher.Build_FrackingSmasher_C';
10
+ const TYPE_PATH_FRACKING_EXTRACTOR = '/Game/FactoryGame/Buildable/Factory/FrackingExtractor/Build_FrackingExtractor.Build_FrackingExtractor_C';
11
+ const TYPE_PATH_TREE_GIFT_PRODUCER = '/Game/FactoryGame/Buildable/Factory/Holiday/Build_TreeGiftProducer/Build_TreeGiftProducer.Build_TreeGiftProducer_C';
12
+ const TYPE_PATH_REFINERY = '/Game/FactoryGame/Buildable/Factory/OilRefinery/Build_OilRefinery.Build_OilRefinery_C';
13
+ const TYPE_PATH_BLENDER = '/Game/FactoryGame/Buildable/Factory/Blender/Build_Blender.Build_Blender_C';
14
+ const TYPE_PATH_SMELTER = '/Game/FactoryGame/Buildable/Factory/SmelterMk1/Build_SmelterMk1.Build_SmelterMk1_C';
15
+ const TYPE_PATH_CONSTRUCTOR = '/Game/FactoryGame/Buildable/Factory/ConstructorMk1/Build_ConstructorMk1.Build_ConstructorMk1_C';
16
+ const TYPE_PATH_ASSEMBLER = '/Game/FactoryGame/Buildable/Factory/AssemblerMk1/Build_AssemblerMk1.Build_AssemblerMk1_C';
17
+ const TYPE_PATH_MANUFACTURER = '/Game/FactoryGame/Buildable/Factory/ManufacturerMk1/Build_ManufacturerMk1.Build_ManufacturerMk1_C';
18
+ const TYPE_PATH_PARTICLE_ACCELERATOR = '/Game/FactoryGame/Buildable/Factory/HadronCollider/Build_HadronCollider.Build_HadronCollider_C';
19
+ const TYPE_PATH_FOUNDRY = '/Game/FactoryGame/Buildable/Factory/FoundryMk1/Build_FoundryMk1.Build_FoundryMk1_C';
20
+ const TYPE_PATH_PACKAGER = '/Game/FactoryGame/Buildable/Factory/Packager/Build_Packager.Build_Packager_C';
21
+ const RECIPE_PACKAGER = '/Game/FactoryGame/Recipes/Buildings/Recipe_Packager.Recipe_Packager_C';
22
+ const TYPE_PATH_CONTAINER_MK1 = '/Game/FactoryGame/Buildable/Factory/StorageContainerMk1/Build_StorageContainerMk1.Build_StorageContainerMk1_C';
23
+ const CLASS_NAME_CONTAINER_MK1 = 'Build_StorageContainerMk1_C';
24
+ const TYPE_PATH_CONTAINER_MK2 = '/Game/FactoryGame/Buildable/Factory/StorageContainerMk2/Build_StorageContainerMk2.Build_StorageContainerMk2_C';
25
+ const CLASS_NAME_CONTAINER_MK2 = 'Build_StorageContainerMk2_C';
26
+ const TYPE_PATH_FLUID_BUFFER_MK1 = '/Game/FactoryGame/Buildable/Factory/StorageTank/Build_PipeStorageTank.Build_PipeStorageTank_C';
27
+ const CLASS_NAME_FLUID_BUFFER_MK1 = 'Build_PipeStorageTank_C';
28
+ const RECIPE_FLUID_BUFFER_MK1 = '/Game/FactoryGame/Recipes/Buildings/Recipe_PipeStorageTank.Recipe_PipeStorageTank_C';
29
+ const TYPE_PATH_FLUID_BUFFER_MK2 = '/Game/FactoryGame/Buildable/Factory/IndustrialFluidContainer/Build_IndustrialTank.Build_IndustrialTank_C';
30
+ const CLASS_NAME_FLUID_BUFFER_MK2 = 'Build_IndustrialTank_C';
31
+ const RECIPE_FLUID_BUFFER_MK2 = '/Game/FactoryGame/Recipes/Buildings/Recipe_IndustrialTank.Recipe_IndustrialTank_C';
32
+ const TYPE_PATH_PLAYER_CRATE = '/Game/FactoryGame/-Shared/Crate/BP_Crate.BP_Crate_C';
33
+ const CLASS_NAME_PLAYER_CRATE = 'BP_Crate_C';
34
+ const TYPE_PATH_PLAYER_HAZARD_CRATE = '/Game/FactoryGame/Buildable/Factory/StoragePlayer/Build_StorageHazard.Build_StorageHazard_C';
35
+ const CLASS_NAME_PLAYER_HAZARD_CRATE = 'Build_StorageHazard_C';
36
+ const RECIPE_PLAYER_HAZARD_CRATE = '/Game/FactoryGame/Recipes/Buildings/Recipe_StorageHazard.Recipe_StorageHazard_C';
37
+ const TYPE_PATH_PLAYER_STORAGE_CRATE_INTEGRATED = '/Game/FactoryGame/Buildable/Factory/StoragePlayer/Build_StorageIntegrated.Build_StorageIntegrated_C';
38
+ const CLASS_NAME_PLAYER_STORAGE_CRATE_INTEGRATED = 'Build_StorageIntegrated_C';
39
+ const TYPE_PATH_PLAYER_STORAGE_CRATE = '/Game/FactoryGame/Buildable/Factory/StoragePlayer/Build_StoragePlayer.Build_StoragePlayer_C';
40
+ const CLASS_NAME_PLAYER_STORAGE_CRATE = 'Build_StoragePlayer_C';
41
+ const TYPE_PATH_PLAYER_MEDICAL_CRATE = '/Game/FactoryGame/Buildable/Factory/StoragePlayer/Build_StorageMedkit.Build_StorageMedkit_C';
42
+ const CLASS_NAME_PLAYER_MEDICAL_CRATE = 'Build_StorageMedkit_C';
43
+ const TYPE_PATH_WALL_8x4_01 = '/Game/FactoryGame/Buildable/Building/Wall/Build_Wall_8x4_01.Build_Wall_8x4_01_C';
44
+ const CLASS_NAME_WALL_8x4_01 = 'Build_Wall_8x4_01_C';
45
+ const RECIPE_WALL_8x4_01 = '/Game/FactoryGame/Recipes/Buildings/Walls/Recipe_Wall_8x4_01.Recipe_Wall_8x4_01_C';
46
+ const TYPE_PATH_WALL_GATE_8x4_01 = '/Game/FactoryGame/Buildable/Building/Wall/Build_Wall_Gate_8x4_01.Build_Wall_Gate_8x4_01_C';
47
+ const CLASS_NAME_WALL_GATE_8x4_01 = 'Build_Wall_Gate_8x4_01_C';
48
+ const RECIPE_WALL_GATE_8x4_01 = '/Game/FactoryGame/Recipes/Buildings/Walls/Recipe_Wall_Gate_8x4_01.Recipe_Wall_Gate_8x4_01_C';
49
+ const TYPE_PATH_WALL_WINDOW_8x4_01 = '/Game/FactoryGame/Buildable/Building/Wall/Build_Wall_Window_8x4_01.Build_Wall_Window_8x4_01_C';
50
+ const CLASS_NAME_WALL_WINDOW_8x4_01 = 'Build_Wall_Window_8x4_01_C';
51
+ const RECIPE_WALL_WINDOW_8x4_01 = '/Game/FactoryGame/Recipes/Buildings/Walls/Recipe_Wall_Window_8x4_01.Recipe_Wall_Window_8x4_01_C';
52
+ const TYPE_PATH_WALL_DOOR_8x4_01 = '/Game/FactoryGame/Buildable/Building/Wall/Build_Wall_Door_8x4_01.Build_Wall_Door_8x4_01_C';
53
+ const CLASS_NAME_WALL_DOOR_8x4_01 = 'Build_Wall_Door_8x4_01_C';
54
+ const RECIPE_WALL_DOOR_8x4_01 = '/Game/FactoryGame/Recipes/Buildings/Walls/Recipe_Wall_Door_8x4_01.Recipe_Wall_Door_8x4_01_C';
55
+ const TYPE_PATH_PLAYER = '/Game/FactoryGame/Character/Player/Char_Player.Char_Player_C';
56
+ const CLASS_NAME_PLAYER = 'Char_Player_C';
57
+ const TYPE_PATH_HEALTH_COMPONENT = '/Script/FactoryGame.FGHealthComponent';
58
+ const TYPE_PATH_INVENTORY_COMPONENT = '/Script/FactoryGame.FGInventoryComponent';
59
+ const TYPE_PATH_POWER_CONNECTION_COMPONENT = '/Script/FactoryGame.FGPowerConnectionComponent';
60
+ const TYPE_PATH_RAILWAY_CONNECTION_COMPONENT = '/Script/FactoryGame.FGRailroadTrackConnectionComponent';
61
+ const TYPE_PATH_FACTORY_CONNECTION_COMPONENT = '/Script/FactoryGame.FGFactoryConnectionComponent';
62
+ const FACTORY_CONNECTION_ENUM_BASE = 'EFactoryConnectionDirection';
63
+ const FACTORY_CONNECTION_ENUM_INPUT = FACTORY_CONNECTION_ENUM_BASE + '::FCD_INPUT';
64
+ const FACTORY_CONNECTION_ENUM_OUTPUT = FACTORY_CONNECTION_ENUM_BASE + '::FCD_OUTPUT';
65
+ const TYPE_PATH_ELITESTINGER = '/Game/FactoryGame/Character/Creature/Enemy/Stinger/BigStinger/Char_EliteStinger.Char_EliteStinger_C';
66
+ const CLASS_NAME_ELITEESTINGER = 'Char_EliteStinger_C';
67
+ const TYPE_PATH_LIZARD_DOGGO = '/Game/FactoryGame/Character/Creature/Wildlife/SpaceRabbit/Char_SpaceRabbit.Char_SpaceRabbit_C';
68
+ const CLASS_NAME_LIZARD_DOGGO = 'Char_SpaceRabbit_C';
69
+ const TYPE_PATH_SPACE_GIRAFFE = '/Game/FactoryGame/Character/Creature/Wildlife/SpaceGiraffe/Char_SpaceGiraffe.Char_SpaceGiraffe_C';
70
+ const CLASS_NAME_SPACE_GIRAFFE = 'Char_SpaceGiraffe_C';
71
+ const TYPE_PATH_BIRD = '/Game/FactoryGame/Character/Creature/Wildlife/NonFlyingBird/Char_NonFlyingBird.Char_NonFlyingBird_C';
72
+ const CLASS_NAME_BIRD = 'Char_NonFlyingBird_C';
73
+ const TYPE_PATH_SIGN_SMALL = '/Game/FactoryGame/Buildable/Factory/SignDigital/Build_StandaloneWidgetSign_Small.Build_StandaloneWidgetSign_Small_C';
74
+ const CLASS_NAME_SIGN_SMALL = 'Build_StandaloneWidgetSign_Small_C';
75
+ const RECIPE_SIGN_SMALL = '/Game/FactoryGame/Recipes/Buildings/Recipe_StandaloneWidgetSign_Small.Recipe_StandaloneWidgetSign_Small_C';
76
+ const TYPE_PATH_SIGN_SMALL_WIDE = '/Game/FactoryGame/Buildable/Factory/SignDigital/Build_StandaloneWidgetSign_SmallWide.Build_StandaloneWidgetSign_SmallWide_C';
77
+ const CLASS_NAME_SIGN_SMALL_WIDE = 'Build_StandaloneWidgetSign_SmallWide_C';
78
+ const PREFAB_LAYOUT_SIGN_4x1_1 = '/Game/FactoryGame/Interface/UI/InGame/Signs/SignLayouts/BPW_Sign4x1_1.BPW_Sign4x1_1_C';
79
+ const RECIPE_SIGN_SMALL_WIDE = '/Game/FactoryGame/Recipes/Buildings/Recipe_StandaloneWidgetSign_SmallWide.Recipe_StandaloneWidgetSign_SmallWide_C';
80
+ const TYPE_PATH_SIGN_PORTRAIT = '/Game/FactoryGame/Buildable/Factory/SignDigital/Build_StandaloneWidgetSign_Portrait.Build_StandaloneWidgetSign_Portrait_C';
81
+ const CLASS_NAME_SIGN_PORTRAIT = 'Build_StandaloneWidgetSign_Portrait_C';
82
+ const PREFAB_LAYOUT_SIGN_PORTRAIT = '/Game/FactoryGame/Interface/UI/InGame/Signs/SignLayouts/BPW_Sign2x3_0.BPW_Sign2x3_0_C';
83
+ const RECIPE_SIGN_PORTRAIT = '/Game/FactoryGame/Recipes/Buildings/Recipe_StandaloneWidgetSign_Portrait.Recipe_StandaloneWidgetSign_Portrait_C';
84
+ const TYPE_PATH_PIPE_NETWORK = '/Script/FactoryGame.FGPipeNetwork';
85
+ const RECIPE_BEAM_PAINTED = '/Game/FactoryGame/Prototype/Buildable/Beams/Recipe_Beam_Painted.Recipe_Beam_Painted_C';
86
+ const TYPE_PATH_BEAM_PAINTED = '/Game/FactoryGame/Prototype/Buildable/Beams/Build_Beam_Painted.Build_Beam_Painted_C';
87
+ const CLASS_NAME_BEAM_PAINTED = 'Build_Beam_Painted_C';
88
+ const REGEX_CONVEYORBELT = /^\/Game\/FactoryGame\/Buildable\/Factory\/(ConveyorBeltMk[0-9]+)\/Build_(\1)\.Build_(\1)_C$/;
89
+ const REGEX_CONVEYORLIFT = /^\/Game\/FactoryGame\/Buildable\/Factory\/(ConveyorLiftMk[0-9]+)\/Build_(\1)\.Build_(\1)_C$/;
90
+ const CLASS_NAME_CONVEYOR_BELT_MK1 = 'Build_ConveyorBeltMk1_C';
91
+ const TYPE_PATH_CONVEYOR_BELT_MK1 = '/Game/FactoryGame/Buildable/Factory/ConveyorBeltMk1/Build_ConveyorBeltMk1.Build_ConveyorBeltMk1_C';
92
+ const RECIPE_CONVEYOR_BELT_MK1 = '/Game/FactoryGame/Recipes/Buildings/Recipe_ConveyorBeltMk1.Recipe_ConveyorBeltMk1_C';
93
+ const TYPE_PATH_FOUNDATION_8x1_01 = '/Game/FactoryGame/Buildable/Building/Foundation/Build_Foundation_8x1_01.Build_Foundation_8x1_01_C';
94
+ const CLASS_NAME_FOUNDATION_8x1_01 = 'Build_Foundation_8x1_01_C';
95
+ const RECIPE_FOUNDATION_8x1_01 = '/Game/FactoryGame/Recipes/Buildings/Foundations/Recipe_Foundation_8x1_01.Recipe_Foundation_8x1_01_C';
96
+ const TYPE_PATH_RAILROADTRACK = '/Game/FactoryGame/Buildable/Factory/Train/Track/Build_RailroadTrack.Build_RailroadTrack_C';
97
+ const CLASS_NAME_RAILROADTRACK = 'Build_RailroadTrack_C';
98
+ const RECIPE_RAILROADTRACK = '/Game/FactoryGame/Recipes/Buildings/Recipe_RailroadTrack.Recipe_RailroadTrack_C';
99
+ const TYPE_PATH_POWER_POLE_MK2 = '/Game/FactoryGame/Buildable/Factory/PowerPoleMk2/Build_PowerPoleMk2.Build_PowerPoleMk2_C';
100
+ const CLASS_NAME_POLWER_POLE_MK2 = 'Build_PowerPoleMk2_C';
101
+ const TYPE_PATH_POWERLINE = '/Game/FactoryGame/Buildable/Factory/PowerLine/Build_PowerLine.Build_PowerLine_C';
102
+ const CLASS_NAME_POWERLINE = 'Build_PowerLine_C';
103
+ const PATTERN_FULL_FACTORY_ZONE = '/Game/FactoryGame/Buildable/-Shared/Customization/Patterns/Zones/PatternDesc_ZoneFull.PatternDesc_ZoneFull_C';
104
+ exports.EDIT = {
105
+ ENTITIES: {
106
+ FOUNDATION: {
107
+ FOUNDATION_8x1_01: {
108
+ RECIPE: RECIPE_FOUNDATION_8x1_01,
109
+ TYPE_PATH: TYPE_PATH_FOUNDATION_8x1_01,
110
+ CLASS_NAME: CLASS_NAME_FOUNDATION_8x1_01
111
+ }
112
+ },
113
+ WALL: {
114
+ WALL_8x4_01: {
115
+ RECIPE: RECIPE_WALL_8x4_01,
116
+ TYPE_PATH: TYPE_PATH_WALL_8x4_01,
117
+ CLASS_NAME: CLASS_NAME_WALL_8x4_01,
118
+ },
119
+ WALL_GATE_8x4_01: {
120
+ RECIPE: RECIPE_WALL_GATE_8x4_01,
121
+ TYPE_PATH: TYPE_PATH_WALL_GATE_8x4_01,
122
+ CLASS_NAME: CLASS_NAME_WALL_GATE_8x4_01,
123
+ },
124
+ WALL_WINDOW_8x4_01: {
125
+ RECIPE: RECIPE_WALL_WINDOW_8x4_01,
126
+ TYPE_PATH: TYPE_PATH_WALL_WINDOW_8x4_01,
127
+ CLASS_NAME: CLASS_NAME_WALL_WINDOW_8x4_01,
128
+ },
129
+ WALL_DOOR_8x4_01: {
130
+ RECIPE: RECIPE_WALL_DOOR_8x4_01,
131
+ TYPE_PATH: TYPE_PATH_WALL_DOOR_8x4_01,
132
+ CLASS_NAME: CLASS_NAME_WALL_DOOR_8x4_01,
133
+ },
134
+ },
135
+ BEAM: {
136
+ BEAM_PAINTED: {
137
+ RECIPE: RECIPE_BEAM_PAINTED,
138
+ TYPE_PATH: TYPE_PATH_BEAM_PAINTED,
139
+ CLASS_NAME: CLASS_NAME_BEAM_PAINTED
140
+ },
141
+ BEAM_METAL: {
142
+ TYPE_PATH: '/Game/FactoryGame/Prototype/Buildable/Beams/Build_Beam.Build_Beam_C',
143
+ CLASS_NAME: 'Build_Beam_C',
144
+ RECIPE: '/Game/FactoryGame/Prototype/Buildable/Beams/Recipe_Beam.Recipe_Beam_C'
145
+ }
146
+ },
147
+ POWER_POLE: {
148
+ POWER_POLE_MK_2: {
149
+ TYPE_PATH: TYPE_PATH_POWER_POLE_MK2,
150
+ CLASS_NAME: CLASS_NAME_POLWER_POLE_MK2
151
+ }
152
+ },
153
+ POWER_LINE: {
154
+ POWER_LINE: {
155
+ TYPE_PATH: TYPE_PATH_POWERLINE,
156
+ CLASS_NAME: CLASS_NAME_POWERLINE
157
+ },
158
+ POWER_LINE_XMAS: {}
159
+ },
160
+ TRAIN: {
161
+ TRAIN_STATION_IDENTIFIER: {
162
+ TYPE_PATH: '/Script/FactoryGame.FGTrainStationIdentifier'
163
+ },
164
+ TRAIN_STATION: {
165
+ TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/Train/Station/Build_TrainStation.Build_TrainStation_C'
166
+ }
167
+ },
168
+ RAILROAD: {
169
+ TYPE_PATH: TYPE_PATH_RAILROADTRACK,
170
+ CLASS_NAME: CLASS_NAME_RAILROADTRACK,
171
+ RECIPE: RECIPE_RAILROADTRACK
172
+ },
173
+ RAILROAD_INTEGRATED: {
174
+ TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/Train/Track/Build_RailroadTrackIntegrated.Build_RailroadTrackIntegrated_C',
175
+ CLASS_NAME: 'Build_RailroadTrackIntegrated_C'
176
+ },
177
+ DRONE: {
178
+ DRONE_STATION_INFO: {
179
+ TYPE_PATH: '/Script/FactoryGame.FGDroneStationInfo'
180
+ },
181
+ DRONE_STATION: {
182
+ TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/DroneStation/Build_DroneStation.Build_DroneStation_C'
183
+ },
184
+ DRONE_TRANSPORT: {
185
+ TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/DroneStation/BP_DroneTransport.BP_DroneTransport_C'
186
+ },
187
+ },
188
+ VEHICLE: {
189
+ DRIVING_TARGET_LIST: {
190
+ TYPE_PATH: '/Script/FactoryGame.FGDrivingTargetList'
191
+ }
192
+ },
193
+ CONVEYOR: {
194
+ BELT_REGEX: REGEX_CONVEYORBELT,
195
+ LIFT_REGEX: REGEX_CONVEYORLIFT,
196
+ BELT_MK_1: {
197
+ TYPE_PATH: TYPE_PATH_CONVEYOR_BELT_MK1,
198
+ CLASS_NAME: CLASS_NAME_CONVEYOR_BELT_MK1,
199
+ RECIPE: RECIPE_CONVEYOR_BELT_MK1,
200
+ }
201
+ },
202
+ PIPELINE: {
203
+ PIPELINE_MK1: {
204
+ TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/Pipeline/Build_Pipeline.Build_Pipeline_C'
205
+ },
206
+ PIPELINE_MK2: {
207
+ TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/PipelineMk2/Build_PipelineMK2.Build_PipelineMK2_C'
208
+ },
209
+ PIPELINE_NETWORK: {
210
+ TYPE_PATH: TYPE_PATH_PIPE_NETWORK
211
+ }
212
+ },
213
+ EXTRACTOR: {
214
+ MINER_MK_1: {
215
+ TYPE_PATH: TYPE_PATH_MINERMK1
216
+ },
217
+ MINER_MK_2: {
218
+ TYPE_PATH: TYPE_PATH_MINERMK2
219
+ },
220
+ MINER_MK_3: {
221
+ TYPE_PATH: TYPE_PATH_MINERMK3
222
+ },
223
+ WATER_EXTRACTOR: {
224
+ TYPE_PATH: TYPE_PATH_WATER_EXTRACTOR
225
+ },
226
+ OIL_EXTRACTOR: {
227
+ TYPE_PATH: TYPE_PATH_OIL_EXTRACTOR
228
+ },
229
+ WELL_PRESSURIZER: {
230
+ TYPE_PATH: TYPE_PATH_FRACKING_SMASHER
231
+ },
232
+ WELL_EXTRACTOR: {
233
+ TYPE_PATH: TYPE_PATH_FRACKING_EXTRACTOR
234
+ },
235
+ GIFT_PRODUCER: {
236
+ TYPE_PATH: TYPE_PATH_TREE_GIFT_PRODUCER
237
+ },
238
+ },
239
+ FACTORY: {
240
+ CONSTRUCTOR: {
241
+ TYPE_PATH: TYPE_PATH_CONSTRUCTOR
242
+ },
243
+ SMELTER: {
244
+ TYPE_PATH: TYPE_PATH_SMELTER
245
+ },
246
+ REFINERY: {
247
+ TYPE_PATH: TYPE_PATH_REFINERY
248
+ },
249
+ BLENDER: {
250
+ TYPE_PATH: TYPE_PATH_BLENDER
251
+ },
252
+ ASSEMBLER: {
253
+ TYPE_PATH: TYPE_PATH_ASSEMBLER
254
+ },
255
+ MANUFACTURER: {
256
+ TYPE_PATH: TYPE_PATH_MANUFACTURER
257
+ },
258
+ FOUNDRY: {
259
+ TYPE_PATH: TYPE_PATH_FOUNDRY
260
+ },
261
+ PACKAGER: {
262
+ TYPE_PATH: TYPE_PATH_PACKAGER
263
+ },
264
+ PARTICLE_ACCELERATOR: {
265
+ TYPE_PATH: TYPE_PATH_PARTICLE_ACCELERATOR
266
+ },
267
+ },
268
+ STORAGE: {
269
+ CONTAINER_MK_1: {
270
+ TYPE_PATH: TYPE_PATH_CONTAINER_MK1,
271
+ CLASS_NAME: CLASS_NAME_CONTAINER_MK1
272
+ },
273
+ CONTAINER_MK_2: {
274
+ TYPE_PATH: TYPE_PATH_CONTAINER_MK2,
275
+ CLASS_NAME: CLASS_NAME_CONTAINER_MK2
276
+ },
277
+ FLUID_BUFFER_MK_1: {
278
+ TYPE_PATH: TYPE_PATH_FLUID_BUFFER_MK1,
279
+ CLASS_NAME: CLASS_NAME_FLUID_BUFFER_MK1,
280
+ RECIPE: RECIPE_FLUID_BUFFER_MK1
281
+ },
282
+ FLUID_BUFFER_MK_2: {
283
+ TYPE_PATH: TYPE_PATH_FLUID_BUFFER_MK2,
284
+ CLASS_NAME: CLASS_NAME_FLUID_BUFFER_MK2,
285
+ RECIPE: RECIPE_FLUID_BUFFER_MK2
286
+ },
287
+ PLAYER_CRATE: {
288
+ TYPE_PATH: TYPE_PATH_PLAYER_CRATE,
289
+ CLASS_NAME: CLASS_NAME_PLAYER_CRATE
290
+ },
291
+ PLAYER_STORAGE_CRATE: {
292
+ TYPE_PATH: TYPE_PATH_PLAYER_STORAGE_CRATE,
293
+ CLASS_NAME: CLASS_NAME_PLAYER_STORAGE_CRATE
294
+ },
295
+ STORAGE_CRATE_INTEGRATED: {
296
+ TYPE_PATH: TYPE_PATH_PLAYER_STORAGE_CRATE_INTEGRATED,
297
+ CLASS_NAME: CLASS_NAME_PLAYER_STORAGE_CRATE_INTEGRATED
298
+ },
299
+ PLAYER_HAZARD_CRATE: {
300
+ TYPE_PATH: TYPE_PATH_PLAYER_HAZARD_CRATE,
301
+ CLASS_NAME: CLASS_NAME_PLAYER_HAZARD_CRATE,
302
+ RECIPE: RECIPE_PLAYER_HAZARD_CRATE
303
+ },
304
+ PLAYER_MEDICAL_CRATE: {
305
+ TYPE_PATH: TYPE_PATH_PLAYER_MEDICAL_CRATE,
306
+ CLASS_NAME: CLASS_NAME_PLAYER_MEDICAL_CRATE
307
+ },
308
+ },
309
+ SIGN: {
310
+ SMALL: {
311
+ TYPE_PATH: TYPE_PATH_SIGN_SMALL,
312
+ CLASS_NAME: CLASS_NAME_SIGN_SMALL,
313
+ RECIPE: RECIPE_SIGN_SMALL,
314
+ PREFAB_LAYOUT: PREFAB_LAYOUT_SIGN_4x1_1
315
+ },
316
+ SMALL_WIDE: {
317
+ TYPE_PATH: TYPE_PATH_SIGN_SMALL_WIDE,
318
+ CLASS_NAME: CLASS_NAME_SIGN_SMALL_WIDE,
319
+ RECIPE: RECIPE_SIGN_SMALL_WIDE,
320
+ PREFAB_LAYOUT: PREFAB_LAYOUT_SIGN_4x1_1
321
+ },
322
+ PORTRAIT: {
323
+ TYPE_PATH: TYPE_PATH_SIGN_PORTRAIT,
324
+ CLASS_NAME: CLASS_NAME_SIGN_PORTRAIT,
325
+ RECIPE: RECIPE_SIGN_PORTRAIT,
326
+ PREFAB_LAYOUT: PREFAB_LAYOUT_SIGN_PORTRAIT
327
+ }
328
+ },
329
+ PLAYER: {
330
+ TYPE_PATH: TYPE_PATH_PLAYER,
331
+ CLASS_NAME: CLASS_NAME_PLAYER
332
+ },
333
+ PLAYER_STATE: {
334
+ TYPE_PATH: '/Game/FactoryGame/Character/Player/BP_PlayerState.BP_PlayerState_C'
335
+ },
336
+ CREATURE: {
337
+ ELITE_STINGER: {
338
+ TYPE_PATH: TYPE_PATH_ELITESTINGER,
339
+ CLASS_NAME: CLASS_NAME_ELITEESTINGER
340
+ },
341
+ STINGER: {
342
+ TYPE_PATH: '/Game/FactoryGame/Character/Creature/Enemy/Stinger/Char_Stinger.Char_Stinger_C',
343
+ CLASS_NAME: 'Char_Stinger_C'
344
+ },
345
+ CRAB_HATCHER: {
346
+ TYPE_PATH: '/Game/FactoryGame/Character/Creature/Enemy/CrabHatcher/Char_CrabHatcher.Char_CrabHatcher_C',
347
+ CLASS_NAME: 'Char_CrabHatcher_C'
348
+ },
349
+ HOG: {
350
+ TYPE_PATH: '/Game/FactoryGame/Character/Creature/Enemy/Hog/Char_Hog.Char_Hog_C',
351
+ CLASS_NAME: 'Char_Hog_C'
352
+ }
353
+ },
354
+ ANIMAL: {
355
+ LIZARD_DOGGO: {
356
+ TYPE_PATH: TYPE_PATH_LIZARD_DOGGO,
357
+ CLASS_NAME: CLASS_NAME_LIZARD_DOGGO
358
+ },
359
+ SPACE_GIRAFFE: {
360
+ TYPE_PATH: TYPE_PATH_SPACE_GIRAFFE,
361
+ CLASS_NAME: CLASS_NAME_SPACE_GIRAFFE
362
+ },
363
+ BIRD: {
364
+ TYPE_PATH: TYPE_PATH_BIRD,
365
+ CLASS_NAME: CLASS_NAME_BIRD
366
+ }
367
+ },
368
+ BUILDGUN: {
369
+ TYPE_PATH: '/Game/FactoryGame/Equipment/BuildGun/BP_BuildGun.BP_BuildGun_C',
370
+ CLASS_NAME: 'BP_BuildGun_C'
371
+ },
372
+ HYPERTUBES: {
373
+ HYPERTUBE_SUPPORT: {
374
+ TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/PipeHyperSupport/Build_PipeHyperSupport.Build_PipeHyperSupport_C',
375
+ CLASS_NAME: 'Build_PipeHyperSupport_C'
376
+ },
377
+ HYPERTUBE_ENTRANCE: {
378
+ TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/PipeHyperStart/Build_PipeHyperStart.Build_PipeHyperStart_C',
379
+ CLASS_NAME: 'Build_PipeHyperStart_C',
380
+ RECIPE: '/Game/FactoryGame/Recipe_PipeHyperStart.Recipe_PipeHyperStart_C'
381
+ },
382
+ HYPERTUBE: {
383
+ TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/PipeHyper/Build_PipeHyper.Build_PipeHyper_C',
384
+ CLASS_NAME: 'Build_PipeHyper_C'
385
+ }
386
+ },
387
+ SUBSYSTEMS_AND_MANAGERS: {
388
+ FOLIAGE_REMOVAL_SUBSYSTEM: {
389
+ TYPE_PATH: '/Script/FactoryGame.FGFoliageRemovalSubsystem'
390
+ },
391
+ MAP_MANAGER: {
392
+ TYPE_PATH: '/Script/FactoryGame.FGMapManager'
393
+ },
394
+ RECIPE_MANAGER: {
395
+ INSTANCE_NAME: 'Persistent_Level:PersistentLevel.recipeManager',
396
+ TYPE_PATH: '/Script/FactoryGame.FGRecipeManager',
397
+ },
398
+ UNLOCK_SUBSYSTEM: {
399
+ INSTANCE_NAME: 'Persistent_Level:PersistentLevel.unlockSubsystem',
400
+ TYPE_PATH: '/Game/FactoryGame/Unlocks/BP_UnlockSubsystem.BP_UnlockSubsystem_C',
401
+ },
402
+ RESEARCH_MANAGER: {
403
+ INSTANCE_NAME: 'Persistent_Level:PersistentLevel.ResearchManager',
404
+ TYPE_PATH: '/Game/FactoryGame/Recipes/Research/BP_ResearchManager.BP_ResearchManager_C'
405
+ },
406
+ SCHEMATIC_MANAGER: {
407
+ TYPE_PATH: '/Game/FactoryGame/Schematics/Progression/BP_SchematicManager.BP_SchematicManager_C',
408
+ },
409
+ STATISTICS_SUBSYSTEM: {
410
+ TYPE_PATH: '/Script/FactoryGame.FGStatisticsSubsystem'
411
+ },
412
+ RESOURCE_SINK_SUBSYSTEM: {
413
+ TYPE_PATH: '/Script/FactoryGame.FGResourceSinkSubsystem'
414
+ },
415
+ GAME_RULES_SUBSYSTEM: {
416
+ TYPE_PATH: '/Script/FactoryGame.FGGameRulesSubsystem'
417
+ }
418
+ }
419
+ },
420
+ COMPONENTS: {
421
+ HEALTH_COMPONENT: {
422
+ TYPE_PATH: TYPE_PATH_HEALTH_COMPONENT
423
+ },
424
+ INVENTORY_COMPONENT: {
425
+ TYPE_PATH: TYPE_PATH_INVENTORY_COMPONENT
426
+ },
427
+ POWER_CONNECTION_COMPONENT: {
428
+ TYPE_PATH: TYPE_PATH_POWER_CONNECTION_COMPONENT
429
+ },
430
+ POWER_INFO_COMPONENT: {
431
+ TYPE_PATH: '/Script/FactoryGame.FGPowerInfoComponent'
432
+ },
433
+ POWER_CIRCUIT: {
434
+ TYPE_PATH: '/Script/FactoryGame.FGPowerCircuit'
435
+ },
436
+ RAILWAY_CONNECTION_COMPONENT: {
437
+ TYPE_PATH: TYPE_PATH_RAILWAY_CONNECTION_COMPONENT
438
+ },
439
+ FACTORY_CONNECTION_COMPONENT: {
440
+ TYPE_PATH: TYPE_PATH_FACTORY_CONNECTION_COMPONENT,
441
+ ENUM_BASE: FACTORY_CONNECTION_ENUM_BASE,
442
+ ENUM_INPUT: FACTORY_CONNECTION_ENUM_INPUT,
443
+ ENUM_OUTPUT: FACTORY_CONNECTION_ENUM_OUTPUT,
444
+ },
445
+ HYPERTUBE_CONNECTION_COMPONENT: {
446
+ TYPE_PATH: '/Script/FactoryGame.FGPipeConnectionComponentHyper'
447
+ },
448
+ WORKBENCH_COMPONENT: {
449
+ TYPE_PATH: '/Game/FactoryGame/Buildable/-Shared/WorkBench/BP_WorkBenchComponent.BP_WorkBenchComponent_C'
450
+ },
451
+ AUTOMATED_WORKBENCH: {
452
+ TYPE_PATH: '/Script/FactoryGame.FGBuildableAutomatedWorkBench'
453
+ }
454
+ },
455
+ PATTERNS: {
456
+ FULL_FACTORY_ZONE: {
457
+ TYPE_PATH: PATTERN_FULL_FACTORY_ZONE
458
+ }
459
+ },
460
+ AREAS: {
461
+ GRASS_FIELDS: [
462
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_GrassFields_1.Area_GrassFields_1_C',
463
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_GrassFields_3.Area_GrassFields_3_C',
464
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_GrassFields_2.Area_GrassFields_2_C',
465
+ ],
466
+ WESTERN_DUNE_FOREST: [
467
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_WesternDuneForest_1.Area_WesternDuneForest_1_C',
468
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_WesternDuneForest_2.Area_WesternDuneForest_2_C',
469
+ ],
470
+ NO_MANS_LAND: [
471
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_NoMansLand_1.Area_NoMansLand_1_C'
472
+ ],
473
+ CRATER: [
474
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_crater_1.Area_crater_1_C',
475
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_crater_2.Area_crater_2_C'
476
+ ],
477
+ SAVANNA: [
478
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_Savanna_2.Area_Savanna_2_C'
479
+ ],
480
+ RED_JUNGLE: [
481
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_RedJungle_1.Area_RedJungle_1_C',
482
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_RedJungle_2.Area_RedJungle_2_C'
483
+ ],
484
+ ROcKY_DESERT: [
485
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_RockyDesert_1.Area_RockyDesert_1_C',
486
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_RockyDesert_2.Area_RockyDesert_2_C'
487
+ ],
488
+ NORTHERN_FOREST: [
489
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_NorthernForest_1.Area_NorthernForest_1_C',
490
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_NorthernForest_2.Area_NorthernForest_2_C'
491
+ ],
492
+ SOUTHERN_FOREST: [
493
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_SouthernForest_1.Area_SouthernForest_1_C',
494
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_SouthernForest_2.Area_SouthernForest_2_C'
495
+ ],
496
+ RED_BAMBOO: [
497
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_RedBambooFields_2.Area_RedBambooFields_2_C'
498
+ ],
499
+ TITAN_FOREST: [
500
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_TitanForest_1.Area_TitanForest_1_C',
501
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_TitanForest_2.Area_TitanForest_2_C'
502
+ ],
503
+ LAKE_FOREST: [
504
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_LakeForest_1.Area_LakeForest_1_C',
505
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_LakeForest_2.Area_LakeForest_2_C'
506
+ ],
507
+ DESERT_CANYON: [
508
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_DesertCanyons_1.Area_DesertCanyons_1_C'
509
+ ],
510
+ MAZE_CANYONS: [
511
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_MazeCanyons_1.Area_MazeCanyons_1_C',
512
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_MazeCanyons_2.Area_MazeCanyons_2_C'
513
+ ],
514
+ SPIRE_COAST: [
515
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_SpireCoast.Area_SpireCoast_C'
516
+ ],
517
+ SWAMP: [
518
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_Swamp_1.Area_Swamp_1_C',
519
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_Swamp_2.Area_Swamp_2_C'
520
+ ],
521
+ ABYSS_CLIFFS: [
522
+ '/Game/FactoryGame/Interface/UI/Minimap/MapAreaPersistenLevel/Area_AbyssCliffs_1.Area_AbyssCliffs_1_C'
523
+ ]
524
+ }
525
+ };
@@ -0,0 +1,7 @@
1
+ import { ByteReader, ByteWriter } from '../../../..';
2
+ export type MD5Hash = {
3
+ isValid: boolean;
4
+ hash?: number[];
5
+ };
6
+ export declare const readMD5Hash: (reader: ByteReader) => MD5Hash;
7
+ export declare const writeMD5Hash: (writer: ByteWriter, md5Hash: MD5Hash) => void;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.writeMD5Hash = exports.readMD5Hash = void 0;
4
+ const readMD5Hash = (reader) => {
5
+ const md5Hash = { isValid: false };
6
+ md5Hash.isValid = reader.readInt32() === 1;
7
+ if (md5Hash.isValid) {
8
+ md5Hash.hash = Array.from(reader.readBytes(16));
9
+ }
10
+ return md5Hash;
11
+ };
12
+ exports.readMD5Hash = readMD5Hash;
13
+ const writeMD5Hash = (writer, md5Hash) => {
14
+ writer.writeInt32(md5Hash.isValid ? 1 : 0);
15
+ if (md5Hash.isValid) {
16
+ writer.writeBytesArray(md5Hash.hash);
17
+ }
18
+ };
19
+ exports.writeMD5Hash = writeMD5Hash;
@@ -1,6 +1,5 @@
1
1
  import { ByteReader } from "../../byte/byte-reader.class";
2
2
  import { ChunkCompressionInfo } from "../../file.types";
3
- import { SaveStreamWriter } from "../../stream/save-stream-writer.class";
4
3
  import { ObjectReference } from "../objects/ObjectReference";
5
4
  import { Level } from "./level.class";
6
5
  import { RoughSaveVersion, SatisfactorySaveHeader } from "./save.types";
@@ -34,5 +33,4 @@ export declare class SaveReader extends ByteReader {
34
33
  readSaveBodyHash: () => ByteArray4;
35
34
  readGrids: () => Grids;
36
35
  readLevels(): Level[];
37
- readLevelsAsynchronously(writer: SaveStreamWriter): Promise<Level[]>;
38
36
  }
@@ -9,7 +9,6 @@ const alignment_enum_1 = require("../../byte/alignment.enum");
9
9
  const byte_reader_class_1 = require("../../byte/byte-reader.class");
10
10
  const parser_error_1 = require("../../error/parser.error");
11
11
  const MD5Hash_1 = require("../objects/ue/MD5Hash");
12
- const asynchronous_level_class_1 = require("./asynchronous-level.class");
13
12
  const level_class_1 = require("./level.class");
14
13
  exports.DEFAULT_SATISFACTORY_CHUNK_HEADER_SIZE = 49;
15
14
  class SaveReader extends byte_reader_class_1.ByteReader {
@@ -189,18 +188,6 @@ class SaveReader extends byte_reader_class_1.ByteReader {
189
188
  this.onProgressCallback(this.getBufferProgress(), 'finished parsing.');
190
189
  return levels;
191
190
  }
192
- async readLevelsAsynchronously(writer) {
193
- const numSubLevels = this.readInt32();
194
- this.levels = new Array(numSubLevels + 1);
195
- await writer.openLevels();
196
- for (let j = 0; j <= numSubLevels; j++) {
197
- let levelName = (j === numSubLevels) ? '' + this.header.mapName : this.readString();
198
- this.onProgressCallback(this.getBufferProgress(), `reading level [${(j + 1)}/${(numSubLevels + 1)}] ${levelName}`);
199
- this.levels[j] = await asynchronous_level_class_1.AsynchronousLevel.StreamReadLevel(this, levelName, this.header.buildVersion, writer);
200
- }
201
- await writer.endLevels();
202
- return this.levels;
203
- }
204
191
  }
205
192
  SaveReader.EPOCH_TICKS = 621355968000000000n;
206
193
  SaveReader.getRoughSaveVersion = (saveVersion, headerTypeVersion) => {
@@ -5,6 +5,8 @@ export interface ModData {
5
5
  Version: string;
6
6
  }
7
7
  export interface SatisfactoryModMetadata {
8
+ Version: number;
9
+ FullMapName: string;
8
10
  Mods: ModData[];
9
11
  }
10
12
  export interface SatisfactorySaveHeader {
@@ -1,4 +1,4 @@
1
- import { ReadableStream } from "node:stream/web";
1
+ import { ReadableStream } from "stream/web";
2
2
  export declare class ReadableStreamParser {
3
3
  private static CreateReadableStreamForParsingSave;
4
4
  static CreateReadableStreamFromSaveToJson: (name: string, bytes: Uint8Array, onDecompressedSaveBody?: (buffer: ArrayBuffer) => void, onProgress?: (progress: number, message?: string) => void) => {
@@ -2,12 +2,12 @@
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.ReadableStreamParser = void 0;
5
- const satisfactory_save_1 = require("../../satisfactory/save/satisfactory-save");
6
- const save_reader_1 = require("../../satisfactory/save/save-reader");
5
+ const web_1 = require("stream/web");
7
6
  const SaveComponent_1 = require("../../satisfactory/objects/SaveComponent");
8
7
  const SaveEntity_1 = require("../../satisfactory/objects/SaveEntity");
9
8
  const level_class_1 = require("../../satisfactory/save/level.class");
10
- const web_1 = require("node:stream/web");
9
+ const satisfactory_save_1 = require("../../satisfactory/save/satisfactory-save");
10
+ const save_reader_1 = require("../../satisfactory/save/save-reader");
11
11
  const DEFAULT_BYTE_HIGHWATERMARK = 1024 * 1024 * 200;
12
12
  const createStringLengthQueuingStrategy = (highWaterMark = DEFAULT_BYTE_HIGHWATERMARK / 4) => ({
13
13
  highWaterMark,
@@ -0,0 +1,6 @@
1
+ /// <reference types="node" />
2
+ import { WritableStream } from "stream/web";
3
+ import { SatisfactorySave } from "../../..";
4
+ export declare class SaveStreamJsonStringifier {
5
+ static StreamStringifySave(save: SatisfactorySave, output: WritableStream<string>): Promise<void>;
6
+ }