@shipload/sdk 1.0.0-next.45 → 1.0.0-next.46
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.
- package/lib/shipload.d.ts +235 -39
- package/lib/shipload.js +1399 -157
- package/lib/shipload.js.map +1 -1
- package/lib/shipload.m.js +1385 -158
- package/lib/shipload.m.js.map +1 -1
- package/lib/testing.d.ts +81 -15
- package/lib/testing.js +374 -41
- package/lib/testing.js.map +1 -1
- package/lib/testing.m.js +375 -42
- package/lib/testing.m.js.map +1 -1
- package/package.json +1 -1
- package/src/capabilities/gathering.test.ts +14 -1
- package/src/capabilities/gathering.ts +6 -5
- package/src/capabilities/modules.ts +4 -0
- package/src/contracts/server.ts +242 -28
- package/src/data/entities.json +93 -19
- package/src/data/item-ids.ts +12 -0
- package/src/data/items.json +76 -2
- package/src/data/kind-registry.json +10 -0
- package/src/data/metadata.ts +68 -0
- package/src/data/recipes-runtime.ts +1 -0
- package/src/data/recipes.json +720 -0
- package/src/derivation/capabilities.test.ts +11 -11
- package/src/derivation/capabilities.ts +42 -27
- package/src/derivation/index.ts +2 -0
- package/src/derivation/recipe-usage.test.ts +11 -7
- package/src/derivation/stars.test.ts +16 -0
- package/src/derivation/stars.ts +10 -0
- package/src/derivation/stratum.ts +11 -4
- package/src/entities/makers.ts +8 -1
- package/src/index-module.ts +5 -1
- package/src/managers/actions.ts +10 -0
- package/src/nft/buildImmutableData.ts +1 -1
- package/src/nft/description.ts +20 -11
- package/src/resolution/describe-module.ts +21 -8
- package/src/resolution/resolve-item.ts +31 -33
- package/src/scheduling/projection.ts +8 -1
- package/src/subscriptions/manager.cluster.test.ts +7 -2
- package/src/subscriptions/types.ts +1 -0
- package/src/utils/cargo.test.ts +14 -0
- package/src/utils/cargo.ts +2 -0
package/src/data/entities.json
CHANGED
|
@@ -8,23 +8,28 @@
|
|
|
8
8
|
"slots": [
|
|
9
9
|
{
|
|
10
10
|
"type": "any",
|
|
11
|
-
"outputPct":
|
|
11
|
+
"outputPct": 80,
|
|
12
|
+
"maxTier": 1
|
|
12
13
|
},
|
|
13
14
|
{
|
|
14
15
|
"type": "any",
|
|
15
|
-
"outputPct":
|
|
16
|
+
"outputPct": 80,
|
|
17
|
+
"maxTier": 1
|
|
16
18
|
},
|
|
17
19
|
{
|
|
18
20
|
"type": "any",
|
|
19
|
-
"outputPct":
|
|
21
|
+
"outputPct": 80,
|
|
22
|
+
"maxTier": 1
|
|
20
23
|
},
|
|
21
24
|
{
|
|
22
25
|
"type": "any",
|
|
23
|
-
"outputPct":
|
|
26
|
+
"outputPct": 80,
|
|
27
|
+
"maxTier": 1
|
|
24
28
|
},
|
|
25
29
|
{
|
|
26
30
|
"type": "any",
|
|
27
|
-
"outputPct":
|
|
31
|
+
"outputPct": 80,
|
|
32
|
+
"maxTier": 1
|
|
28
33
|
}
|
|
29
34
|
]
|
|
30
35
|
},
|
|
@@ -33,23 +38,28 @@
|
|
|
33
38
|
"slots": [
|
|
34
39
|
{
|
|
35
40
|
"type": "loader",
|
|
36
|
-
"outputPct": 100
|
|
41
|
+
"outputPct": 100,
|
|
42
|
+
"maxTier": 1
|
|
37
43
|
},
|
|
38
44
|
{
|
|
39
45
|
"type": "storage",
|
|
40
|
-
"outputPct": 100
|
|
46
|
+
"outputPct": 100,
|
|
47
|
+
"maxTier": 1
|
|
41
48
|
},
|
|
42
49
|
{
|
|
43
50
|
"type": "storage",
|
|
44
|
-
"outputPct": 100
|
|
51
|
+
"outputPct": 100,
|
|
52
|
+
"maxTier": 1
|
|
45
53
|
},
|
|
46
54
|
{
|
|
47
55
|
"type": "storage",
|
|
48
|
-
"outputPct": 100
|
|
56
|
+
"outputPct": 100,
|
|
57
|
+
"maxTier": 1
|
|
49
58
|
},
|
|
50
59
|
{
|
|
51
60
|
"type": "storage",
|
|
52
|
-
"outputPct": 100
|
|
61
|
+
"outputPct": 100,
|
|
62
|
+
"maxTier": 1
|
|
53
63
|
}
|
|
54
64
|
]
|
|
55
65
|
},
|
|
@@ -58,11 +68,13 @@
|
|
|
58
68
|
"slots": [
|
|
59
69
|
{
|
|
60
70
|
"type": "generator",
|
|
61
|
-
"outputPct": 200
|
|
71
|
+
"outputPct": 200,
|
|
72
|
+
"maxTier": 1
|
|
62
73
|
},
|
|
63
74
|
{
|
|
64
75
|
"type": "gatherer",
|
|
65
|
-
"outputPct": 200
|
|
76
|
+
"outputPct": 200,
|
|
77
|
+
"maxTier": 1
|
|
66
78
|
}
|
|
67
79
|
]
|
|
68
80
|
},
|
|
@@ -71,11 +83,13 @@
|
|
|
71
83
|
"slots": [
|
|
72
84
|
{
|
|
73
85
|
"type": "generator",
|
|
74
|
-
"outputPct": 200
|
|
86
|
+
"outputPct": 200,
|
|
87
|
+
"maxTier": 1
|
|
75
88
|
},
|
|
76
89
|
{
|
|
77
90
|
"type": "crafter",
|
|
78
|
-
"outputPct": 200
|
|
91
|
+
"outputPct": 200,
|
|
92
|
+
"maxTier": 1
|
|
79
93
|
}
|
|
80
94
|
]
|
|
81
95
|
},
|
|
@@ -84,11 +98,13 @@
|
|
|
84
98
|
"slots": [
|
|
85
99
|
{
|
|
86
100
|
"type": "generator",
|
|
87
|
-
"outputPct": 200
|
|
101
|
+
"outputPct": 200,
|
|
102
|
+
"maxTier": 1
|
|
88
103
|
},
|
|
89
104
|
{
|
|
90
105
|
"type": "launcher",
|
|
91
|
-
"outputPct": 200
|
|
106
|
+
"outputPct": 200,
|
|
107
|
+
"maxTier": 1
|
|
92
108
|
}
|
|
93
109
|
]
|
|
94
110
|
},
|
|
@@ -97,15 +113,18 @@
|
|
|
97
113
|
"slots": [
|
|
98
114
|
{
|
|
99
115
|
"type": "storage",
|
|
100
|
-
"outputPct": 100
|
|
116
|
+
"outputPct": 100,
|
|
117
|
+
"maxTier": 1
|
|
101
118
|
},
|
|
102
119
|
{
|
|
103
120
|
"type": "storage",
|
|
104
|
-
"outputPct": 100
|
|
121
|
+
"outputPct": 100,
|
|
122
|
+
"maxTier": 1
|
|
105
123
|
},
|
|
106
124
|
{
|
|
107
125
|
"type": "storage",
|
|
108
|
-
"outputPct": 100
|
|
126
|
+
"outputPct": 100,
|
|
127
|
+
"maxTier": 1
|
|
109
128
|
}
|
|
110
129
|
]
|
|
111
130
|
},
|
|
@@ -116,5 +135,60 @@
|
|
|
116
135
|
{
|
|
117
136
|
"entityItemId": 20200,
|
|
118
137
|
"slots": []
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"entityItemId": 20210,
|
|
141
|
+
"slots": [
|
|
142
|
+
{
|
|
143
|
+
"type": "engine",
|
|
144
|
+
"outputPct": 100,
|
|
145
|
+
"maxTier": 2
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"type": "generator",
|
|
149
|
+
"outputPct": 100,
|
|
150
|
+
"maxTier": 2
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"type": "gatherer",
|
|
154
|
+
"outputPct": 100,
|
|
155
|
+
"maxTier": 2
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"type": "gatherer",
|
|
159
|
+
"outputPct": 100,
|
|
160
|
+
"maxTier": 2
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"type": "any",
|
|
164
|
+
"outputPct": 80,
|
|
165
|
+
"maxTier": 1
|
|
166
|
+
}
|
|
167
|
+
]
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"entityItemId": 20211,
|
|
171
|
+
"slots": [
|
|
172
|
+
{
|
|
173
|
+
"type": "engine",
|
|
174
|
+
"outputPct": 100,
|
|
175
|
+
"maxTier": 2
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"type": "generator",
|
|
179
|
+
"outputPct": 100,
|
|
180
|
+
"maxTier": 2
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"type": "hauler",
|
|
184
|
+
"outputPct": 100,
|
|
185
|
+
"maxTier": 2
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"type": "hauler",
|
|
189
|
+
"outputPct": 100,
|
|
190
|
+
"maxTier": 2
|
|
191
|
+
}
|
|
192
|
+
]
|
|
119
193
|
}
|
|
120
194
|
]
|
package/src/data/item-ids.ts
CHANGED
|
@@ -80,4 +80,16 @@ export const ITEM_MASS_CATCHER_T1_PACKED = 10206
|
|
|
80
80
|
export const ITEM_HUB_T1_PACKED = 10207
|
|
81
81
|
export const ITEM_PLATE_T2 = 20001
|
|
82
82
|
export const ITEM_FRAME_T2 = 20002
|
|
83
|
+
export const ITEM_PLASMA_CELL_T2 = 20003
|
|
84
|
+
export const ITEM_RESONATOR_T2 = 20004
|
|
85
|
+
export const ITEM_BEAM_T2 = 20005
|
|
86
|
+
export const ITEM_SENSOR_T2 = 20006
|
|
87
|
+
export const ITEM_POLYMER_T2 = 20007
|
|
88
|
+
export const ITEM_CERAMIC_T2 = 20008
|
|
89
|
+
export const ITEM_REACTOR_T2 = 20009
|
|
90
|
+
export const ITEM_RESIN_T2 = 20010
|
|
91
|
+
export const ITEM_GATHERER_T2 = 20102
|
|
92
|
+
export const ITEM_HAULER_T2 = 20106
|
|
83
93
|
export const ITEM_CONTAINER_T2_PACKED = 20200
|
|
94
|
+
export const ITEM_PROSPECTOR_T2_PACKED = 20210
|
|
95
|
+
export const ITEM_HAULER_SHIP_T2_PACKED = 20211
|
package/src/data/items.json
CHANGED
|
@@ -529,20 +529,94 @@
|
|
|
529
529
|
},
|
|
530
530
|
{
|
|
531
531
|
"id": 20001,
|
|
532
|
-
"mass":
|
|
532
|
+
"mass": 6400,
|
|
533
533
|
"type": "component",
|
|
534
534
|
"tier": 2
|
|
535
535
|
},
|
|
536
536
|
{
|
|
537
537
|
"id": 20002,
|
|
538
|
-
"mass":
|
|
538
|
+
"mass": 6400,
|
|
539
539
|
"type": "component",
|
|
540
540
|
"tier": 2
|
|
541
541
|
},
|
|
542
|
+
{
|
|
543
|
+
"id": 20003,
|
|
544
|
+
"mass": 6400,
|
|
545
|
+
"type": "component",
|
|
546
|
+
"tier": 2
|
|
547
|
+
},
|
|
548
|
+
{
|
|
549
|
+
"id": 20004,
|
|
550
|
+
"mass": 6400,
|
|
551
|
+
"type": "component",
|
|
552
|
+
"tier": 2
|
|
553
|
+
},
|
|
554
|
+
{
|
|
555
|
+
"id": 20005,
|
|
556
|
+
"mass": 6400,
|
|
557
|
+
"type": "component",
|
|
558
|
+
"tier": 2
|
|
559
|
+
},
|
|
560
|
+
{
|
|
561
|
+
"id": 20006,
|
|
562
|
+
"mass": 6400,
|
|
563
|
+
"type": "component",
|
|
564
|
+
"tier": 2
|
|
565
|
+
},
|
|
566
|
+
{
|
|
567
|
+
"id": 20007,
|
|
568
|
+
"mass": 6400,
|
|
569
|
+
"type": "component",
|
|
570
|
+
"tier": 2
|
|
571
|
+
},
|
|
572
|
+
{
|
|
573
|
+
"id": 20008,
|
|
574
|
+
"mass": 6400,
|
|
575
|
+
"type": "component",
|
|
576
|
+
"tier": 2
|
|
577
|
+
},
|
|
578
|
+
{
|
|
579
|
+
"id": 20009,
|
|
580
|
+
"mass": 6400,
|
|
581
|
+
"type": "component",
|
|
582
|
+
"tier": 2
|
|
583
|
+
},
|
|
584
|
+
{
|
|
585
|
+
"id": 20010,
|
|
586
|
+
"mass": 6400,
|
|
587
|
+
"type": "component",
|
|
588
|
+
"tier": 2
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
"id": 20102,
|
|
592
|
+
"mass": 1536000,
|
|
593
|
+
"type": "module",
|
|
594
|
+
"tier": 2,
|
|
595
|
+
"subtype": "gatherer"
|
|
596
|
+
},
|
|
597
|
+
{
|
|
598
|
+
"id": 20106,
|
|
599
|
+
"mass": 1536000,
|
|
600
|
+
"type": "module",
|
|
601
|
+
"tier": 2,
|
|
602
|
+
"subtype": "hauler"
|
|
603
|
+
},
|
|
542
604
|
{
|
|
543
605
|
"id": 20200,
|
|
544
606
|
"mass": 80000,
|
|
545
607
|
"type": "entity",
|
|
546
608
|
"tier": 2
|
|
609
|
+
},
|
|
610
|
+
{
|
|
611
|
+
"id": 20210,
|
|
612
|
+
"mass": 3840000,
|
|
613
|
+
"type": "entity",
|
|
614
|
+
"tier": 2
|
|
615
|
+
},
|
|
616
|
+
{
|
|
617
|
+
"id": 20211,
|
|
618
|
+
"mass": 3840000,
|
|
619
|
+
"type": "entity",
|
|
620
|
+
"tier": 2
|
|
547
621
|
}
|
|
548
622
|
]
|
|
@@ -116,6 +116,16 @@
|
|
|
116
116
|
"itemId": 10207,
|
|
117
117
|
"kind": "hub",
|
|
118
118
|
"displayLabel": ""
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"itemId": 20210,
|
|
122
|
+
"kind": "ship",
|
|
123
|
+
"displayLabel": "Prospector"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"itemId": 20211,
|
|
127
|
+
"kind": "ship",
|
|
128
|
+
"displayLabel": "Hauler"
|
|
119
129
|
}
|
|
120
130
|
]
|
|
121
131
|
}
|
package/src/data/metadata.ts
CHANGED
|
@@ -280,6 +280,60 @@ export const itemMetadata: Record<number, ItemMetadata> = {
|
|
|
280
280
|
'Advanced composite framing reinforced with tier 2 regolith and biomass polymer.',
|
|
281
281
|
color: '#C4A57B',
|
|
282
282
|
},
|
|
283
|
+
20003: {
|
|
284
|
+
name: 'Plasma Cell',
|
|
285
|
+
description: 'Advanced high-energy gaseous storage cell reinforced with tier 2 gas.',
|
|
286
|
+
color: '#E86344',
|
|
287
|
+
},
|
|
288
|
+
20004: {
|
|
289
|
+
name: 'Resonator',
|
|
290
|
+
description: 'Advanced crystalline resonance lattice reinforced with tier 2 crystal.',
|
|
291
|
+
color: '#4ADBFF',
|
|
292
|
+
},
|
|
293
|
+
20005: {
|
|
294
|
+
name: 'Beam',
|
|
295
|
+
description: 'Advanced heavy-duty structural beam reinforced with tier 2 ore.',
|
|
296
|
+
color: '#7B8D9E',
|
|
297
|
+
},
|
|
298
|
+
20006: {
|
|
299
|
+
name: 'Sensor',
|
|
300
|
+
description: 'Advanced crystal-lattice sensing element reinforced with tier 2 crystal.',
|
|
301
|
+
color: '#4ADBFF',
|
|
302
|
+
},
|
|
303
|
+
20007: {
|
|
304
|
+
name: 'Polymer',
|
|
305
|
+
description: 'Advanced pliable biomass-derived polymer reinforced with tier 2 biomass.',
|
|
306
|
+
color: '#5A8B3E',
|
|
307
|
+
},
|
|
308
|
+
20008: {
|
|
309
|
+
name: 'Ceramic',
|
|
310
|
+
description: 'Advanced hardened ceramic reinforced with tier 2 regolith.',
|
|
311
|
+
color: '#C4A57B',
|
|
312
|
+
},
|
|
313
|
+
20009: {
|
|
314
|
+
name: 'Reactor',
|
|
315
|
+
description: 'Advanced gas-pressurized reaction vessel reinforced with tier 2 gas.',
|
|
316
|
+
color: '#B877FF',
|
|
317
|
+
},
|
|
318
|
+
20010: {
|
|
319
|
+
name: 'Resin',
|
|
320
|
+
description: 'Advanced saturated organic binder reinforced with tier 2 biomass.',
|
|
321
|
+
color: '#5A8B3E',
|
|
322
|
+
},
|
|
323
|
+
|
|
324
|
+
// === Modules (T2) ===
|
|
325
|
+
20102: {
|
|
326
|
+
name: 'Limpet Bay',
|
|
327
|
+
description: 'Advanced gathering system. Reinforced probes and conduits for deeper yield.',
|
|
328
|
+
color: '#7B8D9E',
|
|
329
|
+
},
|
|
330
|
+
|
|
331
|
+
20106: {
|
|
332
|
+
name: 'Tractor Beam (T2)',
|
|
333
|
+
description:
|
|
334
|
+
'Advanced haul beam projector reinforced with tier 2 components for greater towing capacity.',
|
|
335
|
+
color: '#4ADBFF',
|
|
336
|
+
},
|
|
283
337
|
|
|
284
338
|
// === Entities (packed, T2) ===
|
|
285
339
|
20200: {
|
|
@@ -287,6 +341,18 @@ export const itemMetadata: Record<number, ItemMetadata> = {
|
|
|
287
341
|
description: 'Advanced cargo container with improved capacity formulas.',
|
|
288
342
|
color: '#9BADB8',
|
|
289
343
|
},
|
|
344
|
+
20210: {
|
|
345
|
+
name: 'Prospector',
|
|
346
|
+
description:
|
|
347
|
+
'Advanced exploration vessel with tiered engine, generator, and gatherer slots.',
|
|
348
|
+
color: '#4AE898',
|
|
349
|
+
},
|
|
350
|
+
20211: {
|
|
351
|
+
name: 'Hauler',
|
|
352
|
+
description:
|
|
353
|
+
'Advanced towing vessel with tiered engine, generator, and tractor beam slots.',
|
|
354
|
+
color: '#4AE898',
|
|
355
|
+
},
|
|
290
356
|
}
|
|
291
357
|
|
|
292
358
|
export const entityMetadata: Record<number, EntityMetadata> = {
|
|
@@ -298,6 +364,8 @@ export const entityMetadata: Record<number, EntityMetadata> = {
|
|
|
298
364
|
10204: {moduleSlotLabels: ['Reactor', 'Fabricator']},
|
|
299
365
|
10205: {moduleSlotLabels: ['Reactor', 'Drive Coil']},
|
|
300
366
|
10206: {moduleSlotLabels: ['Cargo Hold', 'Cargo Hold', 'Cargo Hold']},
|
|
367
|
+
20210: {moduleSlotLabels: ['Engine', 'Reactor', 'Limpet Bay', 'Limpet Bay', 'Flex Socket']},
|
|
368
|
+
20211: {moduleSlotLabels: ['Engine', 'Reactor', 'Tractor Beam', 'Tractor Beam']},
|
|
301
369
|
}
|
|
302
370
|
|
|
303
371
|
for (const item of items as Array<{id: number}>) {
|