@shipload/sdk 0.7.1 → 1.0.0-beta1

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 (94) hide show
  1. package/lib/shipload.d.ts +2730 -287
  2. package/lib/shipload.js +10862 -2229
  3. package/lib/shipload.js.map +1 -1
  4. package/lib/shipload.m.js +10434 -2171
  5. package/lib/shipload.m.js.map +1 -1
  6. package/package.json +11 -20
  7. package/src/capabilities/crafting.ts +22 -0
  8. package/src/capabilities/gathering.ts +36 -0
  9. package/src/capabilities/guards.ts +38 -0
  10. package/src/capabilities/hauling.ts +22 -0
  11. package/src/capabilities/index.ts +8 -0
  12. package/src/capabilities/loading.ts +8 -0
  13. package/src/capabilities/modules.ts +86 -0
  14. package/src/capabilities/movement.ts +29 -0
  15. package/src/capabilities/storage.ts +159 -0
  16. package/src/contracts/server.ts +1389 -285
  17. package/src/data/capabilities.ts +408 -0
  18. package/src/data/catalog.ts +135 -0
  19. package/src/data/categories.ts +55 -0
  20. package/src/data/colors.ts +84 -0
  21. package/src/data/entities.json +50 -0
  22. package/src/data/item-ids.ts +75 -0
  23. package/src/data/items.json +252 -0
  24. package/src/data/locations.ts +53 -0
  25. package/src/data/metadata.ts +208 -0
  26. package/src/data/nebula-adjectives.json +211 -0
  27. package/src/data/nebula-nouns.json +151 -0
  28. package/src/data/recipes-runtime.ts +65 -0
  29. package/src/data/recipes.json +878 -0
  30. package/src/data/syllables.json +1790 -0
  31. package/src/data/tiers.ts +45 -0
  32. package/src/derivation/crafting.ts +350 -0
  33. package/src/derivation/index.ts +32 -0
  34. package/src/derivation/location-size.ts +15 -0
  35. package/src/derivation/resources.ts +112 -0
  36. package/src/derivation/stats.ts +146 -0
  37. package/src/derivation/strata.ts +43 -0
  38. package/src/derivation/stratum.ts +134 -0
  39. package/src/derivation/tiers.ts +54 -0
  40. package/src/entities/cargo-utils.ts +84 -0
  41. package/src/entities/container.ts +108 -0
  42. package/src/entities/entity-inventory.ts +39 -0
  43. package/src/entities/gamestate.ts +152 -0
  44. package/src/entities/inventory-accessor.ts +42 -0
  45. package/src/entities/location.ts +60 -0
  46. package/src/entities/makers.ts +196 -0
  47. package/src/entities/player.ts +15 -0
  48. package/src/entities/ship-deploy.ts +258 -0
  49. package/src/entities/ship.ts +204 -0
  50. package/src/entities/warehouse.ts +119 -0
  51. package/src/errors.ts +100 -9
  52. package/src/format.ts +12 -0
  53. package/src/index-module.ts +317 -7
  54. package/src/managers/actions.ts +250 -0
  55. package/src/managers/base.ts +25 -0
  56. package/src/managers/context.ts +114 -0
  57. package/src/managers/entities.ts +103 -0
  58. package/src/managers/epochs.ts +47 -0
  59. package/src/managers/index.ts +9 -0
  60. package/src/managers/locations.ts +68 -0
  61. package/src/managers/players.ts +13 -0
  62. package/src/nft/description.ts +176 -0
  63. package/src/nft/deserializers.ts +83 -0
  64. package/src/nft/index.ts +2 -0
  65. package/src/resolution/describe-module.ts +166 -0
  66. package/src/resolution/display-name.ts +39 -0
  67. package/src/resolution/resolve-item.ts +358 -0
  68. package/src/scheduling/accessor.ts +82 -0
  69. package/src/{epoch.ts → scheduling/epoch.ts} +1 -1
  70. package/src/scheduling/projection.ts +463 -0
  71. package/src/scheduling/schedule.ts +179 -0
  72. package/src/shipload.ts +47 -160
  73. package/src/subscriptions/connection.ts +154 -0
  74. package/src/subscriptions/debug.ts +17 -0
  75. package/src/subscriptions/index.ts +5 -0
  76. package/src/subscriptions/manager.ts +240 -0
  77. package/src/subscriptions/mappers.ts +28 -0
  78. package/src/subscriptions/types.ts +143 -0
  79. package/src/travel/travel.ts +500 -0
  80. package/src/types/capabilities.ts +76 -0
  81. package/src/types/entity-traits.ts +69 -0
  82. package/src/types/entity.ts +39 -0
  83. package/src/types/index.ts +3 -0
  84. package/src/types.ts +140 -35
  85. package/src/{hash.ts → utils/hash.ts} +2 -2
  86. package/src/utils/system.ts +168 -0
  87. package/src/goods.ts +0 -124
  88. package/src/market.ts +0 -214
  89. package/src/rolls.ts +0 -8
  90. package/src/ship.ts +0 -36
  91. package/src/state.ts +0 -0
  92. package/src/syllables.ts +0 -1184
  93. package/src/system.ts +0 -37
  94. package/src/travel.ts +0 -259
@@ -0,0 +1,211 @@
1
+ [
2
+ "Abyssal",
3
+ "Alabaster",
4
+ "Amber",
5
+ "Ancient",
6
+ "Argent",
7
+ "Ashen",
8
+ "Astral",
9
+ "Aurora",
10
+ "Azure",
11
+ "Barren",
12
+ "Blazing",
13
+ "Bleak",
14
+ "Boreal",
15
+ "Brazen",
16
+ "Bright",
17
+ "Brilliant",
18
+ "Bronze",
19
+ "Burning",
20
+ "Cadmium",
21
+ "Calcified",
22
+ "Cardinal",
23
+ "Celestial",
24
+ "Cerulean",
25
+ "Chartreuse",
26
+ "Chromatic",
27
+ "Cindered",
28
+ "Cobalt",
29
+ "Coiled",
30
+ "Copper",
31
+ "Corroded",
32
+ "Crimson",
33
+ "Crumbling",
34
+ "Crystal",
35
+ "Crystalline",
36
+ "Cursed",
37
+ "Cyan",
38
+ "Dark",
39
+ "Dawn",
40
+ "Deep",
41
+ "Desolate",
42
+ "Dim",
43
+ "Distant",
44
+ "Drifting",
45
+ "Dulled",
46
+ "Dusk",
47
+ "Dusted",
48
+ "Ebony",
49
+ "Elder",
50
+ "Ember",
51
+ "Emerald",
52
+ "Ephemeral",
53
+ "Eroded",
54
+ "Eternal",
55
+ "Ethereal",
56
+ "Fading",
57
+ "Ferrous",
58
+ "Fibrous",
59
+ "Flickering",
60
+ "Floating",
61
+ "Forlorn",
62
+ "Forgotten",
63
+ "Forsaken",
64
+ "Fossil",
65
+ "Fractal",
66
+ "Fractured",
67
+ "Frigid",
68
+ "Frozen",
69
+ "Fulgurite",
70
+ "Fused",
71
+ "Garnet",
72
+ "Ghostly",
73
+ "Glacial",
74
+ "Gleaming",
75
+ "Glinting",
76
+ "Glowing",
77
+ "Golden",
78
+ "Granite",
79
+ "Grazing",
80
+ "Grim",
81
+ "Hallowed",
82
+ "Haze",
83
+ "Hidden",
84
+ "Hollow",
85
+ "Hushed",
86
+ "Igneous",
87
+ "Incandescent",
88
+ "Indigo",
89
+ "Infinite",
90
+ "Iridescent",
91
+ "Iron",
92
+ "Ivory",
93
+ "Jade",
94
+ "Kindled",
95
+ "Lapis",
96
+ "Latticed",
97
+ "Leaden",
98
+ "Lingering",
99
+ "Lost",
100
+ "Luminous",
101
+ "Lunar",
102
+ "Lustrous",
103
+ "Magenta",
104
+ "Malachite",
105
+ "Marbled",
106
+ "Mercurial",
107
+ "Midnight",
108
+ "Mineral",
109
+ "Mirrored",
110
+ "Molten",
111
+ "Monolithic",
112
+ "Muted",
113
+ "Nebular",
114
+ "Nocturnal",
115
+ "Obsidian",
116
+ "Ochre",
117
+ "Onyx",
118
+ "Opal",
119
+ "Orbiting",
120
+ "Oxidized",
121
+ "Pale",
122
+ "Pallid",
123
+ "Pearlescent",
124
+ "Petrified",
125
+ "Phantom",
126
+ "Phosphor",
127
+ "Pitted",
128
+ "Polar",
129
+ "Primeval",
130
+ "Primordial",
131
+ "Prismatic",
132
+ "Pulsing",
133
+ "Quartz",
134
+ "Quiet",
135
+ "Radiant",
136
+ "Refracting",
137
+ "Remnant",
138
+ "Riven",
139
+ "Roaming",
140
+ "Roiling",
141
+ "Ruby",
142
+ "Ruined",
143
+ "Rust",
144
+ "Sapphire",
145
+ "Scarlet",
146
+ "Scattered",
147
+ "Scorched",
148
+ "Seething",
149
+ "Shadowed",
150
+ "Shattered",
151
+ "Shimmering",
152
+ "Silent",
153
+ "Silver",
154
+ "Sintered",
155
+ "Slate",
156
+ "Smoldering",
157
+ "Solar",
158
+ "Solemn",
159
+ "Somber",
160
+ "Sorrow",
161
+ "Spectral",
162
+ "Spired",
163
+ "Spiraling",
164
+ "Stark",
165
+ "Steel",
166
+ "Stellar",
167
+ "Stilled",
168
+ "Storm",
169
+ "Stranded",
170
+ "Striated",
171
+ "Stygian",
172
+ "Sullen",
173
+ "Sunken",
174
+ "Sunlit",
175
+ "Swirling",
176
+ "Tarnished",
177
+ "Tempest",
178
+ "Thorned",
179
+ "Tidal",
180
+ "Timeless",
181
+ "Titanium",
182
+ "Topaz",
183
+ "Torrential",
184
+ "Turquoise",
185
+ "Twilight",
186
+ "Umbral",
187
+ "Unbound",
188
+ "Unfathomed",
189
+ "Vagrant",
190
+ "Vanishing",
191
+ "Vaulted",
192
+ "Veiled",
193
+ "Verdant",
194
+ "Vermillion",
195
+ "Violet",
196
+ "Viridian",
197
+ "Void",
198
+ "Volatile",
199
+ "Wandering",
200
+ "Waning",
201
+ "Wasted",
202
+ "Weathered",
203
+ "Whispered",
204
+ "Woven",
205
+ "Wraith",
206
+ "Wretched",
207
+ "Yawning",
208
+ "Yielding",
209
+ "Zenith",
210
+ "Zinc"
211
+ ]
@@ -0,0 +1,151 @@
1
+ [
2
+ "Abyss",
3
+ "Anchor",
4
+ "Anvil",
5
+ "Apex",
6
+ "Arch",
7
+ "Aurora",
8
+ "Basin",
9
+ "Beacon",
10
+ "Bloom",
11
+ "Bough",
12
+ "Briar",
13
+ "Brine",
14
+ "Bulwark",
15
+ "Cairn",
16
+ "Caldera",
17
+ "Canopy",
18
+ "Cascade",
19
+ "Chalice",
20
+ "Chasm",
21
+ "Chorus",
22
+ "Cistern",
23
+ "Citadel",
24
+ "Cloak",
25
+ "Cloud",
26
+ "Coil",
27
+ "Column",
28
+ "Core",
29
+ "Corona",
30
+ "Cradle",
31
+ "Crest",
32
+ "Crown",
33
+ "Crucible",
34
+ "Current",
35
+ "Curtain",
36
+ "Drift",
37
+ "Dusk",
38
+ "Echo",
39
+ "Eddy",
40
+ "Ember",
41
+ "Expanse",
42
+ "Eye",
43
+ "Fathom",
44
+ "Fissure",
45
+ "Fjord",
46
+ "Flare",
47
+ "Fold",
48
+ "Forge",
49
+ "Frontier",
50
+ "Furrow",
51
+ "Gate",
52
+ "Glade",
53
+ "Gorge",
54
+ "Grip",
55
+ "Grotto",
56
+ "Gulf",
57
+ "Gyre",
58
+ "Halo",
59
+ "Haven",
60
+ "Heart",
61
+ "Hearth",
62
+ "Helix",
63
+ "Hollow",
64
+ "Horn",
65
+ "Husk",
66
+ "Inlet",
67
+ "Iris",
68
+ "Jaw",
69
+ "Keel",
70
+ "Knot",
71
+ "Lantern",
72
+ "Lattice",
73
+ "Loom",
74
+ "Mantle",
75
+ "Marrow",
76
+ "Maw",
77
+ "Meridian",
78
+ "Mirage",
79
+ "Monolith",
80
+ "Mote",
81
+ "Nave",
82
+ "Nebula",
83
+ "Nexus",
84
+ "Obelisk",
85
+ "Orbit",
86
+ "Pall",
87
+ "Passage",
88
+ "Petal",
89
+ "Pillar",
90
+ "Pinnacle",
91
+ "Plume",
92
+ "Prism",
93
+ "Prow",
94
+ "Pulse",
95
+ "Pyre",
96
+ "Reach",
97
+ "Remnant",
98
+ "Rib",
99
+ "Ridge",
100
+ "Rift",
101
+ "Root",
102
+ "Sanctum",
103
+ "Seal",
104
+ "Seam",
105
+ "Shard",
106
+ "Shoal",
107
+ "Shroud",
108
+ "Sigil",
109
+ "Sink",
110
+ "Skull",
111
+ "Span",
112
+ "Spar",
113
+ "Spine",
114
+ "Spire",
115
+ "Spoke",
116
+ "Spur",
117
+ "Steeple",
118
+ "Storm",
119
+ "Strand",
120
+ "Surge",
121
+ "Talon",
122
+ "Tendril",
123
+ "Thicket",
124
+ "Thorn",
125
+ "Thread",
126
+ "Threshold",
127
+ "Throat",
128
+ "Tide",
129
+ "Tomb",
130
+ "Torrent",
131
+ "Trench",
132
+ "Trough",
133
+ "Vault",
134
+ "Veil",
135
+ "Vestige",
136
+ "Vigil",
137
+ "Void",
138
+ "Vortex",
139
+ "Wake",
140
+ "Ward",
141
+ "Warden",
142
+ "Weave",
143
+ "Web",
144
+ "Well",
145
+ "Wellspring",
146
+ "Whisper",
147
+ "Wisp",
148
+ "Wraith",
149
+ "Wreath",
150
+ "Zenith"
151
+ ]
@@ -0,0 +1,65 @@
1
+ import items from './items.json'
2
+ import recipes from './recipes.json'
3
+ import entities from './entities.json'
4
+
5
+ import {getItem} from './catalog'
6
+ import type {Item, ModuleType, ResourceCategory} from '../types'
7
+
8
+ export interface RecipeInputItemId {
9
+ itemId: number
10
+ quantity: number
11
+ }
12
+ export interface RecipeInputCategory {
13
+ category: ResourceCategory
14
+ tier: number
15
+ quantity: number
16
+ }
17
+ export type RecipeInput = RecipeInputItemId | RecipeInputCategory
18
+
19
+ export interface StatSlot {
20
+ sources: {inputIndex: number; statIndex: number}[]
21
+ }
22
+
23
+ export interface Recipe {
24
+ outputItemId: number
25
+ outputMass: number
26
+ inputs: RecipeInput[]
27
+ statSlots: StatSlot[]
28
+ blendWeights: number[]
29
+ }
30
+
31
+ export interface EntitySlot {
32
+ type: ModuleType
33
+ }
34
+
35
+ export interface EntityLayout {
36
+ entityItemId: number
37
+ slots: EntitySlot[]
38
+ }
39
+
40
+ const recipesById = new Map<number, Recipe>()
41
+ for (const r of recipes as any[]) recipesById.set(r.outputItemId, r as Recipe)
42
+
43
+ const entitiesById = new Map<number, EntityLayout>()
44
+ for (const e of entities as any[]) entitiesById.set(e.entityItemId, e as EntityLayout)
45
+
46
+ const resourceByCategoryTier = new Map<string, Item>()
47
+ for (const raw of items as any[]) {
48
+ if (raw.type === 'resource') {
49
+ resourceByCategoryTier.set(`${raw.category}:${raw.tier}`, getItem(raw.id))
50
+ }
51
+ }
52
+
53
+ export function getRecipe(outputItemId: number): Recipe | undefined {
54
+ return recipesById.get(outputItemId)
55
+ }
56
+
57
+ export function getEntityLayout(entityItemId: number): EntityLayout | undefined {
58
+ return entitiesById.get(entityItemId)
59
+ }
60
+
61
+ export function findItemByCategoryAndTier(category: ResourceCategory, tier: number): Item {
62
+ const item = resourceByCategoryTier.get(`${category}:${tier}`)
63
+ if (!item) throw new Error(`No resource found for category=${category} tier=${tier}`)
64
+ return item
65
+ }