diff --git a/.vscode/settings.json b/.vscode/settings.json index 4ed7c27..0694373 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,4 +1,7 @@ { "rust-analyzer.check.allTargets": false, - "rust-analyzer.cargo.target": "wasm32-unknown-unknown" + "rust-analyzer.cargo.target": "wasm32-unknown-unknown", + "rust-analyzer.cargo.features": [ + "tsify", + ] } diff --git a/cspell.json b/cspell.json index 87dd65a..e8f8295 100644 --- a/cspell.json +++ b/cspell.json @@ -3,10 +3,17 @@ "flagWords": [], "version": "0.2", "words": [ + "Agrizero", + "aliasable", + "Analyizer", + "Analyser", "arn't", "Astroloy", + "Asura", "Atmo", + "autoignition", "Autolathe", + "Autominer", "Autotagged", "bapal", "bapz", @@ -40,6 +47,7 @@ "bneal", "bnez", "bnezal", + "bools", "brap", "brapz", "brdns", @@ -59,29 +67,57 @@ "brnaz", "brne", "brnez", + "Cannifier", + "cannister", + "Carrage", + "CHAC", "Circuitboard", "Clrd", "codegen", + "columnated", + "composter", "conv", + "Cryo", "cstyle", + "Darga", + "Datalink", "Depressurising", + "desync", "dylib", "endpos", + "Espaciais", + "Exgress", + "Faily", + "Fenoxitone", + "Frida", + "fromstr", "getd", + "glowstick", + "glowy", "Hardsuit", + "Harvie", "hashables", + "Hastelloy", + "headcrabs", "hstack", + "Huxi", + "Idents", + "iface", "impls", + "Inconel", "indexmap", "inext", "inextp", "infile", "Instructable", + "insts", "intf", "itertools", + "Jenk", "jetpack", "kbshortcutmenu", "Keybind", + "Larre", "lbns", "logicable", "LogicSlotType", @@ -92,24 +128,40 @@ "lparen", "lzma", "Mineables", + "MKII", + "moondust", + "Mothership", "mscorlib", "MSEED", + "Murtons", "ninf", + "Nitrice", "nomatch", "nops", + "Norsec", + "offworld", + "Omni", + "onsreen", "oprs", "overcolumn", "Overlength", + "Padi", + "parentable", "pedia", "peekable", "prec", "preproc", "Pressurising", + "prettyplease", + "PRNG", "putd", "QUICKFIX", "reagentmode", "reagentmodes", + "reborrow", + "Recurso", "repr", + "Respawn", "retval", "Rmap", "rocketstation", @@ -125,6 +177,7 @@ "settingsmenu", "sgez", "sgtz", + "Sinotai", "slez", "slotlogic", "slotlogicable", @@ -134,18 +187,36 @@ "snanz", "snaz", "snez", + "spacepack", + "spalling", "splitn", + "stablizer", + "Starck", + "Stationeer", "Stationeers", "stationpedia", "stdweb", + "stopo", + "Stuppen", + "superalloys", "tbody", + "tepratures", "thiserror", "tokentype", "toolbelt", + "Topo", "trunc", "Tsify", + "undarkens", "uneval", + "unparse", + "unpowered", + "WASD", "whos", - "xtask" + "Wirecutters", + "Xigo", + "xtask", + "Zoomer", + "Zrilian" ] } diff --git a/www/cspell.json b/www/cspell.json index 522f907..2992b2e 100644 --- a/www/cspell.json +++ b/www/cspell.json @@ -53,6 +53,7 @@ "brne", "brnez", "Circuitboard", + "clazz", "codegen", "Comlink", "datapoints", @@ -106,6 +107,7 @@ "sattellite", "sdns", "sdse", + "searchbtn", "seqz", "serde", "sgez", diff --git a/www/src/scss/ace_markers.scss b/www/src/scss/ace_markers.scss new file mode 100644 index 0000000..4e57c25 --- /dev/null +++ b/www/src/scss/ace_markers.scss @@ -0,0 +1,27 @@ +.vm_ic_active_line { + position: absolute; + background: rgba(121, 82, 179, 0.4); + z-index: 2000; +} + +.ic10_editor_error_parse { + position: absolute; + border-bottom: dotted 1px #e00404; + z-index: 2000; + border-radius: 0; +} + +.ic10_editor_error_duplicate_label { + position: absolute; + border-bottom: solid 1px #DDC50F; + z-index: 2000; + border-radius: 0; +} + +.ic10_editor_error_runtime { + position: absolute; + border-bottom: dotted 1px #e00404; + z-index: 2000; + border-radius: 0; + background: rgba(179, 82, 82, 0.4); +} diff --git a/www/src/scss/dark.scss b/www/src/scss/dark.scss index 94b138c..1c01051 100644 --- a/www/src/scss/dark.scss +++ b/www/src/scss/dark.scss @@ -81,7 +81,7 @@ body { box-shadow: 0px 2px 3px 0px #555; } -.navbar-default .navbar-nav > li > a { +.navbar-default .navbar-nav>li>a { color: #fff; } @@ -92,7 +92,7 @@ body { color: #fff; } -.navbar-nav > li > a { +.navbar-nav>li>a { padding-top: 10px; padding-bottom: 10px; line-height: 20px; @@ -105,7 +105,7 @@ body { // } // } -.nav > li > a { +.nav>li>a { position: relative; display: block; padding: 10px 15px; @@ -202,12 +202,6 @@ code { background: rgba(76, 87, 103, 0.19); } -.vm_ic_active_line { - position: absolute; - background: rgba(121, 82, 179, 0.4); - z-index: 20; -} - .vm_accordion .accordion-button { padding-top: 0.2rem; padding-bottom: 0.2rem; diff --git a/www/src/scss/styles.scss b/www/src/scss/styles.scss index 78f35dc..d98ca95 100644 --- a/www/src/scss/styles.scss +++ b/www/src/scss/styles.scss @@ -72,6 +72,8 @@ $accordion-button-padding-y: 0.5rem; // Sholace theme @import "@shoelace-style/shoelace/dist/themes/dark.css"; +// Ace marker classes +@import "./ace_markers.scss"; // // Custom styles diff --git a/www/src/ts/database/index.ts b/www/src/ts/database/index.ts new file mode 100644 index 0000000..dcb700e --- /dev/null +++ b/www/src/ts/database/index.ts @@ -0,0 +1,171 @@ +import { FrozenObject, ICInfo, LogicType, ObjectID, ObjectTemplate } from "ic10emu_wasm"; + +import prefabDatabase from "./prefabDatabase"; +import { isSome } from "utils"; + +export type PrefabName = keyof typeof prefabDatabase.prefabs; +export type Prefab = typeof prefabDatabase.prefabs[K] +export type ReagentName = keyof typeof prefabDatabase.reagents; +export type ReagentHash = (typeof prefabDatabase.reagents)[ReagentName]["Hash"] +export type NetworkChannels = [number, number, number, number, number, number, number, number] + +export const validCircuitPrefabsNames = ["ItemIntegratedCircuit10"] as const; + +type ReadonlyTupleToUnion = T[number]; + +export type CircuitPrefabName = ReadonlyTupleToUnion; + +export type LogicTypeOf = Prefab extends { logic: { logic_types: {} } } ? keyof Prefab["logic"]["logic_types"] : never; + +export interface ObjectFromTemplateOptions { + id: ObjectID, + name?: string, + logic_values?: Prefab extends { logic: {} } ? Record, number> : never, + parent?: Prefab extends { item: {} } ? { + obj: ObjectID, + slot: number, + } : never, + slots?: Prefab extends { slots: readonly unknown[] } ? Record : never, + connections?: Prefab extends { device: {} } ? Record : never, + device_pins?: Prefab extends { device: {} } ? Record : never, + reagents?: Prefab extends { device: {} } ? Record : never, + memory?: Prefab extends { memory: {} } ? number[] | Record : never, + damage?: Prefab extends { item: {} } | { human: {} } ? number : never, + circuit?: ( + K extends CircuitPrefabName + ? { + [TKey in keyof ICInfo]?: ( + ICInfo[TKey] extends Map + ? Record + : (ICInfo[TKey]) + ) + } + : never + ), + source_code?: K extends CircuitPrefabName ? string : never, +} + +export function objectFromTemplate( + prefabName: K, + options?: ObjectFromTemplateOptions, +): FrozenObject { + if (!(prefabName in prefabDatabase.prefabs)) { + return null; + } + const template: ObjectTemplate = prefabDatabase.prefabs[prefabName] as ObjectTemplate; + const frozen: FrozenObject = { + obj_info: { + name: options?.name ?? template.prefab.name, + id: options.id, + prefab: template.prefab.prefab_name, + prefab_hash: template.prefab.prefab_hash, + }, + database_template: true + }; + + if ("item" in template && isSome(options?.parent)) { + frozen.obj_info.parent_slot = [options.parent.obj, options.parent.slot]; + + // root_parent_human: undefined, + } + + if ("logic" in template && isSome(options?.logic_values)) { + frozen.obj_info.logic_values = new Map(Object.entries(options?.logic_values ?? {}) as [LogicType, number][]); + + // slot_logic_values: undefined, + } + + if ("slots" in template && isSome(options?.slots)) { + frozen.obj_info.slots = new Map(); + for (const [indexStr, slotEntry] of Object.entries(options.slots)) { + const index = parseInt(indexStr); + frozen.obj_info.slots.set(index, { + id: slotEntry.occupant, + quantity: slotEntry.quantity + }); + } + } + + if ("device" in template) { + if (isSome(options?.connections)) { + frozen.obj_info.connections = new Map(Object.entries(options.connections).map(([indexStr, net]) => { + return [parseInt(indexStr), net]; + })); + } + if (isSome(options?.device_pins)) { + frozen.obj_info.device_pins = new Map(Object.entries(options.device_pins).map(([indexStr, obj]) => { + return [parseInt(indexStr), obj]; + })); + } + if (isSome(options?.reagents)) { + frozen.obj_info.reagents = new Map(Object.entries(options.reagents).map(([reagent, value]: [ReagentName, number]) => { + return [prefabDatabase.reagents[reagent].Hash, value] + })) + } + + // visible_devices: undefined, + } + + if ("memory" in template) { + const memorySize = template.memory.memory_size; + frozen.obj_info.memory = Array(memorySize).fill(0); + if (isSome(options.memory)) { + if (Array.isArray(options.memory)) { + for (let i = 0; i < options.memory.length && i < memorySize; i++) { + frozen.obj_info.memory[i] = options.memory[i]; + } + } else { + for (const [indexStr, value] of Object.entries(options.memory)) { + const index = parseInt(indexStr); + frozen.obj_info.memory[index] = options.memory[index]; + } + } + } + } + + if ("item" in template && isSome(options.damage)) { + frozen.obj_info.damage = options.damage; + } + if ("human" in template && isSome(options.damage)) { + frozen.obj_info.damage = options.damage; + + // entity: undefined, + } + + if (isSome(options?.circuit) || validCircuitPrefabsNames.includes(prefabName as any)) { + frozen.obj_info.circuit = { + instruction_pointer: isSome(options?.circuit?.instruction_pointer) ? options.circuit.instruction_pointer : 0, + yield_instruction_count: isSome(options?.circuit?.yield_instruction_count) ? options.circuit.yield_instruction_count : 0, + state: isSome(options?.circuit?.state) ? options.circuit.state : "Start", + aliases: isSome(options?.circuit?.aliases) ? new Map(Object.entries(options.circuit.aliases)) : new Map(), + defines: isSome(options?.circuit?.defines) ? new Map(Object.entries(options.circuit.defines)) : new Map(), + labels: isSome(options?.circuit?.labels) ? new Map(Object.entries(options.circuit.labels)) : new Map(), + registers: isSome(options?.circuit?.registers) ? options.circuit.registers : new Array(18).fill(0), + } + } + + if (validCircuitPrefabsNames.includes(prefabName as any) && isSome(options?.source_code)) { + frozen.obj_info.source_code = options.source_code; + } + + return frozen; +} + +export function genNetwork(id: ObjectID, options: { + devices?: ObjectID[], + power_only?: ObjectID[], + channels?: NetworkChannels, +}) { + const net = { + id: 1, + devices: options.devices ?? [], + power_only: options.power_only ?? [], + channels: options.channels ?? Array(8).fill(NaN) as NetworkChannels, + }; + return net; +} + +export { prefabDatabase }; diff --git a/www/src/ts/virtualMachine/prefabDatabase.ts b/www/src/ts/database/prefabDatabase.ts similarity index 89% rename from www/src/ts/virtualMachine/prefabDatabase.ts rename to www/src/ts/database/prefabDatabase.ts index a6ef4f4..745c9ce 100644 --- a/www/src/ts/virtualMachine/prefabDatabase.ts +++ b/www/src/ts/database/prefabDatabase.ts @@ -207,12 +207,15 @@ export default { "slot_class": "Appliance", "sorting_class": "Appliances" }, - "slots": [ - { - "name": "Output", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Output", + "class": "None", + "index": 0 + } } - ], + }, "consumer_info": { "consumed_resources": [ "ItemCharcoal", @@ -272,12 +275,15 @@ export default { "slot_class": "Appliance", "sorting_class": "Appliances" }, - "slots": [ - { - "name": "Output", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Output", + "class": "None", + "index": 0 + } } - ], + }, "consumer_info": { "consumed_resources": [ "ItemCorn", @@ -315,12 +321,15 @@ export default { "slot_class": "Appliance", "sorting_class": "Appliances" }, - "slots": [ - { - "name": "Export", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Export", + "class": "None", + "index": 0 + } } - ], + }, "consumer_info": { "consumed_resources": [ "ItemCookedCondensedMilk", @@ -354,12 +363,15 @@ export default { "slot_class": "Appliance", "sorting_class": "Appliances" }, - "slots": [ - { - "name": "Output", - "typ": "Bottle" + "slots": { + "0": { + "Direct": { + "name": "Output", + "class": "Bottle", + "index": 0 + } } - ], + }, "consumer_info": { "consumed_resources": [ "ItemSoyOil", @@ -387,12 +399,15 @@ export default { "slot_class": "Appliance", "sorting_class": "Appliances" }, - "slots": [ - { - "name": "Input", - "typ": "Tool" + "slots": { + "0": { + "Direct": { + "name": "Input", + "class": "Tool", + "index": 0 + } } - ] + } }, "AppliancePlantGeneticSplicer": { "templateType": "ItemSlots", @@ -409,16 +424,22 @@ export default { "slot_class": "Appliance", "sorting_class": "Appliances" }, - "slots": [ - { - "name": "Source Plant", - "typ": "Plant" + "slots": { + "0": { + "Direct": { + "name": "Source Plant", + "class": "Plant", + "index": 0 + } }, - { - "name": "Target Plant", - "typ": "Plant" + "1": { + "Direct": { + "name": "Target Plant", + "class": "Plant", + "index": 1 + } } - ] + } }, "AppliancePlantGeneticStabilizer": { "templateType": "ItemSlots", @@ -435,12 +456,15 @@ export default { "slot_class": "Appliance", "sorting_class": "Appliances" }, - "slots": [ - { - "name": "Plant", - "typ": "Plant" + "slots": { + "0": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 0 + } } - ] + } }, "ApplianceReagentProcessor": { "templateType": "ItemConsumer", @@ -457,16 +481,22 @@ export default { "slot_class": "Appliance", "sorting_class": "Appliances" }, - "slots": [ - { - "name": "Input", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Input", + "class": "None", + "index": 0 + } }, - { - "name": "Output", - "typ": "None" + "1": { + "Direct": { + "name": "Output", + "class": "None", + "index": 1 + } } - ], + }, "consumer_info": { "consumed_resources": [ "ItemWheat", @@ -497,56 +527,92 @@ export default { "slot_class": "Appliance", "sorting_class": "Appliances" }, - "slots": [ - { - "name": "Plant", - "typ": "Plant" + "slots": { + "0": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 0 + } }, - { - "name": "Plant", - "typ": "Plant" + "1": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 1 + } }, - { - "name": "Plant", - "typ": "Plant" + "2": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 2 + } }, - { - "name": "Plant", - "typ": "Plant" + "3": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 3 + } }, - { - "name": "Plant", - "typ": "Plant" + "4": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 4 + } }, - { - "name": "Plant", - "typ": "Plant" + "5": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 5 + } }, - { - "name": "Plant", - "typ": "Plant" + "6": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 6 + } }, - { - "name": "Plant", - "typ": "Plant" + "7": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 7 + } }, - { - "name": "Plant", - "typ": "Plant" + "8": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 8 + } }, - { - "name": "Plant", - "typ": "Plant" + "9": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 9 + } }, - { - "name": "Plant", - "typ": "Plant" + "10": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 10 + } }, - { - "name": "Plant", - "typ": "Plant" + "11": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 11 + } } - ] + } }, "ApplianceTabletDock": { "templateType": "ItemSlots", @@ -563,12 +629,15 @@ export default { "slot_class": "Appliance", "sorting_class": "Appliances" }, - "slots": [ - { - "name": "", - "typ": "Tool" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "Tool", + "index": 0 + } } - ] + } }, "AutolathePrinterMod": { "templateType": "Item", @@ -620,7 +689,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [] + "slots": {} }, "Battery_Wireless_cell_Big": { "templateType": "ItemLogic", @@ -656,7 +725,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [] + "slots": {} }, "CardboardBox": { "templateType": "ItemSlots", @@ -673,32 +742,50 @@ export default { "slot_class": "None", "sorting_class": "Storage" }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "", - "typ": "None" + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } }, - { - "name": "", - "typ": "None" + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } }, - { - "name": "", - "typ": "None" + "4": { + "Direct": { + "name": "", + "class": "None", + "index": 4 + } }, - { - "name": "", - "typ": "None" + "5": { + "Direct": { + "name": "", + "class": "None", + "index": 5 + } } - ] + } }, "CartridgeAccessController": { "templateType": "Item", @@ -1116,7 +1203,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [], "has_activate_state": false, @@ -1144,48 +1231,78 @@ export default { "slot_class": "Crate", "sorting_class": "Storage" }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "", - "typ": "None" + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } }, - { - "name": "", - "typ": "None" + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } }, - { - "name": "", - "typ": "None" + "4": { + "Direct": { + "name": "", + "class": "None", + "index": 4 + } }, - { - "name": "", - "typ": "None" + "5": { + "Direct": { + "name": "", + "class": "None", + "index": 5 + } }, - { - "name": "", - "typ": "None" + "6": { + "Direct": { + "name": "", + "class": "None", + "index": 6 + } }, - { - "name": "", - "typ": "None" + "7": { + "Direct": { + "name": "", + "class": "None", + "index": 7 + } }, - { - "name": "", - "typ": "None" + "8": { + "Direct": { + "name": "", + "class": "None", + "index": 8 + } }, - { - "name": "", - "typ": "None" + "9": { + "Direct": { + "name": "", + "class": "None", + "index": 9 + } } - ] + } }, "DecayedFood": { "templateType": "Item", @@ -1240,7 +1357,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -1421,7 +1538,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -1462,16 +1579,22 @@ export default { "convection_factor": 0.0, "radiation_factor": 0.0 }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } }, - { - "name": "Liquid Canister", - "typ": "LiquidCanister" + "1": { + "Direct": { + "name": "Liquid Canister", + "class": "LiquidCanister", + "index": 1 + } } - ] + } }, "DynamicCrate": { "templateType": "ItemSlots", @@ -1488,48 +1611,78 @@ export default { "slot_class": "Crate", "sorting_class": "Storage" }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "", - "typ": "None" + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } }, - { - "name": "", - "typ": "None" + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } }, - { - "name": "", - "typ": "None" + "4": { + "Direct": { + "name": "", + "class": "None", + "index": 4 + } }, - { - "name": "", - "typ": "None" + "5": { + "Direct": { + "name": "", + "class": "None", + "index": 5 + } }, - { - "name": "", - "typ": "None" + "6": { + "Direct": { + "name": "", + "class": "None", + "index": 6 + } }, - { - "name": "", - "typ": "None" + "7": { + "Direct": { + "name": "", + "class": "None", + "index": 7 + } }, - { - "name": "", - "typ": "None" + "8": { + "Direct": { + "name": "", + "class": "None", + "index": 8 + } }, - { - "name": "", - "typ": "None" + "9": { + "Direct": { + "name": "", + "class": "None", + "index": 9 + } } - ] + } }, "DynamicGPR": { "templateType": "ItemLogic", @@ -1570,12 +1723,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "DynamicGasCanisterAir": { "templateType": "ItemSlots", @@ -1596,12 +1752,15 @@ export default { "convection_factor": 0.025, "radiation_factor": 0.025 }, - "slots": [ - { - "name": "Gas Canister", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Gas Canister", + "class": "None", + "index": 0 + } } - ] + } }, "DynamicGasCanisterCarbonDioxide": { "templateType": "ItemSlots", @@ -1622,12 +1781,15 @@ export default { "convection_factor": 0.025, "radiation_factor": 0.025 }, - "slots": [ - { - "name": "Gas Canister", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Gas Canister", + "class": "None", + "index": 0 + } } - ] + } }, "DynamicGasCanisterEmpty": { "templateType": "ItemSlots", @@ -1648,12 +1810,15 @@ export default { "convection_factor": 0.025, "radiation_factor": 0.025 }, - "slots": [ - { - "name": "Gas Canister", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Gas Canister", + "class": "None", + "index": 0 + } } - ] + } }, "DynamicGasCanisterFuel": { "templateType": "ItemSlots", @@ -1674,12 +1839,15 @@ export default { "convection_factor": 0.025, "radiation_factor": 0.025 }, - "slots": [ - { - "name": "Gas Canister", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Gas Canister", + "class": "None", + "index": 0 + } } - ] + } }, "DynamicGasCanisterNitrogen": { "templateType": "ItemSlots", @@ -1700,12 +1868,15 @@ export default { "convection_factor": 0.025, "radiation_factor": 0.025 }, - "slots": [ - { - "name": "Gas Canister", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Gas Canister", + "class": "None", + "index": 0 + } } - ] + } }, "DynamicGasCanisterNitrousOxide": { "templateType": "ItemSlots", @@ -1726,12 +1897,15 @@ export default { "convection_factor": 0.025, "radiation_factor": 0.025 }, - "slots": [ - { - "name": "Gas Canister", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Gas Canister", + "class": "None", + "index": 0 + } } - ] + } }, "DynamicGasCanisterOxygen": { "templateType": "ItemSlots", @@ -1752,12 +1926,15 @@ export default { "convection_factor": 0.025, "radiation_factor": 0.025 }, - "slots": [ - { - "name": "Gas Canister", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Gas Canister", + "class": "None", + "index": 0 + } } - ] + } }, "DynamicGasCanisterPollutants": { "templateType": "ItemSlots", @@ -1778,12 +1955,15 @@ export default { "convection_factor": 0.025, "radiation_factor": 0.025 }, - "slots": [ - { - "name": "Gas Canister", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Gas Canister", + "class": "None", + "index": 0 + } } - ] + } }, "DynamicGasCanisterRocketFuel": { "templateType": "ItemSlots", @@ -1804,12 +1984,15 @@ export default { "convection_factor": 0.025, "radiation_factor": 0.025 }, - "slots": [ - { - "name": "Gas Canister", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Gas Canister", + "class": "None", + "index": 0 + } } - ] + } }, "DynamicGasCanisterVolatiles": { "templateType": "ItemSlots", @@ -1830,12 +2013,15 @@ export default { "convection_factor": 0.025, "radiation_factor": 0.025 }, - "slots": [ - { - "name": "Gas Canister", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Gas Canister", + "class": "None", + "index": 0 + } } - ] + } }, "DynamicGasCanisterWater": { "templateType": "ItemSlots", @@ -1856,12 +2042,15 @@ export default { "convection_factor": 0.025, "radiation_factor": 0.025 }, - "slots": [ - { - "name": "Gas Canister", - "typ": "LiquidCanister" + "slots": { + "0": { + "Direct": { + "name": "Gas Canister", + "class": "LiquidCanister", + "index": 0 + } } - ] + } }, "DynamicGasTankAdvanced": { "templateType": "ItemSlots", @@ -1882,12 +2071,15 @@ export default { "convection_factor": 0.0, "radiation_factor": 0.0 }, - "slots": [ - { - "name": "Gas Canister", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Gas Canister", + "class": "None", + "index": 0 + } } - ] + } }, "DynamicGasTankAdvancedOxygen": { "templateType": "ItemSlots", @@ -1908,12 +2100,15 @@ export default { "convection_factor": 0.0, "radiation_factor": 0.0 }, - "slots": [ - { - "name": "Gas Canister", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Gas Canister", + "class": "None", + "index": 0 + } } - ] + } }, "DynamicGenerator": { "templateType": "ItemSlots", @@ -1934,16 +2129,22 @@ export default { "convection_factor": 0.0, "radiation_factor": 0.0 }, - "slots": [ - { - "name": "Gas Canister", - "typ": "GasCanister" + "slots": { + "0": { + "Direct": { + "name": "Gas Canister", + "class": "GasCanister", + "index": 0 + } }, - { - "name": "Battery", - "typ": "Battery" + "1": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 1 + } } - ] + } }, "DynamicHydroponics": { "templateType": "ItemSlots", @@ -1964,44 +2165,71 @@ export default { "convection_factor": 0.05, "radiation_factor": 0.05 }, - "slots": [ - { - "name": "Plant", - "typ": "Plant" + "slots": { + "0": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 0 + } }, - { - "name": "Plant", - "typ": "Plant" + "1": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 1 + } }, - { - "name": "Plant", - "typ": "Plant" + "2": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 2 + } }, - { - "name": "Plant", - "typ": "Plant" + "3": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 3 + } }, - { - "name": "Liquid Canister", - "typ": "LiquidCanister" + "4": { + "Direct": { + "name": "Liquid Canister", + "class": "LiquidCanister", + "index": 4 + } }, - { - "name": "Liquid Canister", - "typ": "Plant" + "5": { + "Direct": { + "name": "Liquid Canister", + "class": "Plant", + "index": 5 + } }, - { - "name": "Liquid Canister", - "typ": "Plant" + "6": { + "Direct": { + "name": "Liquid Canister", + "class": "Plant", + "index": 6 + } }, - { - "name": "Liquid Canister", - "typ": "Plant" + "7": { + "Direct": { + "name": "Liquid Canister", + "class": "Plant", + "index": 7 + } }, - { - "name": "Liquid Canister", - "typ": "Plant" + "8": { + "Direct": { + "name": "Liquid Canister", + "class": "Plant", + "index": 8 + } } - ] + } }, "DynamicLight": { "templateType": "ItemLogic", @@ -2043,12 +2271,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "DynamicLiquidCanisterEmpty": { "templateType": "ItemSlots", @@ -2069,12 +2300,15 @@ export default { "convection_factor": 0.025, "radiation_factor": 0.025 }, - "slots": [ - { - "name": "Liquid Canister", - "typ": "LiquidCanister" + "slots": { + "0": { + "Direct": { + "name": "Liquid Canister", + "class": "LiquidCanister", + "index": 0 + } } - ] + } }, "DynamicMKIILiquidCanisterEmpty": { "templateType": "ItemSlots", @@ -2095,12 +2329,15 @@ export default { "convection_factor": 0.0, "radiation_factor": 0.0 }, - "slots": [ - { - "name": "Liquid Canister", - "typ": "LiquidCanister" + "slots": { + "0": { + "Direct": { + "name": "Liquid Canister", + "class": "LiquidCanister", + "index": 0 + } } - ] + } }, "DynamicMKIILiquidCanisterWater": { "templateType": "ItemSlots", @@ -2121,12 +2358,15 @@ export default { "convection_factor": 0.0, "radiation_factor": 0.0 }, - "slots": [ - { - "name": "Liquid Canister", - "typ": "LiquidCanister" + "slots": { + "0": { + "Direct": { + "name": "Liquid Canister", + "class": "LiquidCanister", + "index": 0 + } } - ] + } }, "DynamicScrubber": { "templateType": "ItemSlots", @@ -2147,20 +2387,29 @@ export default { "convection_factor": 0.0, "radiation_factor": 0.0 }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } }, - { - "name": "Gas Filter", - "typ": "GasFilter" + "1": { + "Direct": { + "name": "Gas Filter", + "class": "GasFilter", + "index": 1 + } }, - { - "name": "Gas Filter", - "typ": "GasFilter" + "2": { + "Direct": { + "name": "Gas Filter", + "class": "GasFilter", + "index": 2 + } } - ] + } }, "DynamicSkeleton": { "templateType": "Item", @@ -2229,12 +2478,15 @@ export default { "convection_factor": 0.1, "radiation_factor": 0.1 }, - "slots": [ - { - "name": "Brain", - "typ": "Organ" + "slots": { + "0": { + "Direct": { + "name": "Brain", + "class": "Organ", + "index": 0 + } } - ] + } }, "EntityChickenBrown": { "templateType": "ItemSlots", @@ -2255,12 +2507,15 @@ export default { "convection_factor": 0.1, "radiation_factor": 0.1 }, - "slots": [ - { - "name": "Brain", - "typ": "Organ" + "slots": { + "0": { + "Direct": { + "name": "Brain", + "class": "Organ", + "index": 0 + } } - ] + } }, "EntityChickenWhite": { "templateType": "ItemSlots", @@ -2281,12 +2536,15 @@ export default { "convection_factor": 0.1, "radiation_factor": 0.1 }, - "slots": [ - { - "name": "Brain", - "typ": "Organ" + "slots": { + "0": { + "Direct": { + "name": "Brain", + "class": "Organ", + "index": 0 + } } - ] + } }, "EntityRoosterBlack": { "templateType": "ItemSlots", @@ -2307,12 +2565,15 @@ export default { "convection_factor": 0.1, "radiation_factor": 0.1 }, - "slots": [ - { - "name": "Brain", - "typ": "Organ" + "slots": { + "0": { + "Direct": { + "name": "Brain", + "class": "Organ", + "index": 0 + } } - ] + } }, "EntityRoosterBrown": { "templateType": "ItemSlots", @@ -2333,12 +2594,15 @@ export default { "convection_factor": 0.1, "radiation_factor": 0.1 }, - "slots": [ - { - "name": "Brain", - "typ": "Organ" + "slots": { + "0": { + "Direct": { + "name": "Brain", + "class": "Organ", + "index": 0 + } } - ] + } }, "Fertilizer": { "templateType": "Item", @@ -2371,12 +2635,15 @@ export default { "slot_class": "None", "sorting_class": "Tools" }, - "slots": [ - { - "name": "", - "typ": "Magazine" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "Magazine", + "index": 0 + } } - ] + } }, "Flag_ODA_10m": { "templateType": "Structure", @@ -2441,16 +2708,22 @@ export default { "slot_class": "Tool", "sorting_class": "Tools" }, - "slots": [ - { - "name": "Magazine", - "typ": "Flare" + "slots": { + "0": { + "Direct": { + "name": "Magazine", + "class": "Flare", + "index": 0 + } }, - { - "name": "", - "typ": "Blocked" + "1": { + "Direct": { + "name": "", + "class": "Blocked", + "index": 1 + } } - ] + } }, "H2Combustor": { "templateType": "StructureCircuitHolder", @@ -2552,12 +2825,15 @@ export default { "wireless_logic": false, "circuit_holder": true }, - "slots": [ - { - "name": "Programmable Chip", - "typ": "ProgrammableChip" + "slots": { + "0": { + "Direct": { + "name": "Programmable Chip", + "class": "ProgrammableChip", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -2603,12 +2879,15 @@ export default { "slot_class": "None", "sorting_class": "Tools" }, - "slots": [ - { - "name": "Magazine", - "typ": "Magazine" + "slots": { + "0": { + "Direct": { + "name": "Magazine", + "class": "Magazine", + "index": 0 + } } - ] + } }, "HandgunMagazine": { "templateType": "Item", @@ -2763,24 +3042,36 @@ export default { "wireless_logic": true, "circuit_holder": true }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } }, - { - "name": "Cartridge", - "typ": "Cartridge" + "1": { + "Direct": { + "name": "Cartridge", + "class": "Cartridge", + "index": 1 + } }, - { - "name": "Cartridge1", - "typ": "Cartridge" + "2": { + "Direct": { + "name": "Cartridge1", + "class": "Cartridge", + "index": 2 + } }, - { - "name": "Programmable Chip", - "typ": "ProgrammableChip" + "3": { + "Direct": { + "name": "Programmable Chip", + "class": "ProgrammableChip", + "index": 3 + } } - ] + } }, "ItemAlienMushroom": { "templateType": "Item", @@ -2852,12 +3143,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "ItemArcWelder": { "templateType": "ItemLogic", @@ -2897,12 +3191,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "ItemAreaPowerControl": { "templateType": "Item", @@ -3037,7 +3334,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [] + "slots": {} }, "ItemBatteryCellLarge": { "templateType": "ItemLogic", @@ -3073,7 +3370,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [] + "slots": {} }, "ItemBatteryCellNuclear": { "templateType": "ItemLogic", @@ -3109,7 +3406,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [] + "slots": {} }, "ItemBatteryCharger": { "templateType": "Item", @@ -3182,12 +3479,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "ItemBiomass": { "templateType": "Item", @@ -3399,32 +3699,50 @@ export default { "slot_class": "None", "sorting_class": "Storage" }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "", - "typ": "None" + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } }, - { - "name": "", - "typ": "None" + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } }, - { - "name": "", - "typ": "None" + "4": { + "Direct": { + "name": "", + "class": "None", + "index": 4 + } }, - { - "name": "", - "typ": "None" + "5": { + "Direct": { + "name": "", + "class": "None", + "index": 5 + } } - ] + } }, "ItemCerealBarBox": { "templateType": "ItemSlots", @@ -3441,32 +3759,50 @@ export default { "slot_class": "None", "sorting_class": "Storage" }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "", - "typ": "None" + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } }, - { - "name": "", - "typ": "None" + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } }, - { - "name": "", - "typ": "None" + "4": { + "Direct": { + "name": "", + "class": "None", + "index": 4 + } }, - { - "name": "", - "typ": "None" + "5": { + "Direct": { + "name": "", + "class": "None", + "index": 5 + } } - ] + } }, "ItemCharcoal": { "templateType": "Item", @@ -4101,12 +4437,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "ItemDuctTape": { "templateType": "Item", @@ -4171,32 +4510,50 @@ export default { "slot_class": "None", "sorting_class": "Storage" }, - "slots": [ - { - "name": "", - "typ": "Egg" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "Egg", + "index": 0 + } }, - { - "name": "", - "typ": "Egg" + "1": { + "Direct": { + "name": "", + "class": "Egg", + "index": 1 + } }, - { - "name": "", - "typ": "Egg" + "2": { + "Direct": { + "name": "", + "class": "Egg", + "index": 2 + } }, - { - "name": "", - "typ": "Egg" + "3": { + "Direct": { + "name": "", + "class": "Egg", + "index": 3 + } }, - { - "name": "", - "typ": "Egg" + "4": { + "Direct": { + "name": "", + "class": "Egg", + "index": 4 + } }, - { - "name": "", - "typ": "Egg" + "5": { + "Direct": { + "name": "", + "class": "Egg", + "index": 5 + } } - ] + } }, "ItemElectronicParts": { "templateType": "Item", @@ -4271,12 +4628,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "ItemEmergencyArcWelder": { "templateType": "ItemLogic", @@ -4316,12 +4676,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "ItemEmergencyCrowbar": { "templateType": "Item", @@ -4377,12 +4740,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "ItemEmergencyEvaSuit": { "templateType": "ItemSuit", @@ -4406,32 +4772,50 @@ export default { "internal_atmo_info": { "volume": 10.0 }, - "slots": [ - { - "name": "Air Tank", - "typ": "GasCanister" + "slots": { + "0": { + "Direct": { + "name": "Air Tank", + "class": "GasCanister", + "index": 0 + } }, - { - "name": "Waste Tank", - "typ": "GasCanister" + "1": { + "Direct": { + "name": "Waste Tank", + "class": "GasCanister", + "index": 1 + } }, - { - "name": "Life Support", - "typ": "Battery" + "2": { + "Direct": { + "name": "Life Support", + "class": "Battery", + "index": 2 + } }, - { - "name": "Filter", - "typ": "GasFilter" + "3": { + "Direct": { + "name": "Filter", + "class": "GasFilter", + "index": 3 + } }, - { - "name": "Filter", - "typ": "GasFilter" + "4": { + "Direct": { + "name": "Filter", + "class": "GasFilter", + "index": 4 + } }, - { - "name": "Filter", - "typ": "GasFilter" + "5": { + "Direct": { + "name": "Filter", + "class": "GasFilter", + "index": 5 + } } - ], + }, "suit_info": { "hygiene_reduction_multiplier": 1.0, "waste_max_pressure": 4053.0 @@ -4528,7 +4912,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [] + "slots": {} }, "ItemEmergencySuppliesBox": { "templateType": "ItemSlots", @@ -4545,32 +4929,50 @@ export default { "slot_class": "None", "sorting_class": "Default" }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "", - "typ": "None" + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } }, - { - "name": "", - "typ": "None" + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } }, - { - "name": "", - "typ": "None" + "4": { + "Direct": { + "name": "", + "class": "None", + "index": 4 + } }, - { - "name": "", - "typ": "None" + "5": { + "Direct": { + "name": "", + "class": "None", + "index": 5 + } } - ] + } }, "ItemEmergencyToolBelt": { "templateType": "ItemSlots", @@ -4587,40 +4989,64 @@ export default { "slot_class": "Belt", "sorting_class": "Clothing" }, - "slots": [ - { - "name": "Tool", - "typ": "Tool" + "slots": { + "0": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 0 + } }, - { - "name": "Tool", - "typ": "Tool" + "1": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 1 + } }, - { - "name": "Tool", - "typ": "Tool" + "2": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 2 + } }, - { - "name": "Tool", - "typ": "Tool" + "3": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 3 + } }, - { - "name": "Tool", - "typ": "Tool" + "4": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 4 + } }, - { - "name": "Tool", - "typ": "Tool" + "5": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 5 + } }, - { - "name": "Tool", - "typ": "Tool" + "6": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 6 + } }, - { - "name": "Tool", - "typ": "Tool" + "7": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 7 + } } - ] + } }, "ItemEmergencyWireCutters": { "templateType": "Item", @@ -4695,32 +5121,50 @@ export default { "internal_atmo_info": { "volume": 10.0 }, - "slots": [ - { - "name": "Air Tank", - "typ": "GasCanister" + "slots": { + "0": { + "Direct": { + "name": "Air Tank", + "class": "GasCanister", + "index": 0 + } }, - { - "name": "Waste Tank", - "typ": "GasCanister" + "1": { + "Direct": { + "name": "Waste Tank", + "class": "GasCanister", + "index": 1 + } }, - { - "name": "Life Support", - "typ": "Battery" + "2": { + "Direct": { + "name": "Life Support", + "class": "Battery", + "index": 2 + } }, - { - "name": "Filter", - "typ": "GasFilter" + "3": { + "Direct": { + "name": "Filter", + "class": "GasFilter", + "index": 3 + } }, - { - "name": "Filter", - "typ": "GasFilter" + "4": { + "Direct": { + "name": "Filter", + "class": "GasFilter", + "index": 4 + } }, - { - "name": "Filter", - "typ": "GasFilter" + "5": { + "Direct": { + "name": "Filter", + "class": "GasFilter", + "index": 5 + } } - ], + }, "suit_info": { "hygiene_reduction_multiplier": 1.0, "waste_max_pressure": 4053.0 @@ -4871,12 +5315,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "ItemFlour": { "templateType": "Item", @@ -5982,56 +6429,92 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "", - "typ": "None" + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } }, - { - "name": "", - "typ": "None" + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } }, - { - "name": "", - "typ": "None" + "4": { + "Direct": { + "name": "", + "class": "None", + "index": 4 + } }, - { - "name": "", - "typ": "None" + "5": { + "Direct": { + "name": "", + "class": "None", + "index": 5 + } }, - { - "name": "", - "typ": "None" + "6": { + "Direct": { + "name": "", + "class": "None", + "index": 6 + } }, - { - "name": "", - "typ": "None" + "7": { + "Direct": { + "name": "", + "class": "None", + "index": 7 + } }, - { - "name": "", - "typ": "None" + "8": { + "Direct": { + "name": "", + "class": "None", + "index": 8 + } }, - { - "name": "", - "typ": "None" + "9": { + "Direct": { + "name": "", + "class": "None", + "index": 9 + } }, - { - "name": "", - "typ": "None" + "10": { + "Direct": { + "name": "", + "class": "None", + "index": 10 + } }, - { - "name": "", - "typ": "None" + "11": { + "Direct": { + "name": "", + "class": "None", + "index": 11 + } } - ] + } }, "ItemHardJetpack": { "templateType": "ItemLogic", @@ -6197,68 +6680,113 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Propellant", - "typ": "GasCanister" + "slots": { + "0": { + "Direct": { + "name": "Propellant", + "class": "GasCanister", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "", - "typ": "None" + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } }, - { - "name": "", - "typ": "None" + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } }, - { - "name": "", - "typ": "None" + "4": { + "Direct": { + "name": "", + "class": "None", + "index": 4 + } }, - { - "name": "", - "typ": "None" + "5": { + "Direct": { + "name": "", + "class": "None", + "index": 5 + } }, - { - "name": "", - "typ": "None" + "6": { + "Direct": { + "name": "", + "class": "None", + "index": 6 + } }, - { - "name": "", - "typ": "None" + "7": { + "Direct": { + "name": "", + "class": "None", + "index": 7 + } }, - { - "name": "", - "typ": "None" + "8": { + "Direct": { + "name": "", + "class": "None", + "index": 8 + } }, - { - "name": "", - "typ": "None" + "9": { + "Direct": { + "name": "", + "class": "None", + "index": 9 + } }, - { - "name": "", - "typ": "None" + "10": { + "Direct": { + "name": "", + "class": "None", + "index": 10 + } }, - { - "name": "", - "typ": "None" + "11": { + "Direct": { + "name": "", + "class": "None", + "index": 11 + } }, - { - "name": "", - "typ": "None" + "12": { + "Direct": { + "name": "", + "class": "None", + "index": 12 + } }, - { - "name": "", - "typ": "None" + "13": { + "Direct": { + "name": "", + "class": "None", + "index": 13 + } }, - { - "name": "", - "typ": "None" + "14": { + "Direct": { + "name": "", + "class": "None", + "index": 14 + } } - ] + } }, "ItemHardMiningBackPack": { "templateType": "ItemSlots", @@ -6275,120 +6803,204 @@ export default { "slot_class": "Back", "sorting_class": "Clothing" }, - "slots": [ - { - "name": "Ore", - "typ": "Ore" + "slots": { + "0": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 0 + } }, - { - "name": "Ore", - "typ": "Ore" + "1": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 1 + } }, - { - "name": "Ore", - "typ": "Ore" + "2": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 2 + } }, - { - "name": "Ore", - "typ": "Ore" + "3": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 3 + } }, - { - "name": "Ore", - "typ": "Ore" + "4": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 4 + } }, - { - "name": "Ore", - "typ": "Ore" + "5": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 5 + } }, - { - "name": "Ore", - "typ": "Ore" + "6": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 6 + } }, - { - "name": "Ore", - "typ": "Ore" + "7": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 7 + } }, - { - "name": "Ore", - "typ": "Ore" + "8": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 8 + } }, - { - "name": "Ore", - "typ": "Ore" + "9": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 9 + } }, - { - "name": "Ore", - "typ": "Ore" + "10": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 10 + } }, - { - "name": "Ore", - "typ": "Ore" + "11": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 11 + } }, - { - "name": "Ore", - "typ": "Ore" + "12": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 12 + } }, - { - "name": "Ore", - "typ": "Ore" + "13": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 13 + } }, - { - "name": "Ore", - "typ": "Ore" + "14": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 14 + } + }, + "15": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 15 + } }, - { - "name": "Ore", - "typ": "Ore" + "16": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 16 + } }, - { - "name": "Ore", - "typ": "Ore" + "17": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 17 + } }, - { - "name": "Ore", - "typ": "Ore" + "18": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 18 + } }, - { - "name": "Ore", - "typ": "Ore" + "19": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 19 + } }, - { - "name": "Ore", - "typ": "Ore" + "20": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 20 + } }, - { - "name": "Ore", - "typ": "Ore" + "21": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 21 + } }, - { - "name": "Ore", - "typ": "Ore" + "22": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 22 + } }, - { - "name": "Ore", - "typ": "Ore" + "23": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 23 + } }, - { - "name": "Ore", - "typ": "Ore" + "24": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 24 + } }, - { - "name": "Ore", - "typ": "Ore" - }, - { - "name": "Ore", - "typ": "Ore" + "25": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 25 + } }, - { - "name": "Ore", - "typ": "Ore" + "26": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 26 + } }, - { - "name": "Ore", - "typ": "Ore" + "27": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 27 + } } - ] + } }, "ItemHardSuit": { "templateType": "ItemSuitCircuitHolder", @@ -6554,40 +7166,64 @@ export default { "wireless_logic": true, "circuit_holder": true }, - "slots": [ - { - "name": "Air Tank", - "typ": "GasCanister" + "slots": { + "0": { + "Direct": { + "name": "Air Tank", + "class": "GasCanister", + "index": 0 + } }, - { - "name": "Waste Tank", - "typ": "GasCanister" + "1": { + "Direct": { + "name": "Waste Tank", + "class": "GasCanister", + "index": 1 + } }, - { - "name": "Life Support", - "typ": "Battery" + "2": { + "Direct": { + "name": "Life Support", + "class": "Battery", + "index": 2 + } }, - { - "name": "Programmable Chip", - "typ": "ProgrammableChip" + "3": { + "Direct": { + "name": "Programmable Chip", + "class": "ProgrammableChip", + "index": 3 + } }, - { - "name": "Filter", - "typ": "GasFilter" + "4": { + "Direct": { + "name": "Filter", + "class": "GasFilter", + "index": 4 + } }, - { - "name": "Filter", - "typ": "GasFilter" + "5": { + "Direct": { + "name": "Filter", + "class": "GasFilter", + "index": 5 + } }, - { - "name": "Filter", - "typ": "GasFilter" + "6": { + "Direct": { + "name": "Filter", + "class": "GasFilter", + "index": 6 + } }, - { - "name": "Filter", - "typ": "GasFilter" + "7": { + "Direct": { + "name": "Filter", + "class": "GasFilter", + "index": 7 + } } - ], + }, "suit_info": { "hygiene_reduction_multiplier": 1.5, "waste_max_pressure": 4053.0 @@ -6656,7 +7292,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [] + "slots": {} }, "ItemHastelloyIngot": { "templateType": "Item", @@ -6731,48 +7367,78 @@ export default { "slot_class": "Belt", "sorting_class": "Clothing" }, - "slots": [ - { - "name": "Tool", - "typ": "Tool" + "slots": { + "0": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 0 + } }, - { - "name": "Tool", - "typ": "Tool" + "1": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 1 + } }, - { - "name": "Plant", - "typ": "Plant" + "2": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 2 + } }, - { - "name": "Plant", - "typ": "Plant" + "3": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 3 + } }, - { - "name": "Plant", - "typ": "Plant" + "4": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 4 + } }, - { - "name": "Plant", - "typ": "Plant" + "5": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 5 + } }, - { - "name": "Plant", - "typ": "Plant" + "6": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 6 + } }, - { - "name": "Plant", - "typ": "Plant" + "7": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 7 + } }, - { - "name": "Plant", - "typ": "Plant" + "8": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 8 + } }, - { - "name": "Plant", - "typ": "Plant" + "9": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 9 + } } - ] + } }, "ItemHydroponicTray": { "templateType": "Item", @@ -6856,12 +7522,15 @@ export default { "slot_class": "None", "sorting_class": "Default" }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } } - ] + } }, "ItemInsulation": { "templateType": "Item", @@ -6904,7 +7573,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "memory": { "memory_access": "ReadWrite", "memory_size": 512 @@ -7118,48 +7787,78 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Propellant", - "typ": "GasCanister" + "slots": { + "0": { + "Direct": { + "name": "Propellant", + "class": "GasCanister", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "", - "typ": "None" + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } }, - { - "name": "", - "typ": "None" + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } }, - { - "name": "", - "typ": "None" + "4": { + "Direct": { + "name": "", + "class": "None", + "index": 4 + } }, - { - "name": "", - "typ": "None" + "5": { + "Direct": { + "name": "", + "class": "None", + "index": 5 + } }, - { - "name": "", - "typ": "None" + "6": { + "Direct": { + "name": "", + "class": "None", + "index": 6 + } }, - { - "name": "", - "typ": "None" + "7": { + "Direct": { + "name": "", + "class": "None", + "index": 7 + } }, - { - "name": "", - "typ": "None" + "8": { + "Direct": { + "name": "", + "class": "None", + "index": 8 + } }, - { - "name": "", - "typ": "None" + "9": { + "Direct": { + "name": "", + "class": "None", + "index": 9 + } } - ] + } }, "ItemKitAIMeE": { "templateType": "Item", @@ -8393,6 +9092,86 @@ export default { "sorting_class": "Kits" } }, + "ItemKitLarreDockAtmos": { + "templateType": "Item", + "prefab": { + "prefab_name": "ItemKitLarreDockAtmos", + "prefab_hash": 385528206, + "desc": "", + "name": "Kit (LArRE Dock Atmos)" + }, + "item": { + "consumable": false, + "ingredient": false, + "max_quantity": 1, + "slot_class": "None", + "sorting_class": "Kits" + } + }, + "ItemKitLarreDockBypass": { + "templateType": "Item", + "prefab": { + "prefab_name": "ItemKitLarreDockBypass", + "prefab_hash": -940470326, + "desc": "", + "name": "Kit (LArRE Dock Bypass)" + }, + "item": { + "consumable": false, + "ingredient": false, + "max_quantity": 1, + "slot_class": "None", + "sorting_class": "Kits" + } + }, + "ItemKitLarreDockCargo": { + "templateType": "Item", + "prefab": { + "prefab_name": "ItemKitLarreDockCargo", + "prefab_hash": -1067485367, + "desc": "", + "name": "Kit (LArRE Dock Cargo)" + }, + "item": { + "consumable": false, + "ingredient": false, + "max_quantity": 1, + "slot_class": "None", + "sorting_class": "Kits" + } + }, + "ItemKitLarreDockCollector": { + "templateType": "Item", + "prefab": { + "prefab_name": "ItemKitLarreDockCollector", + "prefab_hash": 347658127, + "desc": "", + "name": "Kit (LArRE Dock Collector)" + }, + "item": { + "consumable": false, + "ingredient": false, + "max_quantity": 1, + "slot_class": "None", + "sorting_class": "Kits" + } + }, + "ItemKitLarreDockHydroponics": { + "templateType": "Item", + "prefab": { + "prefab_name": "ItemKitLarreDockHydroponics", + "prefab_hash": 656181408, + "desc": "", + "name": "Kit (LArRE Dock Hydroponics)" + }, + "item": { + "consumable": false, + "ingredient": false, + "max_quantity": 1, + "slot_class": "None", + "sorting_class": "Kits" + } + }, "ItemKitLaunchMount": { "templateType": "Item", "prefab": { @@ -10080,12 +10859,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "ItemLaptop": { "templateType": "ItemCircuitHolder", @@ -10149,20 +10931,29 @@ export default { "wireless_logic": true, "circuit_holder": true }, - "slots": [ - { - "name": "Programmable Chip", - "typ": "ProgrammableChip" + "slots": { + "0": { + "Direct": { + "name": "Programmable Chip", + "class": "ProgrammableChip", + "index": 0 + } }, - { - "name": "Battery", - "typ": "Battery" + "1": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 1 + } }, - { - "name": "Motherboard", - "typ": "Motherboard" + "2": { + "Direct": { + "name": "Motherboard", + "class": "Motherboard", + "index": 2 + } } - ] + } }, "ItemLeadIngot": { "templateType": "Item", @@ -10398,12 +11189,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "ItemMKIIArcWelder": { "templateType": "ItemLogic", @@ -10443,12 +11237,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "ItemMKIICrowbar": { "templateType": "Item", @@ -10504,12 +11301,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "ItemMKIIDuctTape": { "templateType": "Item", @@ -10572,12 +11372,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "ItemMKIIScrewdriver": { "templateType": "Item", @@ -10642,24 +11445,36 @@ export default { "slot_class": "Suit", "sorting_class": "Clothing" }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "", - "typ": "None" + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } }, - { - "name": "", - "typ": "None" + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } } - ] + } }, "ItemMarineHelmet": { "templateType": "ItemSlots", @@ -10676,12 +11491,15 @@ export default { "slot_class": "Helmet", "sorting_class": "Clothing" }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "ItemMilk": { "templateType": "Item", @@ -10717,104 +11535,176 @@ export default { "slot_class": "Back", "sorting_class": "Clothing" }, - "slots": [ - { - "name": "Ore", - "typ": "Ore" + "slots": { + "0": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 0 + } }, - { - "name": "Ore", - "typ": "Ore" + "1": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 1 + } }, - { - "name": "Ore", - "typ": "Ore" + "2": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 2 + } }, - { - "name": "Ore", - "typ": "Ore" + "3": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 3 + } }, - { - "name": "Ore", - "typ": "Ore" + "4": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 4 + } }, - { - "name": "Ore", - "typ": "Ore" + "5": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 5 + } }, - { - "name": "Ore", - "typ": "Ore" + "6": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 6 + } }, - { - "name": "Ore", - "typ": "Ore" + "7": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 7 + } }, - { - "name": "Ore", - "typ": "Ore" + "8": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 8 + } }, - { - "name": "Ore", - "typ": "Ore" + "9": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 9 + } }, - { - "name": "Ore", - "typ": "Ore" + "10": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 10 + } }, - { - "name": "Ore", - "typ": "Ore" + "11": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 11 + } }, - { - "name": "Ore", - "typ": "Ore" + "12": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 12 + } }, - { - "name": "Ore", - "typ": "Ore" + "13": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 13 + } }, - { - "name": "Ore", - "typ": "Ore" + "14": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 14 + } }, - { - "name": "Ore", - "typ": "Ore" + "15": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 15 + } }, - { - "name": "Ore", - "typ": "Ore" + "16": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 16 + } }, - { - "name": "Ore", - "typ": "Ore" + "17": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 17 + } }, - { - "name": "Ore", - "typ": "Ore" + "18": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 18 + } }, - { - "name": "Ore", - "typ": "Ore" + "19": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 19 + } }, - { - "name": "Ore", - "typ": "Ore" + "20": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 20 + } }, - { - "name": "Ore", - "typ": "Ore" + "21": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 21 + } }, - { - "name": "Ore", - "typ": "Ore" + "22": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 22 + } }, - { - "name": "Ore", - "typ": "Ore" + "23": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 23 + } } - ] + } }, "ItemMiningBelt": { "templateType": "ItemSlots", @@ -10831,48 +11721,78 @@ export default { "slot_class": "Belt", "sorting_class": "Clothing" }, - "slots": [ - { - "name": "Tool", - "typ": "Tool" + "slots": { + "0": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 0 + } }, - { - "name": "Tool", - "typ": "Tool" + "1": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 1 + } }, - { - "name": "Ore", - "typ": "Ore" + "2": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 2 + } }, - { - "name": "Ore", - "typ": "Ore" + "3": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 3 + } }, - { - "name": "Ore", - "typ": "Ore" + "4": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 4 + } }, - { - "name": "Ore", - "typ": "Ore" + "5": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 5 + } }, - { - "name": "Ore", - "typ": "Ore" + "6": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 6 + } }, - { - "name": "Ore", - "typ": "Ore" + "7": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 7 + } }, - { - "name": "Ore", - "typ": "Ore" + "8": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 8 + } }, - { - "name": "Ore", - "typ": "Ore" + "9": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 9 + } } - ] + } }, "ItemMiningBeltMKII": { "templateType": "ItemLogic", @@ -11034,68 +11954,113 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Tool", - "typ": "Tool" + "slots": { + "0": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 0 + } }, - { - "name": "Tool", - "typ": "Tool" + "1": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 1 + } }, - { - "name": "Ore", - "typ": "Ore" + "2": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 2 + } }, - { - "name": "Ore", - "typ": "Ore" + "3": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 3 + } }, - { - "name": "Ore", - "typ": "Ore" + "4": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 4 + } }, - { - "name": "Ore", - "typ": "Ore" + "5": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 5 + } }, - { - "name": "Ore", - "typ": "Ore" + "6": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 6 + } }, - { - "name": "Ore", - "typ": "Ore" + "7": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 7 + } }, - { - "name": "Ore", - "typ": "Ore" + "8": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 8 + } }, - { - "name": "Ore", - "typ": "Ore" + "9": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 9 + } }, - { - "name": "Ore", - "typ": "Ore" + "10": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 10 + } }, - { - "name": "Ore", - "typ": "Ore" + "11": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 11 + } }, - { - "name": "Ore", - "typ": "Ore" + "12": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 12 + } }, - { - "name": "Ore", - "typ": "Ore" + "13": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 13 + } }, - { - "name": "Ore", - "typ": "Ore" + "14": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 14 + } } - ] + } }, "ItemMiningCharge": { "templateType": "Item", @@ -11158,12 +12123,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "ItemMiningDrillHeavy": { "templateType": "ItemLogic", @@ -11210,12 +12178,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "ItemMiningDrillPneumatic": { "templateType": "ItemSlots", @@ -11232,12 +12203,15 @@ export default { "slot_class": "Tool", "sorting_class": "Tools" }, - "slots": [ - { - "name": "Gas Canister", - "typ": "GasCanister" + "slots": { + "0": { + "Direct": { + "name": "Gas Canister", + "class": "GasCanister", + "index": 0 + } } - ] + } }, "ItemMiningPackage": { "templateType": "ItemSlots", @@ -11254,32 +12228,50 @@ export default { "slot_class": "None", "sorting_class": "Storage" }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "", - "typ": "None" + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } }, - { - "name": "", - "typ": "None" + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } }, - { - "name": "", - "typ": "None" + "4": { + "Direct": { + "name": "", + "class": "None", + "index": 4 + } }, - { - "name": "", - "typ": "None" + "5": { + "Direct": { + "name": "", + "class": "None", + "index": 5 + } } - ] + } }, "ItemMkIIToolbelt": { "templateType": "ItemLogic", @@ -11414,56 +12406,92 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Tool", - "typ": "Tool" + "slots": { + "0": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 0 + } }, - { - "name": "Tool", - "typ": "Tool" + "1": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 1 + } }, - { - "name": "Tool", - "typ": "Tool" + "2": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 2 + } }, - { - "name": "Tool", - "typ": "Tool" + "3": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 3 + } }, - { - "name": "Tool", - "typ": "Tool" + "4": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 4 + } }, - { - "name": "Tool", - "typ": "Tool" + "5": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 5 + } }, - { - "name": "Tool", - "typ": "Tool" + "6": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 6 + } }, - { - "name": "Tool", - "typ": "Tool" + "7": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 7 + } }, - { - "name": "Tool", - "typ": "Tool" + "8": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 8 + } }, - { - "name": "Tool", - "typ": "Tool" + "9": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 9 + } }, - { - "name": "", - "typ": "None" + "10": { + "Direct": { + "name": "", + "class": "None", + "index": 10 + } }, - { - "name": "", - "typ": "None" + "11": { + "Direct": { + "name": "", + "class": "None", + "index": 11 + } } - ] + } }, "ItemMuffin": { "templateType": "Item", @@ -11539,12 +12567,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "ItemNickelIngot": { "templateType": "Item", @@ -12012,12 +13043,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "ItemPlantSwitchGrass": { "templateType": "Item", @@ -12114,32 +13148,50 @@ export default { "slot_class": "None", "sorting_class": "Storage" }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "", - "typ": "None" + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } }, - { - "name": "", - "typ": "None" + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } }, - { - "name": "", - "typ": "None" + "4": { + "Direct": { + "name": "", + "class": "None", + "index": 4 + } }, - { - "name": "", - "typ": "None" + "5": { + "Direct": { + "name": "", + "class": "None", + "index": 5 + } } - ] + } }, "ItemPotato": { "templateType": "Item", @@ -12612,12 +13664,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "ItemResidentialPackage": { "templateType": "ItemSlots", @@ -12634,32 +13689,50 @@ export default { "slot_class": "None", "sorting_class": "Storage" }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "", - "typ": "None" + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } }, - { - "name": "", - "typ": "None" + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } }, - { - "name": "", - "typ": "None" + "4": { + "Direct": { + "name": "", + "class": "None", + "index": 4 + } }, - { - "name": "", - "typ": "None" + "5": { + "Direct": { + "name": "", + "class": "None", + "index": 5 + } } - ] + } }, "ItemReusableFireExtinguisher": { "templateType": "ItemSlots", @@ -12676,12 +13749,15 @@ export default { "slot_class": "Tool", "sorting_class": "Tools" }, - "slots": [ - { - "name": "Liquid Canister", - "typ": "LiquidCanister" + "slots": { + "0": { + "Direct": { + "name": "Liquid Canister", + "class": "LiquidCanister", + "index": 0 + } } - ] + } }, "ItemRice": { "templateType": "Item", @@ -12941,16 +14017,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } }, - { - "name": "Sensor Processing Unit", - "typ": "SensorProcessingUnit" + "1": { + "Direct": { + "name": "Sensor Processing Unit", + "class": "SensorProcessingUnit", + "index": 1 + } } - ] + } }, "ItemSensorProcessingUnitCelestialScanner": { "templateType": "Item", @@ -13291,7 +14373,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [] + "slots": {} }, "ItemSpaceIce": { "templateType": "Item", @@ -13444,48 +14526,78 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Propellant", - "typ": "GasCanister" + "slots": { + "0": { + "Direct": { + "name": "Propellant", + "class": "GasCanister", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "", - "typ": "None" + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } }, - { - "name": "", - "typ": "None" + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } }, - { - "name": "", - "typ": "None" + "4": { + "Direct": { + "name": "", + "class": "None", + "index": 4 + } }, - { - "name": "", - "typ": "None" + "5": { + "Direct": { + "name": "", + "class": "None", + "index": 5 + } }, - { - "name": "", - "typ": "None" + "6": { + "Direct": { + "name": "", + "class": "None", + "index": 6 + } }, - { - "name": "", - "typ": "None" + "7": { + "Direct": { + "name": "", + "class": "None", + "index": 7 + } }, - { - "name": "", - "typ": "None" + "8": { + "Direct": { + "name": "", + "class": "None", + "index": 8 + } }, - { - "name": "", - "typ": "None" + "9": { + "Direct": { + "name": "", + "class": "None", + "index": 9 + } } - ] + } }, "ItemSprayCanBlack": { "templateType": "Item", @@ -13694,12 +14806,15 @@ export default { "slot_class": "Tool", "sorting_class": "Tools" }, - "slots": [ - { - "name": "Spray Can", - "typ": "Bottle" + "slots": { + "0": { + "Direct": { + "name": "Spray Can", + "class": "Bottle", + "index": 0 + } } - ] + } }, "ItemSteelFrames": { "templateType": "Item", @@ -13889,16 +15004,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } }, - { - "name": "Cartridge", - "typ": "Cartridge" + "1": { + "Direct": { + "name": "Cartridge", + "class": "Cartridge", + "index": 1 + } } - ] + } }, "ItemTerrainManipulator": { "templateType": "ItemLogic", @@ -13954,16 +15075,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } }, - { - "name": "Dirt Canister", - "typ": "Ore" + "1": { + "Direct": { + "name": "Dirt Canister", + "class": "Ore", + "index": 1 + } } - ] + } }, "ItemTomato": { "templateType": "Item", @@ -14015,40 +15142,64 @@ export default { "slot_class": "Belt", "sorting_class": "Clothing" }, - "slots": [ - { - "name": "Tool", - "typ": "Tool" + "slots": { + "0": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 0 + } }, - { - "name": "Tool", - "typ": "Tool" + "1": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 1 + } }, - { - "name": "Tool", - "typ": "Tool" + "2": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 2 + } }, - { - "name": "Tool", - "typ": "Tool" + "3": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 3 + } }, - { - "name": "Tool", - "typ": "Tool" + "4": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 4 + } }, - { - "name": "Tool", - "typ": "Tool" + "5": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 5 + } }, - { - "name": "Tool", - "typ": "Tool" + "6": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 6 + } }, - { - "name": "Tool", - "typ": "Tool" + "7": { + "Direct": { + "name": "Tool", + "class": "Tool", + "index": 7 + } } - ] + } }, "ItemTropicalPlant": { "templateType": "Item", @@ -14199,32 +15350,50 @@ export default { "slot_class": "None", "sorting_class": "Storage" }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "", - "typ": "None" + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } }, - { - "name": "", - "typ": "None" + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } }, - { - "name": "", - "typ": "None" + "4": { + "Direct": { + "name": "", + "class": "None", + "index": 4 + } }, - { - "name": "", - "typ": "None" + "5": { + "Direct": { + "name": "", + "class": "None", + "index": 5 + } } - ] + } }, "ItemWaterBottlePackage": { "templateType": "ItemSlots", @@ -14241,32 +15410,50 @@ export default { "slot_class": "None", "sorting_class": "Storage" }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "", - "typ": "None" + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } }, - { - "name": "", - "typ": "None" + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } }, - { - "name": "", - "typ": "None" + "4": { + "Direct": { + "name": "", + "class": "None", + "index": 4 + } }, - { - "name": "", - "typ": "None" + "5": { + "Direct": { + "name": "", + "class": "None", + "index": 5 + } } - ] + } }, "ItemWaterPipeDigitalValve": { "templateType": "Item", @@ -14354,12 +15541,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "ItemWeldingTorch": { "templateType": "ItemSlots", @@ -14380,12 +15570,15 @@ export default { "convection_factor": 0.5, "radiation_factor": 0.5 }, - "slots": [ - { - "name": "Gas Canister", - "typ": "GasCanister" + "slots": { + "0": { + "Direct": { + "name": "Gas Canister", + "class": "GasCanister", + "index": 0 + } } - ] + } }, "ItemWheat": { "templateType": "Item", @@ -14456,7 +15649,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [] + "slots": {} }, "ItemWreckageAirConditioner1": { "templateType": "Item", @@ -14857,44 +16050,71 @@ export default { "slot_class": "None", "sorting_class": "Default" }, - "slots": [ - { - "name": "", - "typ": "Crate" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "Crate", + "index": 0 + } }, - { - "name": "", - "typ": "Crate" + "1": { + "Direct": { + "name": "", + "class": "Crate", + "index": 1 + } }, - { - "name": "", - "typ": "Crate" + "2": { + "Direct": { + "name": "", + "class": "Crate", + "index": 2 + } }, - { - "name": "", - "typ": "Crate" + "3": { + "Direct": { + "name": "", + "class": "Crate", + "index": 3 + } }, - { - "name": "", - "typ": "Crate" + "4": { + "Direct": { + "name": "", + "class": "Crate", + "index": 4 + } }, - { - "name": "", - "typ": "Crate" + "5": { + "Direct": { + "name": "", + "class": "Crate", + "index": 5 + } }, - { - "name": "", - "typ": "Portables" + "6": { + "Direct": { + "name": "", + "class": "Portables", + "index": 6 + } }, - { - "name": "", - "typ": "Portables" + "7": { + "Direct": { + "name": "", + "class": "Portables", + "index": 7 + } }, - { - "name": "", - "typ": "Crate" + "8": { + "Direct": { + "name": "", + "class": "Crate", + "index": 8 + } } - ] + } }, "Landingpad_2x2CenterPiece01": { "templateType": "StructureLogic", @@ -14914,7 +16134,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [] + "slots": {} }, "Landingpad_BlankPiece": { "templateType": "Structure", @@ -14953,7 +16173,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [] + "slots": {} }, "Landingpad_CrossPiece": { "templateType": "Structure", @@ -15025,7 +16245,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -15121,7 +16341,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -15205,7 +16425,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -15301,7 +16521,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -15385,7 +16605,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -15492,7 +16712,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -15571,12 +16791,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Sound Cartridge", - "typ": "SoundCartridge" + "slots": { + "0": { + "Direct": { + "name": "Sound Cartridge", + "class": "SoundCartridge", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -15765,16 +16988,22 @@ export default { "convection_factor": 0.1, "radiation_factor": 0.1 }, - "slots": [ - { - "name": "Brain", - "typ": "Organ" + "slots": { + "0": { + "Direct": { + "name": "Brain", + "class": "Organ", + "index": 0 + } }, - { - "name": "Lungs", - "typ": "Organ" + "1": { + "Direct": { + "name": "Lungs", + "class": "Organ", + "index": 1 + } } - ] + } }, "NpcChicken": { "templateType": "ItemSlots", @@ -15795,16 +17024,22 @@ export default { "convection_factor": 0.1, "radiation_factor": 0.1 }, - "slots": [ - { - "name": "Brain", - "typ": "Organ" + "slots": { + "0": { + "Direct": { + "name": "Brain", + "class": "Organ", + "index": 0 + } }, - { - "name": "Lungs", - "typ": "Organ" + "1": { + "Direct": { + "name": "Lungs", + "class": "Organ", + "index": 1 + } } - ] + } }, "PassiveSpeaker": { "templateType": "StructureLogicDevice", @@ -15830,7 +17065,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -15879,24 +17114,36 @@ export default { "slot_class": "None", "sorting_class": "Default" }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "", - "typ": "Battery" + "2": { + "Direct": { + "name": "", + "class": "Battery", + "index": 2 + } }, - { - "name": "Liquid Canister", - "typ": "LiquidCanister" + "3": { + "Direct": { + "name": "Liquid Canister", + "class": "LiquidCanister", + "index": 3 + } } - ] + } }, "PortableSolarPanel": { "templateType": "ItemLogic", @@ -15935,12 +17182,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "RailingElegant01": { "templateType": "Structure", @@ -16248,48 +17498,78 @@ export default { "wireless_logic": true, "circuit_holder": true }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } }, - { - "name": "Programmable Chip", - "typ": "ProgrammableChip" + "1": { + "Direct": { + "name": "Programmable Chip", + "class": "ProgrammableChip", + "index": 1 + } }, - { - "name": "Ore", - "typ": "Ore" + "2": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 2 + } }, - { - "name": "Ore", - "typ": "Ore" + "3": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 3 + } }, - { - "name": "Ore", - "typ": "Ore" + "4": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 4 + } }, - { - "name": "Ore", - "typ": "Ore" + "5": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 5 + } }, - { - "name": "Ore", - "typ": "Ore" + "6": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 6 + } }, - { - "name": "Ore", - "typ": "Ore" + "7": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 7 + } }, - { - "name": "Ore", - "typ": "Ore" + "8": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 8 + } }, - { - "name": "Ore", - "typ": "Ore" + "9": { + "Direct": { + "name": "Ore", + "class": "Ore", + "index": 9 + } } - ] + } }, "RoverCargo": { "templateType": "ItemLogic", @@ -16504,72 +17784,120 @@ export default { "wireless_logic": true, "circuit_holder": false }, - "slots": [ - { - "name": "Entity", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Entity", + "class": "Entity", + "index": 0 + } }, - { - "name": "Entity", - "typ": "Entity" + "1": { + "Direct": { + "name": "Entity", + "class": "Entity", + "index": 1 + } }, - { - "name": "Gas Filter", - "typ": "GasFilter" + "2": { + "Direct": { + "name": "Gas Filter", + "class": "GasFilter", + "index": 2 + } }, - { - "name": "Gas Filter", - "typ": "GasFilter" + "3": { + "Direct": { + "name": "Gas Filter", + "class": "GasFilter", + "index": 3 + } }, - { - "name": "Gas Filter", - "typ": "GasFilter" + "4": { + "Direct": { + "name": "Gas Filter", + "class": "GasFilter", + "index": 4 + } }, - { - "name": "Gas Canister", - "typ": "GasCanister" + "5": { + "Direct": { + "name": "Gas Canister", + "class": "GasCanister", + "index": 5 + } }, - { - "name": "Gas Canister", - "typ": "GasCanister" + "6": { + "Direct": { + "name": "Gas Canister", + "class": "GasCanister", + "index": 6 + } }, - { - "name": "Gas Canister", - "typ": "GasCanister" + "7": { + "Direct": { + "name": "Gas Canister", + "class": "GasCanister", + "index": 7 + } }, - { - "name": "Gas Canister", - "typ": "GasCanister" + "8": { + "Direct": { + "name": "Gas Canister", + "class": "GasCanister", + "index": 8 + } }, - { - "name": "Battery", - "typ": "Battery" + "9": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 9 + } }, - { - "name": "Battery", - "typ": "Battery" + "10": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 10 + } }, - { - "name": "Battery", - "typ": "Battery" + "11": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 11 + } }, - { - "name": "Container Slot", - "typ": "None" + "12": { + "Direct": { + "name": "Container Slot", + "class": "None", + "index": 12 + } }, - { - "name": "Container Slot", - "typ": "None" + "13": { + "Direct": { + "name": "Container Slot", + "class": "None", + "index": 13 + } }, - { - "name": "", - "typ": "None" + "14": { + "Direct": { + "name": "", + "class": "None", + "index": 14 + } }, - { - "name": "", - "typ": "None" + "15": { + "Direct": { + "name": "", + "class": "None", + "index": 15 + } } - ] + } }, "Rover_MkI": { "templateType": "ItemLogic", @@ -16728,52 +18056,85 @@ export default { "wireless_logic": true, "circuit_holder": false }, - "slots": [ - { - "name": "Entity", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Entity", + "class": "Entity", + "index": 0 + } }, - { - "name": "Entity", - "typ": "Entity" + "1": { + "Direct": { + "name": "Entity", + "class": "Entity", + "index": 1 + } }, - { - "name": "Battery", - "typ": "Battery" + "2": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 2 + } }, - { - "name": "Battery", - "typ": "Battery" + "3": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 3 + } }, - { - "name": "Battery", - "typ": "Battery" + "4": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 4 + } }, - { - "name": "", - "typ": "None" + "5": { + "Direct": { + "name": "", + "class": "None", + "index": 5 + } }, - { - "name": "", - "typ": "None" + "6": { + "Direct": { + "name": "", + "class": "None", + "index": 6 + } }, - { - "name": "", - "typ": "None" + "7": { + "Direct": { + "name": "", + "class": "None", + "index": 7 + } }, - { - "name": "", - "typ": "None" + "8": { + "Direct": { + "name": "", + "class": "None", + "index": 8 + } }, - { - "name": "", - "typ": "None" + "9": { + "Direct": { + "name": "", + "class": "None", + "index": 9 + } }, - { - "name": "", - "typ": "None" + "10": { + "Direct": { + "name": "", + "class": "None", + "index": 10 + } } - ] + } }, "Rover_MkI_build_states": { "templateType": "Structure", @@ -17010,20 +18371,29 @@ export default { "slot_class": "None", "sorting_class": "Default" }, - "slots": [ - { - "name": "Captain's Seat", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Captain's Seat", + "class": "Entity", + "index": 0 + } }, - { - "name": "Passenger Seat Left", - "typ": "Entity" + "1": { + "Direct": { + "name": "Passenger Seat Left", + "class": "Entity", + "index": 1 + } }, - { - "name": "Passenger Seat Right", - "typ": "Entity" + "2": { + "Direct": { + "name": "Passenger Seat Right", + "class": "Entity", + "index": 2 + } } - ] + } }, "StopWatch": { "templateType": "StructureLogicDevice", @@ -17053,7 +18423,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -17103,7 +18473,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -17175,12 +18545,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "", - "typ": "DataDisk" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "DataDisk", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -17246,16 +18619,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "None", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -17365,16 +18744,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "None", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -17454,16 +18839,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "None", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -17511,8 +18902,213 @@ export default { }, "fabricator_info": { "tier": "Undefined", - "recipes": { - "ItemCannedCondensedMilk": { + "recipes": [ + { + "target_prefab": "ItemTomatoSoup", + "target_prefab_hash": 688734890, + "tier": "TierOne", + "time": 5.0, + "energy": 0.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 3, + "reagents": { + "Oil": 1.0, + "Steel": 1.0, + "Tomato": 5.0 + } + }, + { + "target_prefab": "ItemPumpkinSoup", + "target_prefab_hash": 1277979876, + "tier": "TierOne", + "time": 5.0, + "energy": 0.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 3, + "reagents": { + "Oil": 1.0, + "Pumpkin": 2.0, + "Steel": 1.0 + } + }, + { + "target_prefab": "ItemCornSoup", + "target_prefab_hash": 545034114, + "tier": "TierOne", + "time": 5.0, + "energy": 0.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 3, + "reagents": { + "Corn": 5.0, + "Oil": 1.0, + "Steel": 1.0 + } + }, + { + "target_prefab": "ItemCannedMushroom", + "target_prefab_hash": -1344601965, + "tier": "TierOne", + "time": 5.0, + "energy": 0.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 3, + "reagents": { + "Mushroom": 5.0, + "Oil": 1.0, + "Steel": 1.0 + } + }, + { + "target_prefab": "ItemCannedPowderedEggs", + "target_prefab_hash": 1161510063, + "tier": "TierOne", + "time": 5.0, + "energy": 0.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 3, + "reagents": { + "Egg": 5.0, + "Oil": 1.0, + "Steel": 1.0 + } + }, + { + "target_prefab": "ItemFrenchFries", + "target_prefab_hash": -57608687, + "tier": "TierOne", + "time": 5.0, + "energy": 0.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 3, + "reagents": { + "Oil": 1.0, + "Potato": 1.0, + "Steel": 1.0 + } + }, + { + "target_prefab": "ItemCannedRicePudding", + "target_prefab_hash": -1185552595, + "tier": "TierOne", + "time": 5.0, + "energy": 0.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 3, + "reagents": { + "Oil": 1.0, + "Rice": 5.0, + "Steel": 1.0 + } + }, + { + "target_prefab": "ItemCannedCondensedMilk", + "target_prefab_hash": -2104175091, "tier": "TierOne", "time": 5.0, "energy": 0.0, @@ -17538,7 +19134,9 @@ export default { "Steel": 1.0 } }, - "ItemCannedEdamame": { + { + "target_prefab": "ItemCannedEdamame", + "target_prefab_hash": -999714082, "tier": "TierOne", "time": 5.0, "energy": 0.0, @@ -17564,197 +19162,8 @@ export default { "Soy": 15.0, "Steel": 1.0 } - }, - "ItemCannedMushroom": { - "tier": "TierOne", - "time": 5.0, - "energy": 0.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 3, - "reagents": { - "Mushroom": 5.0, - "Oil": 1.0, - "Steel": 1.0 - } - }, - "ItemCannedPowderedEggs": { - "tier": "TierOne", - "time": 5.0, - "energy": 0.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 3, - "reagents": { - "Egg": 5.0, - "Oil": 1.0, - "Steel": 1.0 - } - }, - "ItemCannedRicePudding": { - "tier": "TierOne", - "time": 5.0, - "energy": 0.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 3, - "reagents": { - "Oil": 1.0, - "Rice": 5.0, - "Steel": 1.0 - } - }, - "ItemCornSoup": { - "tier": "TierOne", - "time": 5.0, - "energy": 0.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 3, - "reagents": { - "Corn": 5.0, - "Oil": 1.0, - "Steel": 1.0 - } - }, - "ItemFrenchFries": { - "tier": "TierOne", - "time": 5.0, - "energy": 0.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 3, - "reagents": { - "Oil": 1.0, - "Potato": 1.0, - "Steel": 1.0 - } - }, - "ItemPumpkinSoup": { - "tier": "TierOne", - "time": 5.0, - "energy": 0.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 3, - "reagents": { - "Oil": 1.0, - "Pumpkin": 2.0, - "Steel": 1.0 - } - }, - "ItemTomatoSoup": { - "tier": "TierOne", - "time": 5.0, - "energy": 0.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 3, - "reagents": { - "Oil": 1.0, - "Steel": 1.0, - "Tomato": 5.0 - } } - } + ] }, "memory": { "instructions": { @@ -18204,12 +19613,15 @@ export default { "wireless_logic": false, "circuit_holder": true }, - "slots": [ - { - "name": "Programmable Chip", - "typ": "ProgrammableChip" + "slots": { + "0": { + "Direct": { + "name": "Programmable Chip", + "class": "ProgrammableChip", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -18278,7 +19690,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -18334,7 +19746,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -18390,12 +19802,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Seat", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Seat", + "class": "Entity", + "index": 0 + } } - ], + }, "device": { "connection_list": [], "has_activate_state": false, @@ -18465,16 +19880,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "Ore" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "Ore", + "index": 0 + } }, - { - "name": "Export", - "typ": "Ingot" + "1": { + "Direct": { + "name": "Export", + "class": "Ingot", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -18570,16 +19991,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } }, - { - "name": "Data Disk", - "typ": "DataDisk" + "1": { + "Direct": { + "name": "Data Disk", + "class": "DataDisk", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -18667,16 +20094,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } }, - { - "name": "Data Disk", - "typ": "DataDisk" + "1": { + "Direct": { + "name": "Data Disk", + "class": "DataDisk", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -18732,16 +20165,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "None", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -18809,16 +20248,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "Ingot" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "Ingot", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -18873,60 +20318,12 @@ export default { }, "fabricator_info": { "tier": "Undefined", - "recipes": { - "CardboardBox": { - "tier": "TierOne", - "time": 2.0, - "energy": 120.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 1, - "reagents": { - "Silicon": 2.0 - } - }, - "ItemAstroloySheets": { - "tier": "TierOne", - "time": 3.0, - "energy": 500.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 1, - "reagents": { - "Astroloy": 3.0 - } - }, - "ItemCableCoil": { + "recipes": [ + { + "target_prefab": "ItemIronFrames", + "target_prefab_hash": 1225836666, "tier": "TierOne", - "time": 5.0, + "time": 4.0, "energy": 200.0, "temperature": { "start": 1.0, @@ -18946,13 +20343,15 @@ export default { }, "count_types": 1, "reagents": { - "Copper": 0.5 + "Iron": 4.0 } }, - "ItemCoffeeMug": { + { + "target_prefab": "ItemIronSheets", + "target_prefab_hash": -487378546, "tier": "TierOne", "time": 1.0, - "energy": 70.0, + "energy": 200.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -18974,10 +20373,12 @@ export default { "Iron": 1.0 } }, - "ItemEggCarton": { + { + "target_prefab": "ItemPlasticSheets", + "target_prefab_hash": 662053345, "tier": "TierOne", - "time": 10.0, - "energy": 100.0, + "time": 1.0, + "energy": 200.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -18996,13 +20397,15 @@ export default { }, "count_types": 1, "reagents": { - "Silicon": 2.0 + "Silicon": 0.5 } }, - "ItemEmptyCan": { + { + "target_prefab": "ItemGlassSheets", + "target_prefab_hash": 1588896491, "tier": "TierOne", "time": 1.0, - "energy": 70.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -19021,12 +20424,14 @@ export default { }, "count_types": 1, "reagents": { - "Steel": 1.0 + "Silicon": 2.0 } }, - "ItemEvaSuit": { + { + "target_prefab": "ItemStelliteGlassSheets", + "target_prefab_hash": -2038663432, "tier": "TierOne", - "time": 15.0, + "time": 1.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -19046,13 +20451,15 @@ export default { }, "count_types": 2, "reagents": { - "Copper": 5.0, - "Iron": 5.0 + "Silicon": 2.0, + "Stellite": 1.0 } }, - "ItemGlassSheets": { + { + "target_prefab": "ItemSteelSheets", + "target_prefab_hash": 38555961, "tier": "TierOne", - "time": 1.0, + "time": 3.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -19072,13 +20479,15 @@ export default { }, "count_types": 1, "reagents": { - "Silicon": 2.0 + "Steel": 0.5 } }, - "ItemIronFrames": { + { + "target_prefab": "ItemAstroloySheets", + "target_prefab_hash": -1662476145, "tier": "TierOne", - "time": 4.0, - "energy": 200.0, + "time": 3.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -19097,13 +20506,15 @@ export default { }, "count_types": 1, "reagents": { - "Iron": 4.0 + "Astroloy": 3.0 } }, - "ItemIronSheets": { + { + "target_prefab": "ItemSteelFrames", + "target_prefab_hash": -1448105779, "tier": "TierOne", - "time": 1.0, - "energy": 200.0, + "time": 7.0, + "energy": 800.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -19122,13 +20533,15 @@ export default { }, "count_types": 1, "reagents": { - "Iron": 1.0 + "Steel": 2.0 } }, - "ItemKitAccessBridge": { + { + "target_prefab": "ItemKitWallIron", + "target_prefab_hash": -524546923, "tier": "TierOne", - "time": 30.0, - "energy": 15000.0, + "time": 1.0, + "energy": 200.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -19145,17 +20558,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Copper": 2.0, - "Solder": 2.0, - "Steel": 10.0 + "Iron": 1.0 } }, - "ItemKitArcFurnace": { + { + "target_prefab": "ItemKitRailing", + "target_prefab_hash": 750176282, "tier": "TierOne", - "time": 60.0, - "energy": 6000.0, + "time": 1.0, + "energy": 100.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -19172,16 +20585,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 1, "reagents": { - "Copper": 5.0, - "Iron": 20.0 + "Iron": 1.0 } }, - "ItemKitAutolathe": { + { + "target_prefab": "ItemKitCompositeCladding", + "target_prefab_hash": -1470820996, "tier": "TierOne", - "time": 180.0, - "energy": 36000.0, + "time": 1.0, + "energy": 200.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -19198,42 +20612,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Copper": 10.0, - "Gold": 2.0, - "Iron": 20.0 + "Iron": 1.0 } }, - "ItemKitBeds": { + { + "target_prefab": "ItemKitWall", + "target_prefab_hash": -1826855889, "tier": "TierOne", - "time": 10.0, - "energy": 500.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 2, - "reagents": { - "Copper": 5.0, - "Iron": 20.0 - } - }, - "ItemKitBlastDoor": { - "tier": "TierTwo", - "time": 10.0, + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -19251,16 +20639,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 1, "reagents": { - "Copper": 3.0, - "Steel": 15.0 + "Steel": 1.0 } }, - "ItemKitCentrifuge": { + { + "target_prefab": "ItemKitReinforcedWindows", + "target_prefab_hash": 1459985302, "tier": "TierOne", - "time": 60.0, - "energy": 18000.0, + "time": 7.0, + "energy": 700.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -19277,15 +20666,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 1, "reagents": { - "Copper": 5.0, - "Iron": 20.0 + "Astroloy": 2.0 } }, - "ItemKitChairs": { + { + "target_prefab": "ItemKitWindowShutter", + "target_prefab_hash": 1779979754, "tier": "TierOne", - "time": 10.0, + "time": 7.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -19305,38 +20695,15 @@ export default { }, "count_types": 2, "reagents": { - "Copper": 5.0, - "Iron": 20.0 - } - }, - "ItemKitChute": { - "tier": "TierOne", - "time": 5.0, - "energy": 500.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 1, - "reagents": { - "Iron": 3.0 + "Solder": 1.0, + "Steel": 2.0 } }, - "ItemKitCompositeCladding": { + { + "target_prefab": "ItemKitLadder", + "target_prefab_hash": 489494578, "tier": "TierOne", - "time": 1.0, + "time": 3.0, "energy": 200.0, "temperature": { "start": 1.0, @@ -19356,13 +20723,15 @@ export default { }, "count_types": 1, "reagents": { - "Iron": 1.0 + "Iron": 2.0 } }, - "ItemKitCompositeFloorGrating": { + { + "target_prefab": "ItemKitPipe", + "target_prefab_hash": -1619793705, "tier": "TierOne", - "time": 3.0, - "energy": 500.0, + "time": 5.0, + "energy": 200.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -19381,12 +20750,14 @@ export default { }, "count_types": 1, "reagents": { - "Iron": 1.0 + "Iron": 0.5 } }, - "ItemKitCrate": { + { + "target_prefab": "ItemCableCoil", + "target_prefab_hash": -466050668, "tier": "TierOne", - "time": 10.0, + "time": 5.0, "energy": 200.0, "temperature": { "start": 1.0, @@ -19406,13 +20777,15 @@ export default { }, "count_types": 1, "reagents": { - "Iron": 10.0 + "Copper": 0.5 } }, - "ItemKitCrateMkII": { - "tier": "TierTwo", - "time": 10.0, - "energy": 200.0, + { + "target_prefab": "ItemKitFurnace", + "target_prefab_hash": -806743925, + "tier": "TierOne", + "time": 120.0, + "energy": 12000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -19431,39 +20804,16 @@ export default { }, "count_types": 2, "reagents": { - "Gold": 5.0, - "Iron": 10.0 + "Copper": 10.0, + "Iron": 30.0 } }, - "ItemKitCrateMount": { + { + "target_prefab": "ItemKitArcFurnace", + "target_prefab_hash": -98995857, "tier": "TierOne", - "time": 10.0, - "energy": 500.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 1, - "reagents": { - "Iron": 10.0 - } - }, - "ItemKitDeepMiner": { - "tier": "TierTwo", - "time": 180.0, - "energy": 72000.0, + "time": 60.0, + "energy": 6000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -19480,18 +20830,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 2, "reagents": { - "Constantan": 5.0, - "Electrum": 5.0, - "Invar": 10.0, - "Steel": 50.0 + "Copper": 5.0, + "Iron": 20.0 } }, - "ItemKitDoor": { + { + "target_prefab": "ItemKitElectronicsPrinter", + "target_prefab_hash": -1181922382, "tier": "TierOne", - "time": 10.0, - "energy": 500.0, + "time": 120.0, + "energy": 12000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -19508,13 +20858,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Copper": 3.0, - "Iron": 7.0 + "Copper": 10.0, + "Gold": 2.0, + "Iron": 20.0 } }, - "ItemKitElectronicsPrinter": { + { + "target_prefab": "ItemKitRocketManufactory", + "target_prefab_hash": -636127860, "tier": "TierOne", "time": 120.0, "energy": 12000.0, @@ -19541,10 +20894,12 @@ export default { "Iron": 20.0 } }, - "ItemKitFlagODA": { + { + "target_prefab": "ItemKitSecurityPrinter", + "target_prefab_hash": 578078533, "tier": "TierOne", - "time": 5.0, - "energy": 100.0, + "time": 180.0, + "energy": 36000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -19561,15 +20916,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 3, "reagents": { - "Iron": 8.0 + "Copper": 20.0, + "Gold": 20.0, + "Steel": 20.0 } }, - "ItemKitFurnace": { - "tier": "TierOne", - "time": 120.0, - "energy": 12000.0, + { + "target_prefab": "ItemKitBlastDoor", + "target_prefab_hash": -1755116240, + "tier": "TierTwo", + "time": 10.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -19588,14 +20947,16 @@ export default { }, "count_types": 2, "reagents": { - "Copper": 10.0, - "Iron": 30.0 + "Copper": 3.0, + "Steel": 15.0 } }, - "ItemKitFurniture": { - "tier": "TierOne", + { + "target_prefab": "ItemKitRobotArmDoor", + "target_prefab_hash": -753675589, + "tier": "TierTwo", "time": 10.0, - "energy": 500.0, + "energy": 400.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -19612,16 +20973,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { "Copper": 5.0, - "Iron": 20.0 + "Gold": 3.0, + "Steel": 12.0 } }, - "ItemKitHydraulicPipeBender": { + { + "target_prefab": "ItemKitFurniture", + "target_prefab_hash": 1162905029, "tier": "TierOne", - "time": 180.0, - "energy": 18000.0, + "time": 10.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -19638,14 +21002,15 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Copper": 10.0, - "Gold": 2.0, + "Copper": 5.0, "Iron": 20.0 } }, - "ItemKitInteriorDoors": { + { + "target_prefab": "ItemKitTables", + "target_prefab_hash": -1361598922, "tier": "TierOne", "time": 10.0, "energy": 500.0, @@ -19667,36 +21032,13 @@ export default { }, "count_types": 2, "reagents": { - "Copper": 3.0, - "Iron": 5.0 - } - }, - "ItemKitLadder": { - "tier": "TierOne", - "time": 3.0, - "energy": 200.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 1, - "reagents": { - "Iron": 2.0 + "Copper": 5.0, + "Iron": 20.0 } }, - "ItemKitLocker": { + { + "target_prefab": "ItemKitChairs", + "target_prefab_hash": -1394008073, "tier": "TierOne", "time": 10.0, "energy": 500.0, @@ -19716,115 +21058,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, - "reagents": { - "Iron": 5.0 - } - }, - "ItemKitPipe": { - "tier": "TierOne", - "time": 5.0, - "energy": 200.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 1, - "reagents": { - "Iron": 0.5 - } - }, - "ItemKitRailing": { - "tier": "TierOne", - "time": 1.0, - "energy": 100.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 1, - "reagents": { - "Iron": 1.0 - } - }, - "ItemKitRecycler": { - "tier": "TierOne", - "time": 60.0, - "energy": 12000.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, "count_types": 2, "reagents": { - "Copper": 10.0, + "Copper": 5.0, "Iron": 20.0 } }, - "ItemKitReinforcedWindows": { - "tier": "TierOne", - "time": 7.0, - "energy": 700.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 1, - "reagents": { - "Astroloy": 2.0 - } - }, - "ItemKitRespawnPointWallMounted": { + { + "target_prefab": "ItemKitBeds", + "target_prefab_hash": -1241256797, "tier": "TierOne", - "time": 20.0, + "time": 10.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -19844,14 +21088,16 @@ export default { }, "count_types": 2, "reagents": { - "Copper": 1.0, - "Iron": 3.0 + "Copper": 5.0, + "Iron": 20.0 } }, - "ItemKitRobotArmDoor": { - "tier": "TierTwo", + { + "target_prefab": "ItemKitSorter", + "target_prefab_hash": 969522478, + "tier": "TierOne", "time": 10.0, - "energy": 400.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -19871,14 +21117,16 @@ export default { "count_types": 3, "reagents": { "Copper": 5.0, - "Gold": 3.0, - "Steel": 12.0 + "Gold": 1.0, + "Iron": 10.0 } }, - "ItemKitRocketManufactory": { + { + "target_prefab": "ItemKitHydraulicPipeBender", + "target_prefab_hash": -2098556089, "tier": "TierOne", - "time": 120.0, - "energy": 12000.0, + "time": 180.0, + "energy": 18000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -19902,32 +21150,9 @@ export default { "Iron": 20.0 } }, - "ItemKitSDBHopper": { - "tier": "TierOne", - "time": 10.0, - "energy": 700.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 1, - "reagents": { - "Iron": 15.0 - } - }, - "ItemKitSecurityPrinter": { + { + "target_prefab": "ItemKitAutolathe", + "target_prefab_hash": -1753893214, "tier": "TierOne", "time": 180.0, "energy": 36000.0, @@ -19949,15 +21174,17 @@ export default { }, "count_types": 3, "reagents": { - "Copper": 20.0, - "Gold": 20.0, - "Steel": 20.0 + "Copper": 10.0, + "Gold": 2.0, + "Iron": 20.0 } }, - "ItemKitSign": { + { + "target_prefab": "ItemKitDoor", + "target_prefab_hash": 168615924, "tier": "TierOne", - "time": 5.0, - "energy": 100.0, + "time": 10.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -19974,12 +21201,15 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 2, "reagents": { - "Iron": 3.0 + "Copper": 3.0, + "Iron": 7.0 } }, - "ItemKitSorter": { + { + "target_prefab": "ItemKitInteriorDoors", + "target_prefab_hash": 1935945891, "tier": "TierOne", "time": 10.0, "energy": 500.0, @@ -19999,14 +21229,15 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Copper": 5.0, - "Gold": 1.0, - "Iron": 10.0 + "Copper": 3.0, + "Iron": 5.0 } }, - "ItemKitStacker": { + { + "target_prefab": "ItemWallLight", + "target_prefab_hash": 1108423476, "tier": "TierOne", "time": 10.0, "energy": 500.0, @@ -20026,15 +21257,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { "Copper": 2.0, - "Iron": 10.0 + "Iron": 1.0, + "Silicon": 1.0 } }, - "ItemKitStairs": { + { + "target_prefab": "ItemKitWallArch", + "target_prefab_hash": 1625214531, "tier": "TierOne", - "time": 20.0, + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -20054,13 +21288,15 @@ export default { }, "count_types": 1, "reagents": { - "Iron": 15.0 + "Steel": 1.0 } }, - "ItemKitStairwell": { + { + "target_prefab": "ItemKitWallFlat", + "target_prefab_hash": -846838195, "tier": "TierOne", - "time": 20.0, - "energy": 6000.0, + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -20079,10 +21315,12 @@ export default { }, "count_types": 1, "reagents": { - "Iron": 15.0 + "Steel": 1.0 } }, - "ItemKitStandardChute": { + { + "target_prefab": "ItemKitWallGeometry", + "target_prefab_hash": -784733231, "tier": "TierOne", "time": 5.0, "energy": 500.0, @@ -20102,16 +21340,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Constantan": 2.0, - "Electrum": 2.0, - "Iron": 3.0 + "Steel": 1.0 } }, - "ItemKitTables": { + { + "target_prefab": "ItemKitWallPadded", + "target_prefab_hash": -821868990, "tier": "TierOne", - "time": 10.0, + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -20129,16 +21367,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 1, "reagents": { - "Copper": 5.0, - "Iron": 20.0 + "Steel": 1.0 } }, - "ItemKitToolManufactory": { + { + "target_prefab": "ItemKitLocker", + "target_prefab_hash": 882301399, "tier": "TierOne", - "time": 120.0, - "energy": 24000.0, + "time": 10.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -20155,16 +21394,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 1, "reagents": { - "Copper": 10.0, - "Iron": 20.0 + "Iron": 5.0 } }, - "ItemKitWall": { + { + "target_prefab": "ItemKitSign", + "target_prefab_hash": 529996327, "tier": "TierOne", "time": 5.0, - "energy": 500.0, + "energy": 100.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -20183,12 +21423,14 @@ export default { }, "count_types": 1, "reagents": { - "Steel": 1.0 + "Iron": 3.0 } }, - "ItemKitWallArch": { + { + "target_prefab": "ItemKitStairs", + "target_prefab_hash": 170878959, "tier": "TierOne", - "time": 5.0, + "time": 20.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -20208,13 +21450,15 @@ export default { }, "count_types": 1, "reagents": { - "Steel": 1.0 + "Iron": 15.0 } }, - "ItemKitWallFlat": { + { + "target_prefab": "ItemKitStairwell", + "target_prefab_hash": -1868555784, "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + "time": 20.0, + "energy": 6000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -20233,12 +21477,14 @@ export default { }, "count_types": 1, "reagents": { - "Steel": 1.0 + "Iron": 15.0 } }, - "ItemKitWallGeometry": { + { + "target_prefab": "ItemKitStacker", + "target_prefab_hash": 1013244511, "tier": "TierOne", - "time": 5.0, + "time": 10.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -20256,15 +21502,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 2, "reagents": { - "Steel": 1.0 + "Copper": 2.0, + "Iron": 10.0 } }, - "ItemKitWallIron": { + { + "target_prefab": "ItemEmptyCan", + "target_prefab_hash": 1013818348, "tier": "TierOne", "time": 1.0, - "energy": 200.0, + "energy": 70.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -20283,13 +21532,15 @@ export default { }, "count_types": 1, "reagents": { - "Iron": 1.0 + "Steel": 1.0 } }, - "ItemKitWallPadded": { + { + "target_prefab": "CardboardBox", + "target_prefab_hash": -1976947556, "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + "time": 2.0, + "energy": 120.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -20308,12 +21559,14 @@ export default { }, "count_types": 1, "reagents": { - "Steel": 1.0 + "Silicon": 2.0 } }, - "ItemKitWindowShutter": { + { + "target_prefab": "ItemKitChute", + "target_prefab_hash": 1025254665, "tier": "TierOne", - "time": 7.0, + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -20331,16 +21584,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 1, "reagents": { - "Solder": 1.0, - "Steel": 2.0 + "Iron": 3.0 } }, - "ItemPlasticSheets": { + { + "target_prefab": "ItemKitStandardChute", + "target_prefab_hash": 2133035682, "tier": "TierOne", - "time": 1.0, - "energy": 200.0, + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -20357,15 +21611,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 3, "reagents": { - "Silicon": 0.5 + "Constantan": 2.0, + "Electrum": 2.0, + "Iron": 3.0 } }, - "ItemSpaceHelmet": { + { + "target_prefab": "ItemKitSDBHopper", + "target_prefab_hash": 323957548, "tier": "TierOne", - "time": 15.0, - "energy": 500.0, + "time": 10.0, + "energy": 700.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -20382,16 +21640,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 1, "reagents": { - "Copper": 2.0, - "Gold": 2.0 + "Iron": 15.0 } }, - "ItemSteelFrames": { + { + "target_prefab": "KitSDBSilo", + "target_prefab_hash": 1932952652, "tier": "TierOne", - "time": 7.0, - "energy": 800.0, + "time": 120.0, + "energy": 24000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -20408,12 +21667,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 3, "reagents": { - "Steel": 2.0 + "Copper": 10.0, + "Gold": 20.0, + "Steel": 15.0 } }, - "ItemSteelSheets": { + { + "target_prefab": "ItemKitCompositeFloorGrating", + "target_prefab_hash": 1182412869, "tier": "TierOne", "time": 3.0, "energy": 500.0, @@ -20435,13 +21698,15 @@ export default { }, "count_types": 1, "reagents": { - "Steel": 0.5 + "Iron": 1.0 } }, - "ItemStelliteGlassSheets": { + { + "target_prefab": "ItemKitToolManufactory", + "target_prefab_hash": 529137748, "tier": "TierOne", - "time": 1.0, - "energy": 500.0, + "time": 120.0, + "energy": 24000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -20460,14 +21725,16 @@ export default { }, "count_types": 2, "reagents": { - "Silicon": 2.0, - "Stellite": 1.0 + "Copper": 10.0, + "Iron": 20.0 } }, - "ItemWallLight": { + { + "target_prefab": "ItemKitRecycler", + "target_prefab_hash": 849148192, "tier": "TierOne", - "time": 10.0, - "energy": 500.0, + "time": 60.0, + "energy": 12000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -20484,17 +21751,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Copper": 2.0, - "Iron": 1.0, - "Silicon": 1.0 + "Copper": 10.0, + "Iron": 20.0 } }, - "KitSDBSilo": { + { + "target_prefab": "ItemKitCentrifuge", + "target_prefab_hash": 578182956, "tier": "TierOne", - "time": 120.0, - "energy": 24000.0, + "time": 60.0, + "energy": 18000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -20511,14 +21779,15 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Copper": 10.0, - "Gold": 20.0, - "Steel": 15.0 + "Copper": 5.0, + "Iron": 20.0 } }, - "KitStructureCombustionCentrifuge": { + { + "target_prefab": "KitStructureCombustionCentrifuge", + "target_prefab_hash": 231903234, "tier": "TierTwo", "time": 120.0, "energy": 24000.0, @@ -20544,8 +21813,314 @@ export default { "Invar": 10.0, "Steel": 20.0 } + }, + { + "target_prefab": "ItemKitDeepMiner", + "target_prefab_hash": -1935075707, + "tier": "TierTwo", + "time": 180.0, + "energy": 72000.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 4, + "reagents": { + "Constantan": 5.0, + "Electrum": 5.0, + "Invar": 10.0, + "Steel": 50.0 + } + }, + { + "target_prefab": "ItemKitCrateMount", + "target_prefab_hash": -551612946, + "tier": "TierOne", + "time": 10.0, + "energy": 500.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 1, + "reagents": { + "Iron": 10.0 + } + }, + { + "target_prefab": "ItemKitCrate", + "target_prefab_hash": 429365598, + "tier": "TierOne", + "time": 10.0, + "energy": 200.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 1, + "reagents": { + "Iron": 10.0 + } + }, + { + "target_prefab": "ItemKitCrateMkII", + "target_prefab_hash": -1585956426, + "tier": "TierTwo", + "time": 10.0, + "energy": 200.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 2, + "reagents": { + "Gold": 5.0, + "Iron": 10.0 + } + }, + { + "target_prefab": "ItemSpaceHelmet", + "target_prefab_hash": 714830451, + "tier": "TierOne", + "time": 15.0, + "energy": 500.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 2, + "reagents": { + "Copper": 2.0, + "Gold": 2.0 + } + }, + { + "target_prefab": "ItemEvaSuit", + "target_prefab_hash": 1677018918, + "tier": "TierOne", + "time": 15.0, + "energy": 500.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 2, + "reagents": { + "Copper": 5.0, + "Iron": 5.0 + } + }, + { + "target_prefab": "ItemEggCarton", + "target_prefab_hash": -524289310, + "tier": "TierOne", + "time": 10.0, + "energy": 100.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 1, + "reagents": { + "Silicon": 2.0 + } + }, + { + "target_prefab": "ItemCoffeeMug", + "target_prefab_hash": 1800622698, + "tier": "TierOne", + "time": 1.0, + "energy": 70.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 1, + "reagents": { + "Iron": 1.0 + } + }, + { + "target_prefab": "ItemKitFlagODA", + "target_prefab_hash": 1701764190, + "tier": "TierOne", + "time": 5.0, + "energy": 100.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 1, + "reagents": { + "Iron": 8.0 + } + }, + { + "target_prefab": "ItemKitRespawnPointWallMounted", + "target_prefab_hash": 1574688481, + "tier": "TierOne", + "time": 20.0, + "energy": 500.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 2, + "reagents": { + "Copper": 1.0, + "Iron": 3.0 + } + }, + { + "target_prefab": "ItemKitAccessBridge", + "target_prefab_hash": 513258369, + "tier": "TierOne", + "time": 30.0, + "energy": 15000.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 3, + "reagents": { + "Copper": 2.0, + "Solder": 2.0, + "Steel": 10.0 + } } - } + ] }, "memory": { "instructions": { @@ -20934,16 +22509,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "None", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -20995,10 +22576,12 @@ export default { }, "fabricator_info": { "tier": "TierOne", - "recipes": { - "ItemBreadLoaf": { + "recipes": [ + { + "target_prefab": "ItemMuffin", + "target_prefab_hash": -1864982322, "tier": "TierOne", - "time": 10.0, + "time": 5.0, "energy": 0.0, "temperature": { "start": 1.0, @@ -21016,13 +22599,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Flour": 200.0, - "Oil": 5.0 + "Egg": 1.0, + "Flour": 50.0, + "Milk": 10.0 } }, - "ItemCerealBar": { + { + "target_prefab": "ItemCerealBar", + "target_prefab_hash": 791746840, "tier": "TierOne", "time": 5.0, "energy": 0.0, @@ -21047,7 +22633,9 @@ export default { "Flour": 50.0 } }, - "ItemChocolateBar": { + { + "target_prefab": "ItemChocolateCerealBar", + "target_prefab_hash": 860793245, "tier": "TierOne", "time": 5.0, "energy": 0.0, @@ -21069,13 +22657,15 @@ export default { }, "count_types": 2, "reagents": { - "Cocoa": 2.0, - "Sugar": 10.0 + "Cocoa": 1.0, + "Flour": 50.0 } }, - "ItemChocolateCake": { + { + "target_prefab": "ItemPotatoBaked", + "target_prefab_hash": -2111886401, "tier": "TierOne", - "time": 30.0, + "time": 5.0, "energy": 0.0, "temperature": { "start": 1.0, @@ -21093,18 +22683,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 5, + "count_types": 1, "reagents": { - "Cocoa": 2.0, - "Egg": 1.0, - "Flour": 50.0, - "Milk": 5.0, - "Sugar": 50.0 + "Potato": 1.0 } }, - "ItemChocolateCerealBar": { + { + "target_prefab": "ItemBreadLoaf", + "target_prefab_hash": 893514943, "tier": "TierOne", - "time": 5.0, + "time": 10.0, "energy": 0.0, "temperature": { "start": 1.0, @@ -21124,11 +22712,13 @@ export default { }, "count_types": 2, "reagents": { - "Cocoa": 1.0, - "Flour": 50.0 + "Flour": 200.0, + "Oil": 5.0 } }, - "ItemCookedCondensedMilk": { + { + "target_prefab": "ItemFries", + "target_prefab_hash": 1371786091, "tier": "TierOne", "time": 5.0, "energy": 0.0, @@ -21148,14 +22738,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 2, "reagents": { - "Milk": 100.0 + "Oil": 5.0, + "Potato": 1.0 } }, - "ItemCookedCorn": { + { + "target_prefab": "ItemPumpkinPie", + "target_prefab_hash": 62768076, "tier": "TierOne", - "time": 5.0, + "time": 10.0, "energy": 0.0, "temperature": { "start": 1.0, @@ -21173,12 +22766,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 4, "reagents": { - "Corn": 1.0 + "Egg": 1.0, + "Flour": 100.0, + "Milk": 10.0, + "Pumpkin": 10.0 } }, - "ItemCookedMushroom": { + { + "target_prefab": "ItemCookedTomato", + "target_prefab_hash": -709086714, "tier": "TierOne", "time": 5.0, "energy": 0.0, @@ -21200,10 +22798,12 @@ export default { }, "count_types": 1, "reagents": { - "Mushroom": 1.0 + "Tomato": 1.0 } }, - "ItemCookedPowderedEggs": { + { + "target_prefab": "ItemCookedMushroom", + "target_prefab_hash": -1076892658, "tier": "TierOne", "time": 5.0, "energy": 0.0, @@ -21225,10 +22825,12 @@ export default { }, "count_types": 1, "reagents": { - "Egg": 4.0 + "Mushroom": 1.0 } }, - "ItemCookedPumpkin": { + { + "target_prefab": "ItemCookedCorn", + "target_prefab_hash": 1344773148, "tier": "TierOne", "time": 5.0, "energy": 0.0, @@ -21250,10 +22852,12 @@ export default { }, "count_types": 1, "reagents": { - "Pumpkin": 1.0 + "Corn": 1.0 } }, - "ItemCookedRice": { + { + "target_prefab": "ItemCookedRice", + "target_prefab_hash": 2013539020, "tier": "TierOne", "time": 5.0, "energy": 0.0, @@ -21278,7 +22882,9 @@ export default { "Rice": 1.0 } }, - "ItemCookedSoybean": { + { + "target_prefab": "ItemCookedPumpkin", + "target_prefab_hash": 1849281546, "tier": "TierOne", "time": 5.0, "energy": 0.0, @@ -21300,10 +22906,12 @@ export default { }, "count_types": 1, "reagents": { - "Soy": 1.0 + "Pumpkin": 1.0 } }, - "ItemCookedTomato": { + { + "target_prefab": "ItemCookedPowderedEggs", + "target_prefab_hash": -1712264413, "tier": "TierOne", "time": 5.0, "energy": 0.0, @@ -21325,10 +22933,12 @@ export default { }, "count_types": 1, "reagents": { - "Tomato": 1.0 + "Egg": 4.0 } }, - "ItemFries": { + { + "target_prefab": "ItemCookedCondensedMilk", + "target_prefab_hash": 1715917521, "tier": "TierOne", "time": 5.0, "energy": 0.0, @@ -21348,13 +22958,14 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 1, "reagents": { - "Oil": 5.0, - "Potato": 1.0 + "Milk": 100.0 } }, - "ItemMuffin": { + { + "target_prefab": "ItemCookedSoybean", + "target_prefab_hash": 1353449022, "tier": "TierOne", "time": 5.0, "energy": 0.0, @@ -21374,16 +22985,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Egg": 1.0, - "Flour": 50.0, - "Milk": 10.0 + "Soy": 1.0 } }, - "ItemPlainCake": { + { + "target_prefab": "ItemChocolateBar", + "target_prefab_hash": 234601764, "tier": "TierOne", - "time": 30.0, + "time": 5.0, "energy": 0.0, "temperature": { "start": 1.0, @@ -21401,17 +23012,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 2, "reagents": { - "Egg": 1.0, - "Flour": 50.0, - "Milk": 5.0, - "Sugar": 50.0 + "Cocoa": 2.0, + "Sugar": 10.0 } }, - "ItemPotatoBaked": { + { + "target_prefab": "ItemPlainCake", + "target_prefab_hash": -1108244510, "tier": "TierOne", - "time": 5.0, + "time": 30.0, "energy": 0.0, "temperature": { "start": 1.0, @@ -21429,14 +23040,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 4, "reagents": { - "Potato": 1.0 + "Egg": 1.0, + "Flour": 50.0, + "Milk": 5.0, + "Sugar": 50.0 } }, - "ItemPumpkinPie": { + { + "target_prefab": "ItemChocolateCake", + "target_prefab_hash": -261575861, "tier": "TierOne", - "time": 10.0, + "time": 30.0, "energy": 0.0, "temperature": { "start": 1.0, @@ -21454,15 +23070,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 5, "reagents": { + "Cocoa": 2.0, "Egg": 1.0, - "Flour": 100.0, - "Milk": 10.0, - "Pumpkin": 10.0 + "Flour": 50.0, + "Milk": 5.0, + "Sugar": 50.0 } } - } + ] }, "memory": { "instructions": { @@ -21843,7 +23460,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -21899,7 +23516,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -21952,7 +23569,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -22015,7 +23632,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -22134,28 +23751,43 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } }, - { - "name": "Battery", - "typ": "Battery" + "1": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 1 + } }, - { - "name": "Battery", - "typ": "Battery" + "2": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 2 + } }, - { - "name": "Battery", - "typ": "Battery" + "3": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 3 + } }, - { - "name": "Battery", - "typ": "Battery" + "4": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 4 + } } - ], + }, "device": { "connection_list": [ { @@ -22231,16 +23863,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } }, - { - "name": "Battery", - "typ": "Battery" + "1": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -22299,7 +23937,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -22364,7 +24002,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -22429,7 +24067,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -22483,7 +24121,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -22556,16 +24194,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Appliance 1", - "typ": "Appliance" + "slots": { + "0": { + "Direct": { + "name": "Appliance 1", + "class": "Appliance", + "index": 0 + } }, - { - "name": "Appliance 2", - "typ": "Appliance" + "1": { + "Direct": { + "name": "Appliance 2", + "class": "Appliance", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -22638,16 +24282,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Appliance 1", - "typ": "Appliance" + "slots": { + "0": { + "Direct": { + "name": "Appliance 1", + "class": "Appliance", + "index": 0 + } }, - { - "name": "Appliance 2", - "typ": "Appliance" + "1": { + "Direct": { + "name": "Appliance 2", + "class": "Appliance", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -22720,16 +24370,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Appliance 1", - "typ": "Appliance" + "slots": { + "0": { + "Direct": { + "name": "Appliance 1", + "class": "Appliance", + "index": 0 + } }, - { - "name": "Appliance 2", - "typ": "Appliance" + "1": { + "Direct": { + "name": "Appliance 2", + "class": "Appliance", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -22802,16 +24458,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Appliance 1", - "typ": "Appliance" + "slots": { + "0": { + "Direct": { + "name": "Appliance 1", + "class": "Appliance", + "index": 0 + } }, - { - "name": "Appliance 2", - "typ": "Appliance" + "1": { + "Direct": { + "name": "Appliance 2", + "class": "Appliance", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -22884,16 +24546,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Appliance 1", - "typ": "Appliance" + "slots": { + "0": { + "Direct": { + "name": "Appliance 1", + "class": "Appliance", + "index": 0 + } }, - { - "name": "Appliance 2", - "typ": "Appliance" + "1": { + "Direct": { + "name": "Appliance 2", + "class": "Appliance", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -22949,7 +24617,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -23010,12 +24678,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Bed", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Bed", + "class": "Entity", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -23070,7 +24741,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -23254,7 +24925,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [], "has_activate_state": false, @@ -23289,7 +24960,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [], "has_activate_state": false, @@ -23324,7 +24995,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [], "has_activate_state": false, @@ -23359,7 +25030,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [], "has_activate_state": false, @@ -23640,7 +25311,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -23710,7 +25381,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -23784,7 +25455,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -23942,416 +25613,722 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "None", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } }, - { - "name": "Storage", - "typ": "None" + "2": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 2 + } }, - { - "name": "Storage", - "typ": "None" + "3": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 3 + } }, - { - "name": "Storage", - "typ": "None" + "4": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 4 + } }, - { - "name": "Storage", - "typ": "None" + "5": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 5 + } }, - { - "name": "Storage", - "typ": "None" + "6": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 6 + } }, - { - "name": "Storage", - "typ": "None" + "7": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 7 + } }, - { - "name": "Storage", - "typ": "None" + "8": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 8 + } }, - { - "name": "Storage", - "typ": "None" + "9": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 9 + } }, - { - "name": "Storage", - "typ": "None" + "10": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 10 + } }, - { - "name": "Storage", - "typ": "None" + "11": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 11 + } }, - { - "name": "Storage", - "typ": "None" + "12": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 12 + } }, - { - "name": "Storage", - "typ": "None" + "13": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 13 + } }, - { - "name": "Storage", - "typ": "None" + "14": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 14 + } }, - { - "name": "Storage", - "typ": "None" + "15": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 15 + } }, - { - "name": "Storage", - "typ": "None" + "16": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 16 + } }, - { - "name": "Storage", - "typ": "None" + "17": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 17 + } }, - { - "name": "Storage", - "typ": "None" + "18": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 18 + } }, - { - "name": "Storage", - "typ": "None" + "19": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 19 + } }, - { - "name": "Storage", - "typ": "None" + "20": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 20 + } }, - { - "name": "Storage", - "typ": "None" + "21": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 21 + } }, - { - "name": "Storage", - "typ": "None" + "22": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 22 + } }, - { - "name": "Storage", - "typ": "None" + "23": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 23 + } }, - { - "name": "Storage", - "typ": "None" + "24": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 24 + } }, - { - "name": "Storage", - "typ": "None" + "25": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 25 + } }, - { - "name": "Storage", - "typ": "None" + "26": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 26 + } }, - { - "name": "Storage", - "typ": "None" + "27": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 27 + } }, - { - "name": "Storage", - "typ": "None" + "28": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 28 + } }, - { - "name": "Storage", - "typ": "None" + "29": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 29 + } }, - { - "name": "Storage", - "typ": "None" + "30": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 30 + } }, - { - "name": "Storage", - "typ": "None" + "31": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 31 + } }, - { - "name": "Storage", - "typ": "None" + "32": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 32 + } }, - { - "name": "Storage", - "typ": "None" + "33": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 33 + } }, - { - "name": "Storage", - "typ": "None" + "34": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 34 + } }, - { - "name": "Storage", - "typ": "None" + "35": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 35 + } }, - { - "name": "Storage", - "typ": "None" + "36": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 36 + } }, - { - "name": "Storage", - "typ": "None" + "37": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 37 + } }, - { - "name": "Storage", - "typ": "None" + "38": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 38 + } }, - { - "name": "Storage", - "typ": "None" + "39": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 39 + } }, - { - "name": "Storage", - "typ": "None" + "40": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 40 + } }, - { - "name": "Storage", - "typ": "None" + "41": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 41 + } }, - { - "name": "Storage", - "typ": "None" + "42": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 42 + } }, - { - "name": "Storage", - "typ": "None" + "43": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 43 + } }, - { - "name": "Storage", - "typ": "None" + "44": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 44 + } }, - { - "name": "Storage", - "typ": "None" + "45": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 45 + } }, - { - "name": "Storage", - "typ": "None" + "46": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 46 + } }, - { - "name": "Storage", - "typ": "None" + "47": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 47 + } }, - { - "name": "Storage", - "typ": "None" + "48": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 48 + } }, - { - "name": "Storage", - "typ": "None" + "49": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 49 + } }, - { - "name": "Storage", - "typ": "None" + "50": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 50 + } }, - { - "name": "Storage", - "typ": "None" + "51": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 51 + } }, - { - "name": "Storage", - "typ": "None" + "52": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 52 + } }, - { - "name": "Storage", - "typ": "None" + "53": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 53 + } }, - { - "name": "Storage", - "typ": "None" + "54": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 54 + } }, - { - "name": "Storage", - "typ": "None" + "55": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 55 + } }, - { - "name": "Storage", - "typ": "None" + "56": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 56 + } }, - { - "name": "Storage", - "typ": "None" + "57": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 57 + } }, - { - "name": "Storage", - "typ": "None" + "58": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 58 + } }, - { - "name": "Storage", - "typ": "None" + "59": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 59 + } }, - { - "name": "Storage", - "typ": "None" + "60": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 60 + } }, - { - "name": "Storage", - "typ": "None" + "61": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 61 + } }, - { - "name": "Storage", - "typ": "None" + "62": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 62 + } }, - { - "name": "Storage", - "typ": "None" + "63": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 63 + } }, - { - "name": "Storage", - "typ": "None" + "64": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 64 + } }, - { - "name": "Storage", - "typ": "None" + "65": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 65 + } }, - { - "name": "Storage", - "typ": "None" + "66": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 66 + } }, - { - "name": "Storage", - "typ": "None" + "67": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 67 + } }, - { - "name": "Storage", - "typ": "None" + "68": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 68 + } }, - { - "name": "Storage", - "typ": "None" + "69": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 69 + } }, - { - "name": "Storage", - "typ": "None" + "70": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 70 + } }, - { - "name": "Storage", - "typ": "None" + "71": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 71 + } }, - { - "name": "Storage", - "typ": "None" + "72": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 72 + } }, - { - "name": "Storage", - "typ": "None" + "73": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 73 + } }, - { - "name": "Storage", - "typ": "None" + "74": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 74 + } }, - { - "name": "Storage", - "typ": "None" + "75": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 75 + } }, - { - "name": "Storage", - "typ": "None" + "76": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 76 + } }, - { - "name": "Storage", - "typ": "None" + "77": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 77 + } }, - { - "name": "Storage", - "typ": "None" + "78": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 78 + } }, - { - "name": "Storage", - "typ": "None" + "79": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 79 + } }, - { - "name": "Storage", - "typ": "None" + "80": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 80 + } }, - { - "name": "Storage", - "typ": "None" + "81": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 81 + } }, - { - "name": "Storage", - "typ": "None" + "82": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 82 + } }, - { - "name": "Storage", - "typ": "None" + "83": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 83 + } }, - { - "name": "Storage", - "typ": "None" + "84": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 84 + } }, - { - "name": "Storage", - "typ": "None" + "85": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 85 + } }, - { - "name": "Storage", - "typ": "None" + "86": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 86 + } }, - { - "name": "Storage", - "typ": "None" + "87": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 87 + } }, - { - "name": "Storage", - "typ": "None" + "88": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 88 + } }, - { - "name": "Storage", - "typ": "None" + "89": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 89 + } }, - { - "name": "Storage", - "typ": "None" + "90": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 90 + } }, - { - "name": "Storage", - "typ": "None" + "91": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 91 + } }, - { - "name": "Storage", - "typ": "None" + "92": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 92 + } }, - { - "name": "Storage", - "typ": "None" + "93": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 93 + } }, - { - "name": "Storage", - "typ": "None" + "94": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 94 + } }, - { - "name": "Storage", - "typ": "None" + "95": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 95 + } }, - { - "name": "Storage", - "typ": "None" + "96": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 96 + } }, - { - "name": "Storage", - "typ": "None" + "97": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 97 + } }, - { - "name": "Storage", - "typ": "None" + "98": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 98 + } }, - { - "name": "Storage", - "typ": "None" + "99": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 99 + } }, - { - "name": "Storage", - "typ": "None" + "100": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 100 + } }, - { - "name": "Storage", - "typ": "None" + "101": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 101 + } } - ], + }, "device": { "connection_list": [ { @@ -24983,216 +26960,372 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "None", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } }, - { - "name": "Storage", - "typ": "None" + "2": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 2 + } }, - { - "name": "Storage", - "typ": "None" + "3": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 3 + } }, - { - "name": "Storage", - "typ": "None" + "4": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 4 + } }, - { - "name": "Storage", - "typ": "None" + "5": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 5 + } }, - { - "name": "Storage", - "typ": "None" + "6": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 6 + } }, - { - "name": "Storage", - "typ": "None" + "7": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 7 + } }, - { - "name": "Storage", - "typ": "None" + "8": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 8 + } }, - { - "name": "Storage", - "typ": "None" + "9": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 9 + } }, - { - "name": "Storage", - "typ": "None" + "10": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 10 + } }, - { - "name": "Storage", - "typ": "None" + "11": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 11 + } }, - { - "name": "Storage", - "typ": "None" + "12": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 12 + } }, - { - "name": "Storage", - "typ": "None" + "13": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 13 + } }, - { - "name": "Storage", - "typ": "None" + "14": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 14 + } }, - { - "name": "Storage", - "typ": "None" + "15": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 15 + } }, - { - "name": "Storage", - "typ": "None" + "16": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 16 + } }, - { - "name": "Storage", - "typ": "None" + "17": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 17 + } }, - { - "name": "Storage", - "typ": "None" + "18": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 18 + } }, - { - "name": "Storage", - "typ": "None" + "19": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 19 + } }, - { - "name": "Storage", - "typ": "None" + "20": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 20 + } }, - { - "name": "Storage", - "typ": "None" + "21": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 21 + } }, - { - "name": "Storage", - "typ": "None" + "22": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 22 + } }, - { - "name": "Storage", - "typ": "None" + "23": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 23 + } }, - { - "name": "Storage", - "typ": "None" + "24": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 24 + } }, - { - "name": "Storage", - "typ": "None" + "25": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 25 + } }, - { - "name": "Storage", - "typ": "None" + "26": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 26 + } }, - { - "name": "Storage", - "typ": "None" + "27": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 27 + } }, - { - "name": "Storage", - "typ": "None" + "28": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 28 + } }, - { - "name": "Storage", - "typ": "None" + "29": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 29 + } }, - { - "name": "Storage", - "typ": "None" + "30": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 30 + } }, - { - "name": "Storage", - "typ": "None" + "31": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 31 + } }, - { - "name": "Storage", - "typ": "None" + "32": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 32 + } }, - { - "name": "Storage", - "typ": "None" + "33": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 33 + } }, - { - "name": "Storage", - "typ": "None" + "34": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 34 + } }, - { - "name": "Storage", - "typ": "None" + "35": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 35 + } }, - { - "name": "Storage", - "typ": "None" + "36": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 36 + } }, - { - "name": "Storage", - "typ": "None" + "37": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 37 + } }, - { - "name": "Storage", - "typ": "None" + "38": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 38 + } }, - { - "name": "Storage", - "typ": "None" + "39": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 39 + } }, - { - "name": "Storage", - "typ": "None" + "40": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 40 + } }, - { - "name": "Storage", - "typ": "None" + "41": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 41 + } }, - { - "name": "Storage", - "typ": "None" + "42": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 42 + } }, - { - "name": "Storage", - "typ": "None" + "43": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 43 + } }, - { - "name": "Storage", - "typ": "None" + "44": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 44 + } }, - { - "name": "Storage", - "typ": "None" + "45": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 45 + } }, - { - "name": "Storage", - "typ": "None" + "46": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 46 + } }, - { - "name": "Storage", - "typ": "None" + "47": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 47 + } }, - { - "name": "Storage", - "typ": "None" + "48": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 48 + } }, - { - "name": "Storage", - "typ": "None" + "49": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 49 + } }, - { - "name": "Storage", - "typ": "None" + "50": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 50 + } }, - { - "name": "Storage", - "typ": "None" + "51": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 51 + } } - ], + }, "device": { "connection_list": [ { @@ -25252,16 +27385,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "None", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -25325,12 +27464,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Seat", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Seat", + "class": "Entity", + "index": 0 + } } - ], + }, "device": { "connection_list": [], "has_activate_state": false, @@ -25377,12 +27519,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Seat", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Seat", + "class": "Entity", + "index": 0 + } } - ], + }, "device": { "connection_list": [], "has_activate_state": false, @@ -25429,12 +27574,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Seat", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Seat", + "class": "Entity", + "index": 0 + } } - ], + }, "device": { "connection_list": [], "has_activate_state": false, @@ -25481,12 +27629,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Seat", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Seat", + "class": "Entity", + "index": 0 + } } - ], + }, "device": { "connection_list": [], "has_activate_state": false, @@ -25533,12 +27684,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Seat", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Seat", + "class": "Entity", + "index": 0 + } } - ], + }, "device": { "connection_list": [], "has_activate_state": false, @@ -25585,12 +27739,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Seat", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Seat", + "class": "Entity", + "index": 0 + } } - ], + }, "device": { "connection_list": [], "has_activate_state": false, @@ -25637,12 +27794,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Seat", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Seat", + "class": "Entity", + "index": 0 + } } - ], + }, "device": { "connection_list": [], "has_activate_state": false, @@ -25689,12 +27849,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Seat", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Seat", + "class": "Entity", + "index": 0 + } } - ], + }, "device": { "connection_list": [], "has_activate_state": false, @@ -25741,12 +27904,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Seat", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Seat", + "class": "Entity", + "index": 0 + } } - ], + }, "device": { "connection_list": [], "has_activate_state": false, @@ -25799,12 +27965,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Input", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Input", + "class": "None", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -25837,12 +28006,15 @@ export default { "structure": { "small_grid": true }, - "slots": [ - { - "name": "Transport Slot", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Transport Slot", + "class": "None", + "index": 0 + } } - ] + } }, "StructureChuteDigitalFlipFlopSplitterLeft": { "templateType": "StructureLogicDevice", @@ -25889,12 +28061,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Transport Slot", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Transport Slot", + "class": "None", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -25969,12 +28144,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Transport Slot", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Transport Slot", + "class": "None", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -26045,12 +28223,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Transport Slot", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Transport Slot", + "class": "None", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -26117,12 +28298,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Transport Slot", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Transport Slot", + "class": "None", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -26188,12 +28372,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Input", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Input", + "class": "None", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -26226,12 +28413,15 @@ export default { "structure": { "small_grid": true }, - "slots": [ - { - "name": "Transport Slot", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Transport Slot", + "class": "None", + "index": 0 + } } - ] + } }, "StructureChuteInlet": { "templateType": "StructureLogicDevice", @@ -26270,12 +28460,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "None", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -26308,12 +28501,15 @@ export default { "structure": { "small_grid": true }, - "slots": [ - { - "name": "Transport Slot", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Transport Slot", + "class": "None", + "index": 0 + } } - ] + } }, "StructureChuteOutlet": { "templateType": "StructureLogicDevice", @@ -26353,12 +28549,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Export", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Export", + "class": "None", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -26391,12 +28590,15 @@ export default { "structure": { "small_grid": true }, - "slots": [ - { - "name": "Transport Slot", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Transport Slot", + "class": "None", + "index": 0 + } } - ] + } }, "StructureChuteStraight": { "templateType": "StructureSlots", @@ -26409,12 +28611,15 @@ export default { "structure": { "small_grid": true }, - "slots": [ - { - "name": "Transport Slot", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Transport Slot", + "class": "None", + "index": 0 + } } - ] + } }, "StructureChuteUmbilicalFemale": { "templateType": "StructureLogicDevice", @@ -26450,12 +28655,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Transport Slot", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Transport Slot", + "class": "None", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -26507,12 +28715,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Transport Slot", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Transport Slot", + "class": "None", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -26576,12 +28787,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Transport Slot", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Transport Slot", + "class": "None", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -26614,12 +28828,15 @@ export default { "structure": { "small_grid": true }, - "slots": [ - { - "name": "Transport Slot", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Transport Slot", + "class": "None", + "index": 0 + } } - ] + } }, "StructureChuteWindow": { "templateType": "StructureSlots", @@ -26632,12 +28849,15 @@ export default { "structure": { "small_grid": true }, - "slots": [ - { - "name": "Transport Slot", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Transport Slot", + "class": "None", + "index": 0 + } } - ] + } }, "StructureCircuitHousing": { "templateType": "StructureCircuitHolder", @@ -26680,12 +28900,15 @@ export default { "wireless_logic": false, "circuit_holder": true }, - "slots": [ - { - "name": "Programmable Chip", - "typ": "ProgrammableChip" + "slots": { + "0": { + "Direct": { + "name": "Programmable Chip", + "class": "ProgrammableChip", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -26809,20 +29032,29 @@ export default { "wireless_logic": false, "circuit_holder": true }, - "slots": [ - { - "name": "Import", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "None", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } }, - { - "name": "Programmable Chip", - "typ": "ProgrammableChip" + "2": { + "Direct": { + "name": "Programmable Chip", + "class": "ProgrammableChip", + "index": 2 + } } - ], + }, "device": { "connection_list": [ { @@ -27111,7 +29343,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -27329,7 +29561,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -27383,20 +29615,29 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Data Disk", - "typ": "DataDisk" + "slots": { + "0": { + "Direct": { + "name": "Data Disk", + "class": "DataDisk", + "index": 0 + } }, - { - "name": "Data Disk", - "typ": "DataDisk" + "1": { + "Direct": { + "name": "Data Disk", + "class": "DataDisk", + "index": 1 + } }, - { - "name": "Motherboard", - "typ": "Motherboard" + "2": { + "Direct": { + "name": "Motherboard", + "class": "Motherboard", + "index": 2 + } } - ], + }, "device": { "connection_list": [ { @@ -27450,20 +29691,29 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Data Disk", - "typ": "DataDisk" + "slots": { + "0": { + "Direct": { + "name": "Data Disk", + "class": "DataDisk", + "index": 0 + } }, - { - "name": "Data Disk", - "typ": "DataDisk" + "1": { + "Direct": { + "name": "Data Disk", + "class": "DataDisk", + "index": 1 + } }, - { - "name": "Motherboard", - "typ": "Motherboard" + "2": { + "Direct": { + "name": "Motherboard", + "class": "Motherboard", + "index": 2 + } } - ], + }, "device": { "connection_list": [ { @@ -27541,7 +29791,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -27601,7 +29851,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -27654,16 +29904,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Circuit Board", - "typ": "Circuitboard" + "slots": { + "0": { + "Direct": { + "name": "Circuit Board", + "class": "Circuitboard", + "index": 0 + } }, - { - "name": "Data Disk", - "typ": "DataDisk" + "1": { + "Direct": { + "name": "Data Disk", + "class": "DataDisk", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -27712,16 +29968,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Circuit Board", - "typ": "Circuitboard" + "slots": { + "0": { + "Direct": { + "name": "Circuit Board", + "class": "Circuitboard", + "index": 0 + } }, - { - "name": "Data Disk", - "typ": "DataDisk" + "1": { + "Direct": { + "name": "Data Disk", + "class": "DataDisk", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -27777,7 +30039,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -27829,7 +30091,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -27881,7 +30143,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -27930,16 +30192,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Circuit Board", - "typ": "Circuitboard" + "slots": { + "0": { + "Direct": { + "name": "Circuit Board", + "class": "Circuitboard", + "index": 0 + } }, - { - "name": "Data Disk", - "typ": "DataDisk" + "1": { + "Direct": { + "name": "Data Disk", + "class": "DataDisk", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -28035,12 +30303,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Entity", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Entity", + "class": "Entity", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -28153,32 +30424,50 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "", - "typ": "None" + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } }, - { - "name": "", - "typ": "None" + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } }, - { - "name": "", - "typ": "None" + "4": { + "Direct": { + "name": "", + "class": "None", + "index": 4 + } }, - { - "name": "", - "typ": "None" + "5": { + "Direct": { + "name": "", + "class": "None", + "index": 5 + } } - ], + }, "device": { "connection_list": [], "has_activate_state": false, @@ -28202,12 +30491,15 @@ export default { "structure": { "small_grid": true }, - "slots": [ - { - "name": "Container Slot", - "typ": "Crate" + "slots": { + "0": { + "Direct": { + "name": "Container Slot", + "class": "Crate", + "index": 0 + } } - ] + } }, "StructureCryoTube": { "templateType": "StructureLogicDevice", @@ -28260,12 +30552,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Bed", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Bed", + "class": "Entity", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -28332,12 +30627,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Player", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Player", + "class": "Entity", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -28404,12 +30702,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Player", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Player", + "class": "Entity", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -28469,7 +30770,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -28521,12 +30822,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Export", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Export", + "class": "None", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -28582,7 +30886,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -28635,7 +30939,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -28680,7 +30984,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -28727,7 +31031,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -28775,7 +31079,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -28897,12 +31201,15 @@ export default { "wireless_logic": false, "circuit_holder": true }, - "slots": [ - { - "name": "Programmable Chip", - "typ": "ProgrammableChip" + "slots": { + "0": { + "Direct": { + "name": "Programmable Chip", + "class": "ProgrammableChip", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -28971,16 +31278,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "Ingot" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "Ingot", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -29035,11 +31348,13 @@ export default { }, "fabricator_info": { "tier": "Undefined", - "recipes": { - "ApplianceChemistryStation": { + "recipes": [ + { + "target_prefab": "DynamicLight", + "target_prefab_hash": -21970188, "tier": "TierOne", - "time": 45.0, - "energy": 1500.0, + "time": 20.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -29056,16 +31371,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Copper": 5.0, - "Gold": 1.0, - "Steel": 5.0 + "Copper": 2.0, + "Iron": 5.0 } }, - "ApplianceDeskLampLeft": { + { + "target_prefab": "ItemKitGrowLight", + "target_prefab_hash": 341030083, "tier": "TierOne", - "time": 10.0, + "time": 30.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -29083,16 +31399,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Iron": 2.0, - "Silicon": 1.0 + "Copper": 5.0, + "Electrum": 10.0, + "Steel": 5.0 } }, - "ApplianceDeskLampRight": { + { + "target_prefab": "ItemBatteryCell", + "target_prefab_hash": 700133157, "tier": "TierOne", "time": 10.0, - "energy": 500.0, + "energy": 1000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -29109,16 +31428,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Iron": 2.0, - "Silicon": 1.0 + "Copper": 5.0, + "Gold": 2.0, + "Iron": 2.0 } }, - "ApplianceMicrowave": { + { + "target_prefab": "ItemBatteryCellLarge", + "target_prefab_hash": -459827268, "tier": "TierOne", - "time": 45.0, - "energy": 1500.0, + "time": 20.0, + "energy": 20000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -29137,15 +31459,17 @@ export default { }, "count_types": 3, "reagents": { - "Copper": 2.0, - "Gold": 1.0, - "Iron": 5.0 + "Copper": 10.0, + "Gold": 5.0, + "Steel": 5.0 } }, - "AppliancePackagingMachine": { + { + "target_prefab": "Battery_Wireless_cell", + "target_prefab_hash": -462415758, "tier": "TierOne", - "time": 30.0, - "energy": 500.0, + "time": 10.0, + "energy": 10000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -29164,15 +31488,17 @@ export default { }, "count_types": 3, "reagents": { - "Copper": 2.0, - "Gold": 1.0, - "Iron": 10.0 + "Copper": 10.0, + "Gold": 2.0, + "Iron": 2.0 } }, - "AppliancePaintMixer": { + { + "target_prefab": "Battery_Wireless_cell_Big", + "target_prefab_hash": -41519077, "tier": "TierOne", - "time": 45.0, - "energy": 1500.0, + "time": 20.0, + "energy": 20000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -29191,15 +31517,17 @@ export default { }, "count_types": 3, "reagents": { - "Copper": 5.0, - "Gold": 1.0, + "Copper": 15.0, + "Gold": 5.0, "Steel": 5.0 } }, - "AppliancePlantGeneticAnalyzer": { + { + "target_prefab": "ItemKitPowerTransmitter", + "target_prefab_hash": 291368213, "tier": "TierOne", - "time": 45.0, - "energy": 4500.0, + "time": 20.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -29218,15 +31546,17 @@ export default { }, "count_types": 3, "reagents": { - "Copper": 5.0, - "Gold": 1.0, - "Steel": 5.0 + "Copper": 7.0, + "Gold": 5.0, + "Steel": 3.0 } }, - "AppliancePlantGeneticSplicer": { + { + "target_prefab": "ItemKitPowerTransmitterOmni", + "target_prefab_hash": -831211676, "tier": "TierOne", - "time": 50.0, - "energy": 5000.0, + "time": 20.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -29243,16 +31573,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Inconel": 10.0, - "Stellite": 20.0 + "Copper": 8.0, + "Gold": 4.0, + "Steel": 4.0 } }, - "AppliancePlantGeneticStabilizer": { - "tier": "TierOne", - "time": 50.0, - "energy": 5000.0, + { + "target_prefab": "ItemBatteryCellNuclear", + "target_prefab_hash": 544617306, + "tier": "TierTwo", + "time": 180.0, + "energy": 360000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -29269,15 +31602,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Inconel": 10.0, - "Stellite": 20.0 + "Astroloy": 10.0, + "Inconel": 5.0, + "Steel": 5.0 } }, - "ApplianceReagentProcessor": { - "tier": "TierOne", - "time": 45.0, + { + "target_prefab": "ItemHEMDroidRepairKit", + "target_prefab_hash": 470636008, + "tier": "TierTwo", + "time": 40.0, "energy": 1500.0, "temperature": { "start": 1.0, @@ -29297,43 +31633,17 @@ export default { }, "count_types": 3, "reagents": { - "Copper": 2.0, - "Gold": 1.0, - "Iron": 5.0 + "Electrum": 10.0, + "Inconel": 5.0, + "Solder": 5.0 } }, - "ApplianceTabletDock": { + { + "target_prefab": "ItemBatteryCharger", + "target_prefab_hash": -1866880307, "tier": "TierOne", - "time": 30.0, - "energy": 750.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 4, - "reagents": { - "Copper": 2.0, - "Gold": 1.0, - "Iron": 5.0, - "Silicon": 1.0 - } - }, - "AutolathePrinterMod": { - "tier": "TierTwo", - "time": 180.0, - "energy": 72000.0, + "time": 1.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -29350,18 +31660,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 3, "reagents": { - "Constantan": 8.0, - "Electrum": 8.0, - "Solder": 8.0, - "Steel": 35.0 + "Copper": 5.0, + "Gold": 5.0, + "Iron": 10.0 } }, - "Battery_Wireless_cell": { + { + "target_prefab": "ItemBatteryChargerSmall", + "target_prefab_hash": 1008295833, "tier": "TierOne", - "time": 10.0, - "energy": 10000.0, + "time": 1.0, + "energy": 250.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -29380,15 +31691,17 @@ export default { }, "count_types": 3, "reagents": { - "Copper": 10.0, + "Copper": 2.0, "Gold": 2.0, - "Iron": 2.0 + "Iron": 5.0 } }, - "Battery_Wireless_cell_Big": { + { + "target_prefab": "CartridgeAtmosAnalyser", + "target_prefab_hash": -1550278665, "tier": "TierOne", - "time": 20.0, - "energy": 20000.0, + "time": 5.0, + "energy": 100.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -29407,12 +31720,14 @@ export default { }, "count_types": 3, "reagents": { - "Copper": 15.0, + "Copper": 5.0, "Gold": 5.0, - "Steel": 5.0 + "Iron": 1.0 } }, - "CartridgeAtmosAnalyser": { + { + "target_prefab": "CartridgePlantAnalyser", + "target_prefab_hash": 1101328282, "tier": "TierOne", "time": 5.0, "energy": 100.0, @@ -29439,7 +31754,9 @@ export default { "Iron": 1.0 } }, - "CartridgeConfiguration": { + { + "target_prefab": "CartridgeElectronicReader", + "target_prefab_hash": -1462180176, "tier": "TierOne", "time": 5.0, "energy": 100.0, @@ -29466,7 +31783,9 @@ export default { "Iron": 1.0 } }, - "CartridgeElectronicReader": { + { + "target_prefab": "CartridgeMedicalAnalyser", + "target_prefab_hash": -1116110181, "tier": "TierOne", "time": 5.0, "energy": 100.0, @@ -29493,7 +31812,9 @@ export default { "Iron": 1.0 } }, - "CartridgeGPS": { + { + "target_prefab": "CartridgeNetworkAnalyser", + "target_prefab_hash": 1606989119, "tier": "TierOne", "time": 5.0, "energy": 100.0, @@ -29520,7 +31841,9 @@ export default { "Iron": 1.0 } }, - "CartridgeMedicalAnalyser": { + { + "target_prefab": "CartridgeOreScanner", + "target_prefab_hash": -1768732546, "tier": "TierOne", "time": 5.0, "energy": 100.0, @@ -29547,7 +31870,9 @@ export default { "Iron": 1.0 } }, - "CartridgeNetworkAnalyser": { + { + "target_prefab": "ItemSoundCartridgeBass", + "target_prefab_hash": -1883441704, "tier": "TierOne", "time": 5.0, "energy": 100.0, @@ -29569,12 +31894,14 @@ export default { }, "count_types": 3, "reagents": { - "Copper": 5.0, - "Gold": 5.0, - "Iron": 1.0 + "Copper": 2.0, + "Gold": 2.0, + "Silicon": 2.0 } }, - "CartridgeOreScanner": { + { + "target_prefab": "ItemSoundCartridgeDrums", + "target_prefab_hash": -1901500508, "tier": "TierOne", "time": 5.0, "energy": 100.0, @@ -29596,12 +31923,14 @@ export default { }, "count_types": 3, "reagents": { - "Copper": 5.0, - "Gold": 5.0, - "Iron": 1.0 + "Copper": 2.0, + "Gold": 2.0, + "Silicon": 2.0 } }, - "CartridgeOreScannerColor": { + { + "target_prefab": "ItemSoundCartridgeLeads", + "target_prefab_hash": -1174735962, "tier": "TierOne", "time": 5.0, "energy": 100.0, @@ -29621,15 +31950,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 3, "reagents": { - "Constantan": 5.0, - "Electrum": 5.0, - "Invar": 5.0, - "Silicon": 5.0 + "Copper": 2.0, + "Gold": 2.0, + "Silicon": 2.0 } }, - "CartridgePlantAnalyser": { + { + "target_prefab": "ItemSoundCartridgeSynth", + "target_prefab_hash": -1971419310, "tier": "TierOne", "time": 5.0, "energy": 100.0, @@ -29651,12 +31981,14 @@ export default { }, "count_types": 3, "reagents": { - "Copper": 5.0, - "Gold": 5.0, - "Iron": 1.0 + "Copper": 2.0, + "Gold": 2.0, + "Silicon": 2.0 } }, - "CartridgeTracker": { + { + "target_prefab": "CartridgeOreScannerColor", + "target_prefab_hash": 1738236580, "tier": "TierOne", "time": 5.0, "energy": 100.0, @@ -29676,17 +32008,20 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 4, "reagents": { - "Copper": 5.0, - "Gold": 5.0, - "Iron": 1.0 + "Constantan": 5.0, + "Electrum": 5.0, + "Invar": 5.0, + "Silicon": 5.0 } }, - "CircuitboardAdvAirlockControl": { - "tier": "TierOne", - "time": 5.0, - "energy": 100.0, + { + "target_prefab": "ItemKitAIMeE", + "target_prefab_hash": 496830914, + "tier": "TierTwo", + "time": 25.0, + "energy": 2200.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -29703,16 +32038,22 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 7, "reagents": { + "Astroloy": 10.0, + "Constantan": 8.0, "Copper": 5.0, + "Electrum": 15.0, "Gold": 5.0, - "Iron": 1.0 + "Invar": 7.0, + "Steel": 22.0 } }, - "CircuitboardAirControl": { + { + "target_prefab": "ItemKitFridgeSmall", + "target_prefab_hash": 1661226524, "tier": "TierOne", - "time": 5.0, + "time": 10.0, "energy": 100.0, "temperature": { "start": 1.0, @@ -29730,15 +32071,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { "Copper": 5.0, - "Gold": 5.0 + "Gold": 2.0, + "Iron": 10.0 } }, - "CircuitboardAirlockControl": { + { + "target_prefab": "ItemKitFridgeBig", + "target_prefab_hash": -1168199498, "tier": "TierOne", - "time": 5.0, + "time": 10.0, "energy": 100.0, "temperature": { "start": 1.0, @@ -29756,14 +32100,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 4, "reagents": { - "Copper": 5.0, + "Copper": 10.0, "Gold": 5.0, - "Iron": 1.0 + "Iron": 20.0, + "Steel": 15.0 } }, - "CircuitboardDoorControl": { + { + "target_prefab": "CartridgeConfiguration", + "target_prefab_hash": -932136011, "tier": "TierOne", "time": 5.0, "energy": 100.0, @@ -29783,13 +32130,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { "Copper": 5.0, - "Gold": 5.0 + "Gold": 5.0, + "Iron": 1.0 } }, - "CircuitboardGasDisplay": { + { + "target_prefab": "CartridgeTracker", + "target_prefab_hash": 81488783, "tier": "TierOne", "time": 5.0, "energy": 100.0, @@ -29816,7 +32166,9 @@ export default { "Iron": 1.0 } }, - "CircuitboardGraphDisplay": { + { + "target_prefab": "CartridgeGPS", + "target_prefab_hash": -1957063345, "tier": "TierOne", "time": 5.0, "energy": 100.0, @@ -29836,13 +32188,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { "Copper": 5.0, - "Gold": 5.0 + "Gold": 5.0, + "Iron": 1.0 } }, - "CircuitboardHashDisplay": { + { + "target_prefab": "CircuitboardAirControl", + "target_prefab_hash": 1618019559, "tier": "TierOne", "time": 5.0, "energy": 100.0, @@ -29868,7 +32223,9 @@ export default { "Gold": 5.0 } }, - "CircuitboardModeControl": { + { + "target_prefab": "CircuitboardAdvAirlockControl", + "target_prefab_hash": 1633663176, "tier": "TierOne", "time": 5.0, "energy": 100.0, @@ -29888,13 +32245,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { "Copper": 5.0, - "Gold": 5.0 + "Gold": 5.0, + "Iron": 1.0 } }, - "CircuitboardPowerControl": { + { + "target_prefab": "CircuitboardAirlockControl", + "target_prefab_hash": 912176135, "tier": "TierOne", "time": 5.0, "energy": 100.0, @@ -29914,13 +32274,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { "Copper": 5.0, - "Gold": 5.0 + "Gold": 5.0, + "Iron": 1.0 } }, - "CircuitboardShipDisplay": { + { + "target_prefab": "CircuitboardDoorControl", + "target_prefab_hash": 855694771, "tier": "TierOne", "time": 5.0, "energy": 100.0, @@ -29946,7 +32309,9 @@ export default { "Gold": 5.0 } }, - "CircuitboardSolarControl": { + { + "target_prefab": "CircuitboardGasDisplay", + "target_prefab_hash": -82343730, "tier": "TierOne", "time": 5.0, "energy": 100.0, @@ -29966,16 +32331,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { "Copper": 5.0, - "Gold": 5.0 + "Gold": 5.0, + "Iron": 1.0 } }, - "DynamicLight": { + { + "target_prefab": "CircuitboardModeControl", + "target_prefab_hash": -1134148135, "tier": "TierOne", - "time": 20.0, - "energy": 500.0, + "time": 5.0, + "energy": 100.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -29994,42 +32362,16 @@ export default { }, "count_types": 2, "reagents": { - "Copper": 2.0, - "Iron": 5.0 + "Copper": 5.0, + "Gold": 5.0 } }, - "ElectronicPrinterMod": { + { + "target_prefab": "CircuitboardPowerControl", + "target_prefab_hash": -1923778429, "tier": "TierOne", - "time": 180.0, - "energy": 72000.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 4, - "reagents": { - "Constantan": 8.0, - "Electrum": 8.0, - "Solder": 8.0, - "Steel": 35.0 - } - }, - "ItemAdvancedTablet": { - "tier": "TierTwo", - "time": 60.0, - "energy": 12000.0, + "time": 5.0, + "energy": 100.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30046,20 +32388,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 6, + "count_types": 2, "reagents": { - "Copper": 5.5, - "Electrum": 1.0, - "Gold": 12.0, - "Iron": 3.0, - "Solder": 5.0, - "Steel": 2.0 + "Copper": 5.0, + "Gold": 5.0 } }, - "ItemAreaPowerControl": { + { + "target_prefab": "CircuitboardShipDisplay", + "target_prefab_hash": -2044446819, "tier": "TierOne", "time": 5.0, - "energy": 5000.0, + "energy": 100.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30076,17 +32416,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Copper": 2.0, - "Iron": 5.0, - "Solder": 3.0 + "Copper": 5.0, + "Gold": 5.0 } }, - "ItemBatteryCell": { + { + "target_prefab": "CircuitboardSolarControl", + "target_prefab_hash": 2020180320, "tier": "TierOne", - "time": 10.0, - "energy": 1000.0, + "time": 5.0, + "energy": 100.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30103,44 +32444,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { "Copper": 5.0, - "Gold": 2.0, - "Iron": 2.0 + "Gold": 5.0 } }, - "ItemBatteryCellLarge": { + { + "target_prefab": "CircuitboardGraphDisplay", + "target_prefab_hash": 1344368806, "tier": "TierOne", - "time": 20.0, - "energy": 20000.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 3, - "reagents": { - "Copper": 10.0, - "Gold": 5.0, - "Steel": 5.0 - } - }, - "ItemBatteryCellNuclear": { - "tier": "TierTwo", - "time": 180.0, - "energy": 360000.0, + "time": 5.0, + "energy": 100.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30157,17 +32472,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Astroloy": 10.0, - "Inconel": 5.0, - "Steel": 5.0 + "Copper": 5.0, + "Gold": 5.0 } }, - "ItemBatteryCharger": { + { + "target_prefab": "CircuitboardHashDisplay", + "target_prefab_hash": 1633074601, "tier": "TierOne", - "time": 1.0, - "energy": 500.0, + "time": 5.0, + "energy": 100.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30184,17 +32500,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { "Copper": 5.0, - "Gold": 5.0, - "Iron": 10.0 + "Gold": 5.0 } }, - "ItemBatteryChargerSmall": { + { + "target_prefab": "ItemAreaPowerControl", + "target_prefab_hash": 1757673317, "tier": "TierOne", - "time": 1.0, - "energy": 250.0, + "time": 5.0, + "energy": 5000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30214,11 +32531,13 @@ export default { "count_types": 3, "reagents": { "Copper": 2.0, - "Gold": 2.0, - "Iron": 5.0 + "Iron": 5.0, + "Solder": 3.0 } }, - "ItemCableAnalyser": { + { + "target_prefab": "ItemCableAnalyser", + "target_prefab_hash": -1792787349, "tier": "TierOne", "time": 5.0, "energy": 100.0, @@ -30245,7 +32564,9 @@ export default { "Silicon": 2.0 } }, - "ItemCableCoil": { + { + "target_prefab": "ItemCableCoil", + "target_prefab_hash": -466050668, "tier": "TierOne", "time": 1.0, "energy": 100.0, @@ -30270,7 +32591,9 @@ export default { "Copper": 0.5 } }, - "ItemCableCoilHeavy": { + { + "target_prefab": "ItemCableCoilHeavy", + "target_prefab_hash": 2060134443, "tier": "TierOne", "time": 5.0, "energy": 500.0, @@ -30296,7 +32619,9 @@ export default { "Gold": 0.5 } }, - "ItemCableFuse": { + { + "target_prefab": "ItemCableFuse", + "target_prefab_hash": 195442047, "tier": "TierOne", "time": 5.0, "energy": 100.0, @@ -30322,33 +32647,9 @@ export default { "Iron": 5.0 } }, - "ItemCreditCard": { - "tier": "TierOne", - "time": 5.0, - "energy": 200.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 2, - "reagents": { - "Copper": 2.0, - "Silicon": 5.0 - } - }, - "ItemDataDisk": { + { + "target_prefab": "ItemDataDisk", + "target_prefab_hash": 1005843700, "tier": "TierOne", "time": 5.0, "energy": 100.0, @@ -30374,10 +32675,12 @@ export default { "Gold": 5.0 } }, - "ItemElectronicParts": { + { + "target_prefab": "ItemFlashingLight", + "target_prefab_hash": -2107840748, "tier": "TierOne", "time": 5.0, - "energy": 10.0, + "energy": 100.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30394,17 +32697,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { "Copper": 3.0, - "Gold": 2.0, - "Iron": 3.0 + "Iron": 2.0 } }, - "ItemFlashingLight": { + { + "target_prefab": "ItemKitBattery", + "target_prefab_hash": 1406656973, "tier": "TierOne", - "time": 5.0, - "energy": 100.0, + "time": 120.0, + "energy": 12000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30421,16 +32725,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Copper": 3.0, - "Iron": 2.0 + "Copper": 20.0, + "Gold": 20.0, + "Steel": 20.0 } }, - "ItemHEMDroidRepairKit": { + { + "target_prefab": "ItemKitBatteryLarge", + "target_prefab_hash": -21225041, "tier": "TierTwo", - "time": 40.0, - "energy": 1500.0, + "time": 240.0, + "energy": 96000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30447,17 +32754,22 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 6, "reagents": { + "Copper": 35.0, "Electrum": 10.0, - "Inconel": 5.0, - "Solder": 5.0 + "Gold": 35.0, + "Silicon": 5.0, + "Steel": 35.0, + "Stellite": 2.0 } }, - "ItemIntegratedCircuit10": { + { + "target_prefab": "ItemKitComputer", + "target_prefab_hash": 1990225489, "tier": "TierOne", - "time": 40.0, - "energy": 4000.0, + "time": 60.0, + "energy": 6000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30474,18 +32786,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 3, "reagents": { - "Electrum": 5.0, - "Gold": 10.0, - "Solder": 2.0, - "Steel": 4.0 + "Copper": 10.0, + "Gold": 5.0, + "Iron": 5.0 } }, - "ItemKitAIMeE": { - "tier": "TierTwo", - "time": 25.0, - "energy": 2200.0, + { + "target_prefab": "ItemKitConsole", + "target_prefab_hash": -1241851179, + "tier": "TierOne", + "time": 5.0, + "energy": 100.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30502,21 +32815,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 7, + "count_types": 3, "reagents": { - "Astroloy": 10.0, - "Constantan": 8.0, "Copper": 5.0, - "Electrum": 15.0, - "Gold": 5.0, - "Invar": 7.0, - "Steel": 22.0 + "Gold": 3.0, + "Iron": 2.0 } }, - "ItemKitAdvancedComposter": { - "tier": "TierTwo", - "time": 55.0, - "energy": 20000.0, + { + "target_prefab": "ItemKitLogicInputOutput", + "target_prefab_hash": 1997293610, + "tier": "TierOne", + "time": 10.0, + "energy": 1000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30533,18 +32844,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 2, "reagents": { - "Copper": 15.0, - "Electrum": 20.0, - "Solder": 5.0, - "Steel": 30.0 + "Copper": 1.0, + "Gold": 1.0 } }, - "ItemKitAdvancedFurnace": { - "tier": "TierTwo", - "time": 180.0, - "energy": 36000.0, + { + "target_prefab": "ItemKitLogicMemory", + "target_prefab_hash": -2098214189, + "tier": "TierOne", + "time": 10.0, + "energy": 1000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30561,20 +32872,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 6, + "count_types": 2, "reagents": { - "Copper": 25.0, - "Electrum": 15.0, - "Gold": 5.0, - "Silicon": 6.0, - "Solder": 8.0, - "Steel": 30.0 + "Copper": 1.0, + "Gold": 1.0 } }, - "ItemKitAdvancedPackagingMachine": { - "tier": "TierTwo", - "time": 60.0, - "energy": 18000.0, + { + "target_prefab": "ItemKitSpeaker", + "target_prefab_hash": -126038526, + "tier": "TierOne", + "time": 10.0, + "energy": 1000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30591,18 +32900,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 3, "reagents": { - "Constantan": 10.0, - "Copper": 10.0, - "Electrum": 15.0, - "Steel": 20.0 + "Copper": 1.0, + "Gold": 1.0, + "Steel": 5.0 } }, - "ItemKitAutoMinerSmall": { - "tier": "TierTwo", - "time": 90.0, - "energy": 9000.0, + { + "target_prefab": "ItemKitLogicProcessor", + "target_prefab_hash": 220644373, + "tier": "TierOne", + "time": 10.0, + "energy": 1000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30619,19 +32929,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 5, + "count_types": 2, "reagents": { - "Copper": 15.0, - "Electrum": 50.0, - "Invar": 25.0, - "Iron": 15.0, - "Steel": 100.0 + "Copper": 2.0, + "Gold": 2.0 } }, - "ItemKitAutomatedOven": { - "tier": "TierTwo", - "time": 50.0, - "energy": 15000.0, + { + "target_prefab": "ItemKitMusicMachines", + "target_prefab_hash": -2038889137, + "tier": "TierOne", + "time": 10.0, + "energy": 1000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30648,19 +32957,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 5, + "count_types": 2, "reagents": { - "Constantan": 5.0, - "Copper": 15.0, - "Gold": 10.0, - "Solder": 10.0, - "Steel": 25.0 + "Copper": 2.0, + "Gold": 2.0 } }, - "ItemKitBattery": { + { + "target_prefab": "ItemKitLogicTransmitter", + "target_prefab_hash": 1005397063, "tier": "TierOne", - "time": 120.0, - "energy": 12000.0, + "time": 10.0, + "energy": 1000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30677,17 +32985,20 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 4, "reagents": { - "Copper": 20.0, - "Gold": 20.0, - "Steel": 20.0 + "Copper": 1.0, + "Electrum": 3.0, + "Gold": 2.0, + "Silicon": 5.0 } }, - "ItemKitBatteryLarge": { - "tier": "TierTwo", - "time": 240.0, - "energy": 96000.0, + { + "target_prefab": "ItemKitLogicSwitch", + "target_prefab_hash": 124499454, + "tier": "TierOne", + "time": 10.0, + "energy": 1000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30704,20 +33015,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 6, + "count_types": 2, "reagents": { - "Copper": 35.0, - "Electrum": 10.0, - "Gold": 35.0, - "Silicon": 5.0, - "Steel": 35.0, - "Stellite": 2.0 + "Copper": 1.0, + "Gold": 1.0 } }, - "ItemKitBeacon": { + { + "target_prefab": "ItemIntegratedCircuit10", + "target_prefab_hash": -744098481, "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + "time": 40.0, + "energy": 4000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30736,16 +33045,18 @@ export default { }, "count_types": 4, "reagents": { - "Copper": 2.0, - "Gold": 4.0, + "Electrum": 5.0, + "Gold": 10.0, "Solder": 2.0, - "Steel": 5.0 + "Steel": 4.0 } }, - "ItemKitComputer": { + { + "target_prefab": "ItemKitLogicCircuit", + "target_prefab_hash": 1512322581, "tier": "TierOne", - "time": 60.0, - "energy": 6000.0, + "time": 40.0, + "energy": 2000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30765,14 +33076,16 @@ export default { "count_types": 3, "reagents": { "Copper": 10.0, - "Gold": 5.0, - "Iron": 5.0 + "Solder": 2.0, + "Steel": 4.0 } }, - "ItemKitConsole": { + { + "target_prefab": "ItemPowerConnector", + "target_prefab_hash": 839924019, "tier": "TierOne", - "time": 5.0, - "energy": 100.0, + "time": 1.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30793,13 +33106,15 @@ export default { "reagents": { "Copper": 5.0, "Gold": 3.0, - "Iron": 2.0 + "Iron": 10.0 } }, - "ItemKitDynamicGenerator": { + { + "target_prefab": "ItemKitPressurePlate", + "target_prefab_hash": 123504691, "tier": "TierOne", - "time": 120.0, - "energy": 5000.0, + "time": 10.0, + "energy": 1000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30816,18 +33131,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 2, "reagents": { - "Gold": 15.0, - "Nickel": 15.0, - "Solder": 5.0, - "Steel": 20.0 + "Copper": 2.0, + "Gold": 2.0 } }, - "ItemKitElevator": { + { + "target_prefab": "ItemKitSolidGenerator", + "target_prefab_hash": 1293995736, "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + "time": 120.0, + "energy": 1000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30844,18 +33159,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 2, "reagents": { - "Copper": 2.0, - "Gold": 4.0, - "Solder": 2.0, - "Steel": 2.0 + "Copper": 10.0, + "Iron": 50.0 } }, - "ItemKitFridgeBig": { + { + "target_prefab": "ItemKitGasGenerator", + "target_prefab_hash": 377745425, "tier": "TierOne", - "time": 10.0, - "energy": 100.0, + "time": 120.0, + "energy": 1000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30872,18 +33187,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 2, "reagents": { "Copper": 10.0, - "Gold": 5.0, - "Iron": 20.0, - "Steel": 15.0 + "Iron": 50.0 } }, - "ItemKitFridgeSmall": { + { + "target_prefab": "ItemKitSensor", + "target_prefab_hash": -1776897113, "tier": "TierOne", "time": 10.0, - "energy": 100.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30902,15 +33217,17 @@ export default { }, "count_types": 3, "reagents": { - "Copper": 5.0, - "Gold": 2.0, - "Iron": 10.0 + "Copper": 1.0, + "Gold": 1.0, + "Iron": 3.0 } }, - "ItemKitGasGenerator": { + { + "target_prefab": "ItemElectronicParts", + "target_prefab_hash": 731250882, "tier": "TierOne", - "time": 120.0, - "energy": 1000.0, + "time": 5.0, + "energy": 10.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30927,16 +33244,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Copper": 10.0, - "Iron": 50.0 + "Copper": 3.0, + "Gold": 2.0, + "Iron": 3.0 } }, - "ItemKitGroundTelescope": { + { + "target_prefab": "ItemKitResearchMachine", + "target_prefab_hash": 724776762, "tier": "TierOne", - "time": 150.0, - "energy": 24000.0, + "time": 5.0, + "energy": 10.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30955,15 +33275,17 @@ export default { }, "count_types": 3, "reagents": { - "Electrum": 15.0, - "Solder": 10.0, - "Steel": 25.0 + "Copper": 3.0, + "Gold": 2.0, + "Iron": 9.0 } }, - "ItemKitGrowLight": { + { + "target_prefab": "ItemKitWeatherStation", + "target_prefab_hash": 337505889, "tier": "TierOne", - "time": 30.0, - "energy": 500.0, + "time": 60.0, + "energy": 12000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -30980,17 +33302,20 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 4, "reagents": { "Copper": 5.0, - "Electrum": 10.0, - "Steel": 5.0 + "Gold": 3.0, + "Iron": 8.0, + "Steel": 3.0 } }, - "ItemKitHarvie": { + { + "target_prefab": "ItemResearchCapsuleRed", + "target_prefab_hash": 954947943, "tier": "TierOne", - "time": 60.0, - "energy": 500.0, + "time": 8.0, + "energy": 50.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31007,19 +33332,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 5, + "count_types": 3, "reagents": { - "Copper": 15.0, - "Electrum": 10.0, - "Silicon": 5.0, - "Solder": 5.0, - "Steel": 10.0 + "Copper": 3.0, + "Gold": 2.0, + "Iron": 2.0 } }, - "ItemKitHorizontalAutoMiner": { - "tier": "TierTwo", - "time": 60.0, - "energy": 60000.0, + { + "target_prefab": "ItemResearchCapsule", + "target_prefab_hash": 819096942, + "tier": "TierOne", + "time": 3.0, + "energy": 400.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31036,19 +33361,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 5, + "count_types": 3, "reagents": { - "Copper": 7.0, - "Electrum": 25.0, - "Invar": 15.0, - "Iron": 8.0, - "Steel": 60.0 + "Copper": 3.0, + "Gold": 2.0, + "Iron": 9.0 } }, - "ItemKitHydroponicStation": { + { + "target_prefab": "ItemResearchCapsuleGreen", + "target_prefab_hash": -1352732550, "tier": "TierOne", - "time": 120.0, - "energy": 500.0, + "time": 5.0, + "energy": 10.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31067,15 +33392,17 @@ export default { }, "count_types": 4, "reagents": { - "Copper": 20.0, - "Gold": 5.0, - "Nickel": 5.0, - "Steel": 10.0 + "Astroloy": 2.0, + "Copper": 3.0, + "Gold": 2.0, + "Iron": 9.0 } }, - "ItemKitLandingPadAtmos": { + { + "target_prefab": "ItemResearchCapsuleYellow", + "target_prefab_hash": 750952701, "tier": "TierOne", - "time": 10.0, + "time": 5.0, "energy": 1000.0, "temperature": { "start": 1.0, @@ -31093,15 +33420,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 4, "reagents": { - "Copper": 1.0, - "Steel": 5.0 + "Astroloy": 3.0, + "Copper": 3.0, + "Gold": 2.0, + "Iron": 9.0 } }, - "ItemKitLandingPadBasic": { + { + "target_prefab": "ItemKitSolarPanelBasic", + "target_prefab_hash": 844961456, "tier": "TierOne", - "time": 10.0, + "time": 30.0, "energy": 1000.0, "temperature": { "start": 1.0, @@ -31119,16 +33450,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Copper": 1.0, - "Steel": 5.0 + "Copper": 10.0, + "Gold": 2.0, + "Iron": 10.0 } }, - "ItemKitLandingPadWaypoint": { + { + "target_prefab": "ItemKitSolarPanel", + "target_prefab_hash": -1924492105, "tier": "TierOne", - "time": 10.0, - "energy": 1000.0, + "time": 60.0, + "energy": 6000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31145,16 +33479,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Copper": 1.0, - "Steel": 5.0 + "Copper": 20.0, + "Gold": 5.0, + "Steel": 15.0 } }, - "ItemKitLargeSatelliteDish": { + { + "target_prefab": "ItemKitStirlingEngine", + "target_prefab_hash": -1821571150, "tier": "TierOne", - "time": 240.0, - "energy": 72000.0, + "time": 60.0, + "energy": 6000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31173,15 +33510,17 @@ export default { }, "count_types": 3, "reagents": { - "Astroloy": 100.0, - "Inconel": 50.0, - "Waspaloy": 20.0 + "Copper": 20.0, + "Gold": 5.0, + "Steel": 30.0 } }, - "ItemKitLinearRail": { - "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + { + "target_prefab": "ItemKitSolarPanelBasicReinforced", + "target_prefab_hash": -528695432, + "tier": "TierTwo", + "time": 120.0, + "energy": 24000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31198,15 +33537,20 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 4, "reagents": { - "Steel": 3.0 + "Copper": 10.0, + "Electrum": 2.0, + "Invar": 10.0, + "Steel": 10.0 } }, - "ItemKitLogicCircuit": { - "tier": "TierOne", - "time": 40.0, - "energy": 2000.0, + { + "target_prefab": "ItemKitSolarPanelReinforced", + "target_prefab_hash": -364868685, + "tier": "TierTwo", + "time": 120.0, + "energy": 24000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31223,17 +33567,20 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 4, "reagents": { - "Copper": 10.0, - "Solder": 2.0, - "Steel": 4.0 + "Astroloy": 15.0, + "Copper": 20.0, + "Electrum": 5.0, + "Steel": 10.0 } }, - "ItemKitLogicInputOutput": { + { + "target_prefab": "PortableSolarPanel", + "target_prefab_hash": 2043318949, "tier": "TierOne", - "time": 10.0, - "energy": 1000.0, + "time": 5.0, + "energy": 200.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31250,16 +33597,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Copper": 1.0, - "Gold": 1.0 + "Copper": 5.0, + "Gold": 3.0, + "Iron": 5.0 } }, - "ItemKitLogicMemory": { + { + "target_prefab": "ItemKitTransformer", + "target_prefab_hash": -453039435, "tier": "TierOne", - "time": 10.0, - "energy": 1000.0, + "time": 60.0, + "energy": 12000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31278,14 +33628,16 @@ export default { }, "count_types": 2, "reagents": { - "Copper": 1.0, - "Gold": 1.0 + "Electrum": 5.0, + "Steel": 10.0 } }, - "ItemKitLogicProcessor": { + { + "target_prefab": "ItemKitTransformerSmall", + "target_prefab_hash": 665194284, "tier": "TierOne", - "time": 10.0, - "energy": 1000.0, + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31302,16 +33654,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Copper": 2.0, - "Gold": 2.0 + "Copper": 3.0, + "Gold": 1.0, + "Iron": 10.0 } }, - "ItemKitLogicSwitch": { + { + "target_prefab": "ItemTablet", + "target_prefab_hash": -229808600, "tier": "TierOne", - "time": 10.0, - "energy": 1000.0, + "time": 5.0, + "energy": 100.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31328,16 +33683,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Copper": 1.0, - "Gold": 1.0 + "Copper": 3.0, + "Gold": 2.0, + "Solder": 5.0 } }, - "ItemKitLogicTransmitter": { - "tier": "TierOne", - "time": 10.0, - "energy": 1000.0, + { + "target_prefab": "ItemAdvancedTablet", + "target_prefab_hash": 1722785341, + "tier": "TierTwo", + "time": 60.0, + "energy": 12000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31354,18 +33712,22 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 6, "reagents": { - "Copper": 1.0, - "Electrum": 3.0, - "Gold": 2.0, - "Silicon": 5.0 + "Copper": 5.5, + "Electrum": 1.0, + "Gold": 12.0, + "Iron": 3.0, + "Solder": 5.0, + "Steel": 2.0 } }, - "ItemKitMusicMachines": { - "tier": "TierOne", - "time": 10.0, - "energy": 1000.0, + { + "target_prefab": "ItemLaptop", + "target_prefab_hash": 141535121, + "tier": "TierTwo", + "time": 60.0, + "energy": 18000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31382,16 +33744,21 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 5, "reagents": { - "Copper": 2.0, - "Gold": 2.0 + "Copper": 5.5, + "Electrum": 5.0, + "Gold": 12.0, + "Solder": 5.0, + "Steel": 2.0 } }, - "ItemKitPowerTransmitter": { + { + "target_prefab": "ItemWallLight", + "target_prefab_hash": 1108423476, "tier": "TierOne", - "time": 20.0, - "energy": 500.0, + "time": 5.0, + "energy": 10.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31408,16 +33775,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Copper": 7.0, - "Gold": 5.0, - "Steel": 3.0 + "Copper": 2.0, + "Iron": 1.0 } }, - "ItemKitPowerTransmitterOmni": { + { + "target_prefab": "MotherboardLogic", + "target_prefab_hash": 502555944, "tier": "TierOne", - "time": 20.0, + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -31435,17 +33803,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Copper": 8.0, - "Gold": 4.0, - "Steel": 4.0 + "Copper": 5.0, + "Gold": 5.0 } }, - "ItemKitPressurePlate": { + { + "target_prefab": "MotherboardRockets", + "target_prefab_hash": -806986392, "tier": "TierOne", - "time": 10.0, - "energy": 1000.0, + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31464,14 +33833,16 @@ export default { }, "count_types": 2, "reagents": { - "Copper": 2.0, - "Gold": 2.0 + "Electrum": 5.0, + "Solder": 5.0 } }, - "ItemKitResearchMachine": { + { + "target_prefab": "MotherboardProgrammableChip", + "target_prefab_hash": -161107071, "tier": "TierOne", "time": 5.0, - "energy": 10.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31488,17 +33859,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Copper": 3.0, - "Gold": 2.0, - "Iron": 9.0 + "Copper": 5.0, + "Gold": 5.0 } }, - "ItemKitRoboticArm": { + { + "target_prefab": "MotherboardSorter", + "target_prefab_hash": -1908268220, "tier": "TierOne", - "time": 150.0, - "energy": 10000.0, + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31515,17 +33887,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Astroloy": 15.0, - "Hastelloy": 5.0, - "Inconel": 10.0 + "Gold": 5.0, + "Silver": 5.0 } }, - "ItemKitSatelliteDish": { + { + "target_prefab": "MotherboardComms", + "target_prefab_hash": -337075633, "tier": "TierOne", - "time": 120.0, - "energy": 24000.0, + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31542,16 +33915,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 4, "reagents": { - "Electrum": 15.0, - "Solder": 10.0, - "Steel": 20.0 + "Copper": 5.0, + "Electrum": 2.0, + "Gold": 5.0, + "Silver": 5.0 } }, - "ItemKitSensor": { + { + "target_prefab": "ItemKitBeacon", + "target_prefab_hash": 249073136, "tier": "TierOne", - "time": 10.0, + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -31569,17 +33945,20 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 4, "reagents": { - "Copper": 1.0, - "Gold": 1.0, - "Iron": 3.0 + "Copper": 2.0, + "Gold": 4.0, + "Solder": 2.0, + "Steel": 5.0 } }, - "ItemKitSmallSatelliteDish": { + { + "target_prefab": "ItemKitElevator", + "target_prefab_hash": -945806652, "tier": "TierOne", - "time": 60.0, - "energy": 6000.0, + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31596,16 +33975,20 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 4, "reagents": { - "Copper": 10.0, - "Gold": 5.0 + "Copper": 2.0, + "Gold": 4.0, + "Solder": 2.0, + "Steel": 2.0 } }, - "ItemKitSolarPanel": { + { + "target_prefab": "ItemKitHydroponicStation", + "target_prefab_hash": 2057179799, "tier": "TierOne", - "time": 60.0, - "energy": 6000.0, + "time": 120.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31622,17 +34005,20 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 4, "reagents": { "Copper": 20.0, "Gold": 5.0, - "Steel": 15.0 + "Nickel": 5.0, + "Steel": 10.0 } }, - "ItemKitSolarPanelBasic": { + { + "target_prefab": "ItemKitSmallSatelliteDish", + "target_prefab_hash": 1960952220, "tier": "TierOne", - "time": 30.0, - "energy": 1000.0, + "time": 60.0, + "energy": 6000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31649,15 +34035,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { "Copper": 10.0, - "Gold": 2.0, - "Iron": 10.0 + "Gold": 5.0 } }, - "ItemKitSolarPanelBasicReinforced": { - "tier": "TierTwo", + { + "target_prefab": "ItemKitSatelliteDish", + "target_prefab_hash": 178422810, + "tier": "TierOne", "time": 120.0, "energy": 24000.0, "temperature": { @@ -31676,18 +34063,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 3, "reagents": { - "Copper": 10.0, - "Electrum": 2.0, - "Invar": 10.0, - "Steel": 10.0 + "Electrum": 15.0, + "Solder": 10.0, + "Steel": 20.0 } }, - "ItemKitSolarPanelReinforced": { - "tier": "TierTwo", - "time": 120.0, - "energy": 24000.0, + { + "target_prefab": "ItemKitLargeSatelliteDish", + "target_prefab_hash": -2039971217, + "tier": "TierOne", + "time": 240.0, + "energy": 72000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31704,17 +34092,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 3, "reagents": { - "Astroloy": 15.0, - "Copper": 20.0, - "Electrum": 5.0, - "Steel": 10.0 + "Astroloy": 100.0, + "Inconel": 50.0, + "Waspaloy": 20.0 } }, - "ItemKitSolidGenerator": { + { + "target_prefab": "ItemKitLandingPadBasic", + "target_prefab_hash": 293581318, "tier": "TierOne", - "time": 120.0, + "time": 10.0, "energy": 1000.0, "temperature": { "start": 1.0, @@ -31734,11 +34123,13 @@ export default { }, "count_types": 2, "reagents": { - "Copper": 10.0, - "Iron": 50.0 + "Copper": 1.0, + "Steel": 5.0 } }, - "ItemKitSpeaker": { + { + "target_prefab": "ItemKitLandingPadAtmos", + "target_prefab_hash": 1817007843, "tier": "TierOne", "time": 10.0, "energy": 1000.0, @@ -31758,17 +34149,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { "Copper": 1.0, - "Gold": 1.0, "Steel": 5.0 } }, - "ItemKitStirlingEngine": { + { + "target_prefab": "ItemKitLandingPadWaypoint", + "target_prefab_hash": -1267511065, "tier": "TierOne", - "time": 60.0, - "energy": 6000.0, + "time": 10.0, + "energy": 1000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31785,17 +34177,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Copper": 20.0, - "Gold": 5.0, - "Steel": 30.0 + "Copper": 1.0, + "Steel": 5.0 } }, - "ItemKitTransformer": { + { + "target_prefab": "ItemKitHarvie", + "target_prefab_hash": -1022693454, "tier": "TierOne", "time": 60.0, - "energy": 12000.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31812,16 +34205,21 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 5, "reagents": { - "Electrum": 5.0, + "Copper": 15.0, + "Electrum": 10.0, + "Silicon": 5.0, + "Solder": 5.0, "Steel": 10.0 } }, - "ItemKitTransformerSmall": { + { + "target_prefab": "ItemKitDynamicGenerator", + "target_prefab_hash": -732720413, "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + "time": 120.0, + "energy": 5000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31838,17 +34236,20 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 4, "reagents": { - "Copper": 3.0, - "Gold": 1.0, - "Iron": 10.0 + "Gold": 15.0, + "Nickel": 15.0, + "Solder": 5.0, + "Steel": 20.0 } }, - "ItemKitTurbineGenerator": { + { + "target_prefab": "ItemKitVendingMachine", + "target_prefab_hash": -2038384332, "tier": "TierOne", "time": 60.0, - "energy": 6000.0, + "energy": 15000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31867,16 +34268,18 @@ export default { }, "count_types": 4, "reagents": { - "Copper": 2.0, - "Gold": 4.0, - "Iron": 5.0, - "Solder": 4.0 + "Electrum": 50.0, + "Gold": 50.0, + "Solder": 10.0, + "Steel": 20.0 } }, - "ItemKitUprightWindTurbine": { - "tier": "TierOne", + { + "target_prefab": "ItemKitVendingMachineRefrigerated", + "target_prefab_hash": -1867508561, + "tier": "TierTwo", "time": 60.0, - "energy": 12000.0, + "energy": 25000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31893,16 +34296,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 4, "reagents": { - "Copper": 10.0, - "Gold": 5.0, - "Iron": 10.0 + "Electrum": 80.0, + "Gold": 60.0, + "Solder": 30.0, + "Steel": 40.0 } }, - "ItemKitVendingMachine": { - "tier": "TierOne", - "time": 60.0, + { + "target_prefab": "ItemKitAutomatedOven", + "target_prefab_hash": -1931958659, + "tier": "TierTwo", + "time": 50.0, "energy": 15000.0, "temperature": { "start": 1.0, @@ -31920,18 +34326,109 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 5, "reagents": { - "Electrum": 50.0, - "Gold": 50.0, + "Constantan": 5.0, + "Copper": 15.0, + "Gold": 10.0, "Solder": 10.0, + "Steel": 25.0 + } + }, + { + "target_prefab": "ItemKitAdvancedPackagingMachine", + "target_prefab_hash": -598545233, + "tier": "TierTwo", + "time": 60.0, + "energy": 18000.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 4, + "reagents": { + "Constantan": 10.0, + "Copper": 10.0, + "Electrum": 15.0, "Steel": 20.0 } }, - "ItemKitVendingMachineRefrigerated": { + { + "target_prefab": "ItemKitAdvancedComposter", + "target_prefab_hash": -1431998347, "tier": "TierTwo", + "time": 55.0, + "energy": 20000.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 4, + "reagents": { + "Copper": 15.0, + "Electrum": 20.0, + "Solder": 5.0, + "Steel": 30.0 + } + }, + { + "target_prefab": "PortableComposter", + "target_prefab_hash": -1958705204, + "tier": "TierOne", + "time": 55.0, + "energy": 20000.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 2, + "reagents": { + "Copper": 15.0, + "Steel": 10.0 + } + }, + { + "target_prefab": "ItemKitTurbineGenerator", + "target_prefab_hash": -1590715731, + "tier": "TierOne", "time": 60.0, - "energy": 25000.0, + "energy": 6000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -31950,13 +34447,15 @@ export default { }, "count_types": 4, "reagents": { - "Electrum": 80.0, - "Gold": 60.0, - "Solder": 30.0, - "Steel": 40.0 + "Copper": 2.0, + "Gold": 4.0, + "Iron": 5.0, + "Solder": 4.0 } }, - "ItemKitWeatherStation": { + { + "target_prefab": "ItemKitUprightWindTurbine", + "target_prefab_hash": -1798044015, "tier": "TierOne", "time": 60.0, "energy": 12000.0, @@ -31976,15 +34475,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 3, "reagents": { - "Copper": 5.0, - "Gold": 3.0, - "Iron": 8.0, - "Steel": 3.0 + "Copper": 10.0, + "Gold": 5.0, + "Iron": 10.0 } }, - "ItemKitWindTurbine": { + { + "target_prefab": "ItemKitWindTurbine", + "target_prefab_hash": -868916503, "tier": "TierTwo", "time": 60.0, "energy": 12000.0, @@ -32011,7 +34511,9 @@ export default { "Steel": 20.0 } }, - "ItemLabeller": { + { + "target_prefab": "ItemLabeller", + "target_prefab_hash": -743968726, "tier": "TierOne", "time": 15.0, "energy": 800.0, @@ -32038,10 +34540,12 @@ export default { "Iron": 3.0 } }, - "ItemLaptop": { - "tier": "TierTwo", - "time": 60.0, - "energy": 18000.0, + { + "target_prefab": "ElectronicPrinterMod", + "target_prefab_hash": -311170652, + "tier": "TierOne", + "time": 180.0, + "energy": 72000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -32058,19 +34562,20 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 5, + "count_types": 4, "reagents": { - "Copper": 5.5, - "Electrum": 5.0, - "Gold": 12.0, - "Solder": 5.0, - "Steel": 2.0 + "Constantan": 8.0, + "Electrum": 8.0, + "Solder": 8.0, + "Steel": 35.0 } }, - "ItemPowerConnector": { - "tier": "TierOne", - "time": 1.0, - "energy": 500.0, + { + "target_prefab": "AutolathePrinterMod", + "target_prefab_hash": 221058307, + "tier": "TierTwo", + "time": 180.0, + "energy": 72000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -32087,17 +34592,20 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 4, "reagents": { - "Copper": 5.0, - "Gold": 3.0, - "Iron": 10.0 + "Constantan": 8.0, + "Electrum": 8.0, + "Solder": 8.0, + "Steel": 35.0 } }, - "ItemResearchCapsule": { - "tier": "TierOne", - "time": 3.0, - "energy": 400.0, + { + "target_prefab": "ToolPrinterMod", + "target_prefab_hash": 1700018136, + "tier": "TierTwo", + "time": 180.0, + "energy": 72000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -32114,17 +34622,20 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 4, "reagents": { - "Copper": 3.0, - "Gold": 2.0, - "Iron": 9.0 + "Constantan": 8.0, + "Electrum": 8.0, + "Solder": 8.0, + "Steel": 35.0 } }, - "ItemResearchCapsuleGreen": { - "tier": "TierOne", - "time": 5.0, - "energy": 10.0, + { + "target_prefab": "PipeBenderMod", + "target_prefab_hash": 443947415, + "tier": "TierTwo", + "time": 180.0, + "energy": 72000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -32143,16 +34654,50 @@ export default { }, "count_types": 4, "reagents": { - "Astroloy": 2.0, - "Copper": 3.0, - "Gold": 2.0, - "Iron": 9.0 + "Constantan": 8.0, + "Electrum": 8.0, + "Solder": 8.0, + "Steel": 35.0 + } + }, + { + "target_prefab": "ItemKitAdvancedFurnace", + "target_prefab_hash": -616758353, + "tier": "TierTwo", + "time": 180.0, + "energy": 36000.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 6, + "reagents": { + "Copper": 25.0, + "Electrum": 15.0, + "Gold": 5.0, + "Silicon": 6.0, + "Solder": 8.0, + "Steel": 30.0 } }, - "ItemResearchCapsuleRed": { + { + "target_prefab": "ApplianceMicrowave", + "target_prefab_hash": -1136173965, "tier": "TierOne", - "time": 8.0, - "energy": 50.0, + "time": 45.0, + "energy": 1500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -32171,15 +34716,17 @@ export default { }, "count_types": 3, "reagents": { - "Copper": 3.0, - "Gold": 2.0, - "Iron": 2.0 + "Copper": 2.0, + "Gold": 1.0, + "Iron": 5.0 } }, - "ItemResearchCapsuleYellow": { + { + "target_prefab": "ApplianceTabletDock", + "target_prefab_hash": 1853941363, "tier": "TierOne", - "time": 5.0, - "energy": 1000.0, + "time": 30.0, + "energy": 750.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -32198,16 +34745,18 @@ export default { }, "count_types": 4, "reagents": { - "Astroloy": 3.0, - "Copper": 3.0, - "Gold": 2.0, - "Iron": 9.0 + "Copper": 2.0, + "Gold": 1.0, + "Iron": 5.0, + "Silicon": 1.0 } }, - "ItemSoundCartridgeBass": { + { + "target_prefab": "AppliancePackagingMachine", + "target_prefab_hash": -749191906, "tier": "TierOne", - "time": 5.0, - "energy": 100.0, + "time": 30.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -32227,14 +34776,16 @@ export default { "count_types": 3, "reagents": { "Copper": 2.0, - "Gold": 2.0, - "Silicon": 2.0 + "Gold": 1.0, + "Iron": 10.0 } }, - "ItemSoundCartridgeDrums": { + { + "target_prefab": "ApplianceDeskLampRight", + "target_prefab_hash": 1174360780, "tier": "TierOne", - "time": 5.0, - "energy": 100.0, + "time": 10.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -32251,17 +34802,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Copper": 2.0, - "Gold": 2.0, - "Silicon": 2.0 + "Iron": 2.0, + "Silicon": 1.0 } }, - "ItemSoundCartridgeLeads": { + { + "target_prefab": "ApplianceDeskLampLeft", + "target_prefab_hash": -1683849799, "tier": "TierOne", - "time": 5.0, - "energy": 100.0, + "time": 10.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -32278,17 +34830,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Copper": 2.0, - "Gold": 2.0, - "Silicon": 2.0 + "Iron": 2.0, + "Silicon": 1.0 } }, - "ItemSoundCartridgeSynth": { + { + "target_prefab": "ApplianceReagentProcessor", + "target_prefab_hash": 1260918085, "tier": "TierOne", - "time": 5.0, - "energy": 100.0, + "time": 45.0, + "energy": 1500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -32308,14 +34861,16 @@ export default { "count_types": 3, "reagents": { "Copper": 2.0, - "Gold": 2.0, - "Silicon": 2.0 + "Gold": 1.0, + "Iron": 5.0 } }, - "ItemTablet": { + { + "target_prefab": "ApplianceChemistryStation", + "target_prefab_hash": 1365789392, "tier": "TierOne", - "time": 5.0, - "energy": 100.0, + "time": 45.0, + "energy": 1500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -32334,15 +34889,17 @@ export default { }, "count_types": 3, "reagents": { - "Copper": 3.0, - "Gold": 2.0, - "Solder": 5.0 + "Copper": 5.0, + "Gold": 1.0, + "Steel": 5.0 } }, - "ItemWallLight": { + { + "target_prefab": "AppliancePaintMixer", + "target_prefab_hash": -1339716113, "tier": "TierOne", - "time": 5.0, - "energy": 10.0, + "time": 45.0, + "energy": 1500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -32359,16 +34916,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Copper": 2.0, - "Iron": 1.0 + "Copper": 5.0, + "Gold": 1.0, + "Steel": 5.0 } }, - "MotherboardComms": { - "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + { + "target_prefab": "ItemKitAutoMinerSmall", + "target_prefab_hash": 1668815415, + "tier": "TierTwo", + "time": 90.0, + "energy": 9000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -32385,18 +34945,21 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 5, "reagents": { - "Copper": 5.0, - "Electrum": 2.0, - "Gold": 5.0, - "Silver": 5.0 + "Copper": 15.0, + "Electrum": 50.0, + "Invar": 25.0, + "Iron": 15.0, + "Steel": 100.0 } }, - "MotherboardLogic": { - "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + { + "target_prefab": "ItemKitHorizontalAutoMiner", + "target_prefab_hash": 844391171, + "tier": "TierTwo", + "time": 60.0, + "energy": 60000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -32413,16 +34976,21 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 5, "reagents": { - "Copper": 5.0, - "Gold": 5.0 + "Copper": 7.0, + "Electrum": 25.0, + "Invar": 15.0, + "Iron": 8.0, + "Steel": 60.0 } }, - "MotherboardProgrammableChip": { + { + "target_prefab": "ItemCreditCard", + "target_prefab_hash": -1756772618, "tier": "TierOne", "time": 5.0, - "energy": 500.0, + "energy": 200.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -32441,14 +35009,16 @@ export default { }, "count_types": 2, "reagents": { - "Copper": 5.0, - "Gold": 5.0 + "Copper": 2.0, + "Silicon": 5.0 } }, - "MotherboardRockets": { + { + "target_prefab": "AppliancePlantGeneticAnalyzer", + "target_prefab_hash": -1303038067, "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + "time": 45.0, + "energy": 4500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -32465,16 +35035,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Electrum": 5.0, - "Solder": 5.0 + "Copper": 5.0, + "Gold": 1.0, + "Steel": 5.0 } }, - "MotherboardSorter": { + { + "target_prefab": "AppliancePlantGeneticSplicer", + "target_prefab_hash": -1094868323, "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + "time": 50.0, + "energy": 5000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -32493,14 +35066,16 @@ export default { }, "count_types": 2, "reagents": { - "Gold": 5.0, - "Silver": 5.0 + "Inconel": 10.0, + "Stellite": 20.0 } }, - "PipeBenderMod": { - "tier": "TierTwo", - "time": 180.0, - "energy": 72000.0, + { + "target_prefab": "AppliancePlantGeneticStabilizer", + "target_prefab_hash": 871432335, + "tier": "TierOne", + "time": 50.0, + "energy": 5000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -32517,18 +35092,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 2, "reagents": { - "Constantan": 8.0, - "Electrum": 8.0, - "Solder": 8.0, - "Steel": 35.0 + "Inconel": 10.0, + "Stellite": 20.0 } }, - "PortableComposter": { + { + "target_prefab": "ItemKitGroundTelescope", + "target_prefab_hash": -2140672772, "tier": "TierOne", - "time": 55.0, - "energy": 20000.0, + "time": 150.0, + "energy": 24000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -32545,16 +35120,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Copper": 15.0, - "Steel": 10.0 + "Electrum": 15.0, + "Solder": 10.0, + "Steel": 25.0 } }, - "PortableSolarPanel": { + { + "target_prefab": "ItemKitLinearRail", + "target_prefab_hash": -441759975, "tier": "TierOne", "time": 5.0, - "energy": 200.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -32571,17 +35149,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Copper": 5.0, - "Gold": 3.0, - "Iron": 5.0 + "Steel": 3.0 } }, - "ToolPrinterMod": { - "tier": "TierTwo", - "time": 180.0, - "energy": 72000.0, + { + "target_prefab": "ItemKitRoboticArm", + "target_prefab_hash": -1228287398, + "tier": "TierOne", + "time": 150.0, + "energy": 10000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -32598,15 +35176,14 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 3, "reagents": { - "Constantan": 8.0, - "Electrum": 8.0, - "Solder": 8.0, - "Steel": 35.0 + "Astroloy": 15.0, + "Hastelloy": 5.0, + "Inconel": 10.0 } } - } + ] }, "memory": { "instructions": { @@ -32988,7 +35565,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -33049,7 +35626,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -33098,7 +35675,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -33152,7 +35729,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -33204,7 +35781,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -33294,7 +35871,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -33354,7 +35931,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -33506,20 +36083,29 @@ export default { "wireless_logic": false, "circuit_holder": true }, - "slots": [ - { - "name": "Gas Filter", - "typ": "GasFilter" + "slots": { + "0": { + "Direct": { + "name": "Gas Filter", + "class": "GasFilter", + "index": 0 + } }, - { - "name": "Gas Filter", - "typ": "GasFilter" + "1": { + "Direct": { + "name": "Gas Filter", + "class": "GasFilter", + "index": 1 + } }, - { - "name": "Programmable Chip", - "typ": "ProgrammableChip" + "2": { + "Direct": { + "name": "Programmable Chip", + "class": "ProgrammableChip", + "index": 2 + } } - ], + }, "device": { "connection_list": [ { @@ -33592,7 +36178,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -33644,12 +36230,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Seat", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Seat", + "class": "Entity", + "index": 0 + } } - ], + }, "device": { "connection_list": [], "has_activate_state": false, @@ -33776,155 +36365,359 @@ export default { "PrefabHash": "Read", "SortingClass": "Read", "ReferenceId": "Read" - }, - "2": { - "Occupied": "Read", - "OccupantHash": "Read", - "Quantity": "Read", - "Damage": "Read", - "Class": "Read", - "MaxQuantity": "Read", - "PrefabHash": "Read", - "SortingClass": "Read", - "ReferenceId": "Read" - }, - "3": { - "Occupied": "Read", - "OccupantHash": "Read", - "Quantity": "Read", - "Damage": "Read", - "Class": "Read", - "MaxQuantity": "Read", - "PrefabHash": "Read", - "SortingClass": "Read", - "ReferenceId": "Read" - }, - "4": { - "Occupied": "Read", - "OccupantHash": "Read", - "Quantity": "Read", - "Damage": "Read", - "Class": "Read", - "MaxQuantity": "Read", - "PrefabHash": "Read", - "SortingClass": "Read", - "ReferenceId": "Read" - }, - "5": { - "Occupied": "Read", - "OccupantHash": "Read", - "Quantity": "Read", - "Damage": "Read", - "Class": "Read", - "MaxQuantity": "Read", - "PrefabHash": "Read", - "SortingClass": "Read", - "ReferenceId": "Read" - }, - "6": { - "Occupied": "Read", - "OccupantHash": "Read", - "Quantity": "Read", - "Damage": "Read", - "Class": "Read", - "MaxQuantity": "Read", - "PrefabHash": "Read", - "SortingClass": "Read", - "ReferenceId": "Read" - }, - "7": { - "Occupied": "Read", - "OccupantHash": "Read", - "Quantity": "Read", - "Damage": "Read", - "Class": "Read", - "MaxQuantity": "Read", - "PrefabHash": "Read", - "SortingClass": "Read", - "ReferenceId": "Read" - }, - "8": { - "Occupied": "Read", - "OccupantHash": "Read", - "Quantity": "Read", - "Damage": "Read", - "Class": "Read", - "MaxQuantity": "Read", - "PrefabHash": "Read", - "SortingClass": "Read", - "ReferenceId": "Read" - }, - "9": { - "Occupied": "Read", - "OccupantHash": "Read", - "Quantity": "Read", - "Damage": "Read", - "Class": "Read", - "MaxQuantity": "Read", - "PrefabHash": "Read", - "SortingClass": "Read", - "ReferenceId": "Read" - }, - "10": { - "Occupied": "Read", - "OccupantHash": "Read", - "Quantity": "Read", - "Damage": "Read", - "Class": "Read", - "MaxQuantity": "Read", - "PrefabHash": "Read", - "SortingClass": "Read", - "ReferenceId": "Read" - }, - "11": { - "Occupied": "Read", - "OccupantHash": "Read", - "Quantity": "Read", - "Damage": "Read", - "Class": "Read", - "MaxQuantity": "Read", - "PrefabHash": "Read", - "SortingClass": "Read", - "ReferenceId": "Read" - }, - "12": { - "Occupied": "Read", - "OccupantHash": "Read", - "Quantity": "Read", - "Damage": "Read", - "Class": "Read", - "MaxQuantity": "Read", - "PrefabHash": "Read", - "SortingClass": "Read", - "ReferenceId": "Read" - }, - "13": { - "Occupied": "Read", - "OccupantHash": "Read", - "Quantity": "Read", - "Damage": "Read", - "Class": "Read", - "MaxQuantity": "Read", - "PrefabHash": "Read", - "SortingClass": "Read", - "ReferenceId": "Read" - }, - "14": { - "Occupied": "Read", - "OccupantHash": "Read", - "Quantity": "Read", - "Damage": "Read", - "Class": "Read", - "MaxQuantity": "Read", - "PrefabHash": "Read", - "SortingClass": "Read", - "ReferenceId": "Read" + }, + "2": { + "Occupied": "Read", + "OccupantHash": "Read", + "Quantity": "Read", + "Damage": "Read", + "Class": "Read", + "MaxQuantity": "Read", + "PrefabHash": "Read", + "SortingClass": "Read", + "ReferenceId": "Read" + }, + "3": { + "Occupied": "Read", + "OccupantHash": "Read", + "Quantity": "Read", + "Damage": "Read", + "Class": "Read", + "MaxQuantity": "Read", + "PrefabHash": "Read", + "SortingClass": "Read", + "ReferenceId": "Read" + }, + "4": { + "Occupied": "Read", + "OccupantHash": "Read", + "Quantity": "Read", + "Damage": "Read", + "Class": "Read", + "MaxQuantity": "Read", + "PrefabHash": "Read", + "SortingClass": "Read", + "ReferenceId": "Read" + }, + "5": { + "Occupied": "Read", + "OccupantHash": "Read", + "Quantity": "Read", + "Damage": "Read", + "Class": "Read", + "MaxQuantity": "Read", + "PrefabHash": "Read", + "SortingClass": "Read", + "ReferenceId": "Read" + }, + "6": { + "Occupied": "Read", + "OccupantHash": "Read", + "Quantity": "Read", + "Damage": "Read", + "Class": "Read", + "MaxQuantity": "Read", + "PrefabHash": "Read", + "SortingClass": "Read", + "ReferenceId": "Read" + }, + "7": { + "Occupied": "Read", + "OccupantHash": "Read", + "Quantity": "Read", + "Damage": "Read", + "Class": "Read", + "MaxQuantity": "Read", + "PrefabHash": "Read", + "SortingClass": "Read", + "ReferenceId": "Read" + }, + "8": { + "Occupied": "Read", + "OccupantHash": "Read", + "Quantity": "Read", + "Damage": "Read", + "Class": "Read", + "MaxQuantity": "Read", + "PrefabHash": "Read", + "SortingClass": "Read", + "ReferenceId": "Read" + }, + "9": { + "Occupied": "Read", + "OccupantHash": "Read", + "Quantity": "Read", + "Damage": "Read", + "Class": "Read", + "MaxQuantity": "Read", + "PrefabHash": "Read", + "SortingClass": "Read", + "ReferenceId": "Read" + }, + "10": { + "Occupied": "Read", + "OccupantHash": "Read", + "Quantity": "Read", + "Damage": "Read", + "Class": "Read", + "MaxQuantity": "Read", + "PrefabHash": "Read", + "SortingClass": "Read", + "ReferenceId": "Read" + }, + "11": { + "Occupied": "Read", + "OccupantHash": "Read", + "Quantity": "Read", + "Damage": "Read", + "Class": "Read", + "MaxQuantity": "Read", + "PrefabHash": "Read", + "SortingClass": "Read", + "ReferenceId": "Read" + }, + "12": { + "Occupied": "Read", + "OccupantHash": "Read", + "Quantity": "Read", + "Damage": "Read", + "Class": "Read", + "MaxQuantity": "Read", + "PrefabHash": "Read", + "SortingClass": "Read", + "ReferenceId": "Read" + }, + "13": { + "Occupied": "Read", + "OccupantHash": "Read", + "Quantity": "Read", + "Damage": "Read", + "Class": "Read", + "MaxQuantity": "Read", + "PrefabHash": "Read", + "SortingClass": "Read", + "ReferenceId": "Read" + }, + "14": { + "Occupied": "Read", + "OccupantHash": "Read", + "Quantity": "Read", + "Damage": "Read", + "Class": "Read", + "MaxQuantity": "Read", + "PrefabHash": "Read", + "SortingClass": "Read", + "ReferenceId": "Read" + } + }, + "logic_types": { + "Power": "Read", + "Open": "ReadWrite", + "Error": "Read", + "Pressure": "Read", + "Temperature": "Read", + "Setting": "ReadWrite", + "RatioOxygen": "Read", + "RatioCarbonDioxide": "Read", + "RatioNitrogen": "Read", + "RatioPollutant": "Read", + "RatioVolatiles": "Read", + "RatioWater": "Read", + "Maximum": "Read", + "Ratio": "Read", + "On": "ReadWrite", + "RequiredPower": "Read", + "TotalMoles": "Read", + "RatioNitrousOxide": "Read", + "PrefabHash": "Read", + "Combustion": "Read", + "RatioLiquidNitrogen": "Read", + "RatioLiquidOxygen": "Read", + "RatioLiquidVolatiles": "Read", + "RatioSteam": "Read", + "RatioLiquidCarbonDioxide": "Read", + "RatioLiquidPollutant": "Read", + "RatioLiquidNitrousOxide": "Read", + "ReferenceId": "Read", + "RatioHydrogen": "Read", + "RatioLiquidHydrogen": "Read", + "RatioPollutedWater": "Read", + "NameHash": "Read" + }, + "transmission_receiver": false, + "wireless_logic": false, + "circuit_holder": false + }, + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } + }, + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } + }, + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } + }, + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } + }, + "4": { + "Direct": { + "name": "", + "class": "None", + "index": 4 + } + }, + "5": { + "Direct": { + "name": "", + "class": "None", + "index": 5 + } + }, + "6": { + "Direct": { + "name": "", + "class": "None", + "index": 6 + } + }, + "7": { + "Direct": { + "name": "", + "class": "None", + "index": 7 + } + }, + "8": { + "Direct": { + "name": "", + "class": "None", + "index": 8 + } + }, + "9": { + "Direct": { + "name": "", + "class": "None", + "index": 9 + } + }, + "10": { + "Direct": { + "name": "", + "class": "None", + "index": 10 + } + }, + "11": { + "Direct": { + "name": "", + "class": "None", + "index": 11 + } + }, + "12": { + "Direct": { + "name": "", + "class": "None", + "index": 12 + } + }, + "13": { + "Direct": { + "name": "", + "class": "None", + "index": 13 + } + }, + "14": { + "Direct": { + "name": "", + "class": "None", + "index": 14 + } + } + }, + "device": { + "connection_list": [ + { + "typ": "Data", + "role": "None" + }, + { + "typ": "Power", + "role": "None" + } + ], + "has_activate_state": false, + "has_atmosphere": true, + "has_color_state": false, + "has_lock_state": false, + "has_mode_state": false, + "has_on_off_state": true, + "has_open_state": true, + "has_reagents": false + } + }, + "StructureFridgeSmall": { + "templateType": "StructureLogicDevice", + "prefab": { + "prefab_name": "StructureFridgeSmall", + "prefab_hash": 751887598, + "desc": "Essentially a heavily insulated box that allows users to pipe in any desired atmosphere, the Recurso Minibar fridge was a simple solution to the problem of food decay. It stores a small number of items, at any temperature you can muster.\n \n For more information about food preservation, visit the food decay section of the Stationpedia.", + "name": "Fridge Small" + }, + "structure": { + "small_grid": true + }, + "thermal_info": { + "convection_factor": 0.0, + "radiation_factor": 0.0 + }, + "logic": { + "logic_slot_types": { + "0": { + "Occupied": "Read", + "OccupantHash": "Read", + "Quantity": "Read", + "Damage": "Read", + "Class": "Read", + "MaxQuantity": "Read", + "PrefabHash": "Read", + "SortingClass": "Read", + "ReferenceId": "Read" + }, + "1": { + "Occupied": "Read", + "OccupantHash": "Read", + "Quantity": "Read", + "Damage": "Read", + "Class": "Read", + "MaxQuantity": "Read", + "PrefabHash": "Read", + "SortingClass": "Read", + "ReferenceId": "Read" } }, "logic_types": { - "Power": "Read", "Open": "ReadWrite", - "Error": "Read", "Pressure": "Read", "Temperature": "Read", "Setting": "ReadWrite", @@ -33936,8 +36729,6 @@ export default { "RatioWater": "Read", "Maximum": "Read", "Ratio": "Read", - "On": "ReadWrite", - "RequiredPower": "Read", "TotalMoles": "Read", "RatioNitrousOxide": "Read", "PrefabHash": "Read", @@ -33959,173 +36750,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "", - "typ": "None" - }, - { - "name": "", - "typ": "None" - }, - { - "name": "", - "typ": "None" - }, - { - "name": "", - "typ": "None" - }, - { - "name": "", - "typ": "None" - }, - { - "name": "", - "typ": "None" - }, - { - "name": "", - "typ": "None" - }, - { - "name": "", - "typ": "None" - }, - { - "name": "", - "typ": "None" - }, - { - "name": "", - "typ": "None" - }, - { - "name": "", - "typ": "None" - }, - { - "name": "", - "typ": "None" - }, - { - "name": "", - "typ": "None" - }, - { - "name": "", - "typ": "None" - }, - { - "name": "", - "typ": "None" - } - ], - "device": { - "connection_list": [ - { - "typ": "Data", - "role": "None" - }, - { - "typ": "Power", - "role": "None" - } - ], - "has_activate_state": false, - "has_atmosphere": true, - "has_color_state": false, - "has_lock_state": false, - "has_mode_state": false, - "has_on_off_state": true, - "has_open_state": true, - "has_reagents": false - } - }, - "StructureFridgeSmall": { - "templateType": "StructureLogicDevice", - "prefab": { - "prefab_name": "StructureFridgeSmall", - "prefab_hash": 751887598, - "desc": "Essentially a heavily insulated box that allows users to pipe in any desired atmosphere, the Recurso Minibar fridge was a simple solution to the problem of food decay. It stores a small number of items, at any temperature you can muster.\n \n For more information about food preservation, visit the food decay section of the Stationpedia.", - "name": "Fridge Small" - }, - "structure": { - "small_grid": true - }, - "thermal_info": { - "convection_factor": 0.0, - "radiation_factor": 0.0 - }, - "logic": { - "logic_slot_types": { - "0": { - "Occupied": "Read", - "OccupantHash": "Read", - "Quantity": "Read", - "Damage": "Read", - "Class": "Read", - "MaxQuantity": "Read", - "PrefabHash": "Read", - "SortingClass": "Read", - "ReferenceId": "Read" - }, - "1": { - "Occupied": "Read", - "OccupantHash": "Read", - "Quantity": "Read", - "Damage": "Read", - "Class": "Read", - "MaxQuantity": "Read", - "PrefabHash": "Read", - "SortingClass": "Read", - "ReferenceId": "Read" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 } }, - "logic_types": { - "Open": "ReadWrite", - "Pressure": "Read", - "Temperature": "Read", - "Setting": "ReadWrite", - "RatioOxygen": "Read", - "RatioCarbonDioxide": "Read", - "RatioNitrogen": "Read", - "RatioPollutant": "Read", - "RatioVolatiles": "Read", - "RatioWater": "Read", - "Maximum": "Read", - "Ratio": "Read", - "TotalMoles": "Read", - "RatioNitrousOxide": "Read", - "PrefabHash": "Read", - "Combustion": "Read", - "RatioLiquidNitrogen": "Read", - "RatioLiquidOxygen": "Read", - "RatioLiquidVolatiles": "Read", - "RatioSteam": "Read", - "RatioLiquidCarbonDioxide": "Read", - "RatioLiquidPollutant": "Read", - "RatioLiquidNitrousOxide": "Read", - "ReferenceId": "Read", - "RatioHydrogen": "Read", - "RatioLiquidHydrogen": "Read", - "RatioPollutedWater": "Read", - "NameHash": "Read" - }, - "transmission_receiver": false, - "wireless_logic": false, - "circuit_holder": false - }, - "slots": [ - { - "name": "", - "typ": "None" - }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -34209,16 +36849,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "None", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -34359,7 +37005,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -34419,7 +37065,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -34491,7 +37137,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -34557,12 +37203,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Gas Canister", - "typ": "GasCanister" + "slots": { + "0": { + "Direct": { + "name": "Gas Canister", + "class": "GasCanister", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -34609,7 +37258,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -34652,7 +37301,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -34707,7 +37356,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -34763,7 +37412,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -34834,7 +37483,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -34899,7 +37548,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -34947,7 +37596,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -35043,20 +37692,29 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "Plant" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "Plant", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } }, - { - "name": "Hand", - "typ": "None" + "2": { + "Direct": { + "name": "Hand", + "class": "None", + "index": 2 + } } - ], + }, "device": { "connection_list": [ { @@ -35107,7 +37765,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -35162,7 +37820,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -35217,7 +37875,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -35286,16 +37944,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "None", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -35363,16 +38027,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "Ingot" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "Ingot", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -35427,10 +38097,126 @@ export default { }, "fabricator_info": { "tier": "Undefined", - "recipes": { - "ApplianceSeedTray": { + "recipes": [ + { + "target_prefab": "ItemKitDynamicCanister", + "target_prefab_hash": -1061945368, "tier": "TierOne", - "time": 10.0, + "time": 20.0, + "energy": 1000.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 1, + "reagents": { + "Iron": 20.0 + } + }, + { + "target_prefab": "ItemKitDynamicGasTankAdvanced", + "target_prefab_hash": 1533501495, + "tier": "TierTwo", + "time": 40.0, + "energy": 2000.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 4, + "reagents": { + "Copper": 5.0, + "Iron": 20.0, + "Silicon": 5.0, + "Steel": 15.0 + } + }, + { + "target_prefab": "ItemKitDynamicLiquidCanister", + "target_prefab_hash": 375541286, + "tier": "TierOne", + "time": 20.0, + "energy": 1000.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 1, + "reagents": { + "Iron": 20.0 + } + }, + { + "target_prefab": "ItemKitDynamicMKIILiquidCanister", + "target_prefab_hash": -638019974, + "tier": "TierTwo", + "time": 40.0, + "energy": 2000.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 4, + "reagents": { + "Copper": 5.0, + "Iron": 20.0, + "Silicon": 5.0, + "Steel": 15.0 + } + }, + { + "target_prefab": "ItemActiveVent", + "target_prefab_hash": -842048328, + "tier": "TierOne", + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -35451,11 +38237,13 @@ export default { "count_types": 3, "reagents": { "Copper": 5.0, - "Iron": 10.0, - "Silicon": 15.0 + "Gold": 1.0, + "Iron": 5.0 } }, - "ItemActiveVent": { + { + "target_prefab": "ItemGasCanisterEmpty", + "target_prefab_hash": 42280099, "tier": "TierOne", "time": 5.0, "energy": 500.0, @@ -35475,17 +38263,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Copper": 5.0, - "Gold": 1.0, "Iron": 5.0 } }, - "ItemAdhesiveInsulation": { + { + "target_prefab": "ItemKitWaterBottleFiller", + "target_prefab_hash": 159886536, "tier": "TierOne", - "time": 2.0, - "energy": 200.0, + "time": 7.0, + "energy": 620.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -35502,16 +38290,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Silicon": 1.0, - "Steel": 0.5 + "Copper": 3.0, + "Iron": 5.0, + "Silicon": 8.0 } }, - "ItemDynamicAirCon": { + { + "target_prefab": "ItemKitDrinkingFountain", + "target_prefab_hash": -1743663875, "tier": "TierOne", - "time": 60.0, - "energy": 5000.0, + "time": 20.0, + "energy": 620.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -35528,18 +38319,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 3, "reagents": { - "Gold": 5.0, - "Silver": 5.0, - "Solder": 5.0, - "Steel": 20.0 + "Copper": 3.0, + "Iron": 5.0, + "Silicon": 8.0 } }, - "ItemDynamicScrubber": { + { + "target_prefab": "ItemWaterBottle", + "target_prefab_hash": 107741229, "tier": "TierOne", - "time": 30.0, - "energy": 5000.0, + "time": 4.0, + "energy": 120.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -35556,18 +38348,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 2, "reagents": { - "Gold": 5.0, - "Invar": 5.0, - "Solder": 5.0, - "Steel": 20.0 + "Iron": 2.0, + "Silicon": 4.0 } }, - "ItemGasCanisterEmpty": { - "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + { + "target_prefab": "ItemGasCanisterSmart", + "target_prefab_hash": -668314371, + "tier": "TierTwo", + "time": 10.0, + "energy": 1000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -35584,12 +38376,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 3, "reagents": { - "Iron": 5.0 + "Copper": 2.0, + "Silicon": 2.0, + "Steel": 15.0 } }, - "ItemGasCanisterSmart": { + { + "target_prefab": "ItemLiquidCanisterSmart", + "target_prefab_hash": 777684475, "tier": "TierTwo", "time": 10.0, "energy": 1000.0, @@ -35616,7 +38412,9 @@ export default { "Steel": 15.0 } }, - "ItemGasFilterCarbonDioxide": { + { + "target_prefab": "ItemLiquidCanisterEmpty", + "target_prefab_hash": -185207387, "tier": "TierOne", "time": 5.0, "energy": 500.0, @@ -35641,10 +38439,12 @@ export default { "Iron": 5.0 } }, - "ItemGasFilterCarbonDioxideL": { - "tier": "TierTwo", - "time": 45.0, - "energy": 4000.0, + { + "target_prefab": "ItemKitSuitStorage", + "target_prefab_hash": 1088892825, + "tier": "TierOne", + "time": 30.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -35663,15 +38463,17 @@ export default { }, "count_types": 3, "reagents": { - "Invar": 1.0, - "Steel": 5.0, - "Stellite": 1.0 + "Copper": 5.0, + "Iron": 15.0, + "Silver": 5.0 } }, - "ItemGasFilterCarbonDioxideM": { + { + "target_prefab": "ItemGasFilterCarbonDioxide", + "target_prefab_hash": 1635000764, "tier": "TierOne", - "time": 20.0, - "energy": 2500.0, + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -35688,14 +38490,14 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Constantan": 1.0, - "Iron": 5.0, - "Silver": 5.0 + "Iron": 5.0 } }, - "ItemGasFilterNitrogen": { + { + "target_prefab": "ItemGasFilterPollutants", + "target_prefab_hash": 1915566057, "tier": "TierOne", "time": 5.0, "energy": 500.0, @@ -35720,10 +38522,12 @@ export default { "Iron": 5.0 } }, - "ItemGasFilterNitrogenL": { - "tier": "TierTwo", - "time": 45.0, - "energy": 4000.0, + { + "target_prefab": "ItemGasFilterNitrogen", + "target_prefab_hash": 632853248, + "tier": "TierOne", + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -35740,17 +38544,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Invar": 1.0, - "Steel": 5.0, - "Stellite": 1.0 + "Iron": 5.0 } }, - "ItemGasFilterNitrogenM": { + { + "target_prefab": "ItemGasFilterOxygen", + "target_prefab_hash": -721824748, "tier": "TierOne", - "time": 20.0, - "energy": 2500.0, + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -35767,14 +38571,14 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Constantan": 1.0, - "Iron": 5.0, - "Silver": 5.0 + "Iron": 5.0 } }, - "ItemGasFilterNitrousOxide": { + { + "target_prefab": "ItemGasFilterVolatiles", + "target_prefab_hash": 15011598, "tier": "TierOne", "time": 5.0, "energy": 500.0, @@ -35799,10 +38603,12 @@ export default { "Iron": 5.0 } }, - "ItemGasFilterNitrousOxideL": { - "tier": "TierTwo", - "time": 45.0, - "energy": 4000.0, + { + "target_prefab": "ItemGasFilterNitrousOxide", + "target_prefab_hash": -1247674305, + "tier": "TierOne", + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -35819,14 +38625,41 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Invar": 1.0, - "Steel": 5.0, - "Stellite": 1.0 + "Iron": 5.0 + } + }, + { + "target_prefab": "ItemGasFilterWater", + "target_prefab_hash": -1993197973, + "tier": "TierOne", + "time": 5.0, + "energy": 500.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 1, + "reagents": { + "Iron": 5.0 } }, - "ItemGasFilterNitrousOxideM": { + { + "target_prefab": "ItemGasFilterCarbonDioxideM", + "target_prefab_hash": 416897318, "tier": "TierOne", "time": 20.0, "energy": 2500.0, @@ -35853,10 +38686,12 @@ export default { "Silver": 5.0 } }, - "ItemGasFilterOxygen": { + { + "target_prefab": "ItemGasFilterPollutantsM", + "target_prefab_hash": 63677771, "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + "time": 20.0, + "energy": 2500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -35873,15 +38708,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 3, "reagents": { - "Iron": 5.0 + "Constantan": 1.0, + "Iron": 5.0, + "Silver": 5.0 } }, - "ItemGasFilterOxygenL": { - "tier": "TierTwo", - "time": 45.0, - "energy": 4000.0, + { + "target_prefab": "ItemGasFilterNitrogenM", + "target_prefab_hash": -632657357, + "tier": "TierOne", + "time": 20.0, + "energy": 2500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -35900,12 +38739,14 @@ export default { }, "count_types": 3, "reagents": { - "Invar": 1.0, - "Steel": 5.0, - "Stellite": 1.0 + "Constantan": 1.0, + "Iron": 5.0, + "Silver": 5.0 } }, - "ItemGasFilterOxygenM": { + { + "target_prefab": "ItemGasFilterOxygenM", + "target_prefab_hash": -1067319543, "tier": "TierOne", "time": 20.0, "energy": 2500.0, @@ -35932,10 +38773,12 @@ export default { "Silver": 5.0 } }, - "ItemGasFilterPollutants": { + { + "target_prefab": "ItemGasFilterVolatilesM", + "target_prefab_hash": 1037507240, "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + "time": 20.0, + "energy": 2500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -35952,15 +38795,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 3, "reagents": { - "Iron": 5.0 + "Constantan": 1.0, + "Iron": 5.0, + "Silver": 5.0 } }, - "ItemGasFilterPollutantsL": { - "tier": "TierTwo", - "time": 45.0, - "energy": 4000.0, + { + "target_prefab": "ItemGasFilterNitrousOxideM", + "target_prefab_hash": 1824284061, + "tier": "TierOne", + "time": 20.0, + "energy": 2500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -35979,12 +38826,14 @@ export default { }, "count_types": 3, "reagents": { - "Invar": 1.0, - "Steel": 5.0, - "Stellite": 1.0 + "Constantan": 1.0, + "Iron": 5.0, + "Silver": 5.0 } }, - "ItemGasFilterPollutantsM": { + { + "target_prefab": "ItemGasFilterWaterM", + "target_prefab_hash": 8804422, "tier": "TierOne", "time": 20.0, "energy": 2500.0, @@ -36011,10 +38860,12 @@ export default { "Silver": 5.0 } }, - "ItemGasFilterVolatiles": { - "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + { + "target_prefab": "ItemGasFilterCarbonDioxideL", + "target_prefab_hash": 1876847024, + "tier": "TierTwo", + "time": 45.0, + "energy": 4000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -36031,12 +38882,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 3, "reagents": { - "Iron": 5.0 + "Invar": 1.0, + "Steel": 5.0, + "Stellite": 1.0 } }, - "ItemGasFilterVolatilesL": { + { + "target_prefab": "ItemGasFilterPollutantsL", + "target_prefab_hash": 1959564765, "tier": "TierTwo", "time": 45.0, "energy": 4000.0, @@ -36063,10 +38918,12 @@ export default { "Stellite": 1.0 } }, - "ItemGasFilterVolatilesM": { - "tier": "TierOne", - "time": 20.0, - "energy": 2500.0, + { + "target_prefab": "ItemGasFilterNitrogenL", + "target_prefab_hash": -1387439451, + "tier": "TierTwo", + "time": 45.0, + "energy": 4000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -36085,15 +38942,17 @@ export default { }, "count_types": 3, "reagents": { - "Constantan": 1.0, - "Iron": 5.0, - "Silver": 5.0 + "Invar": 1.0, + "Steel": 5.0, + "Stellite": 1.0 } }, - "ItemGasFilterWater": { - "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + { + "target_prefab": "ItemGasFilterOxygenL", + "target_prefab_hash": -1217998945, + "tier": "TierTwo", + "time": 45.0, + "energy": 4000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -36110,12 +38969,45 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 3, "reagents": { - "Iron": 5.0 + "Invar": 1.0, + "Steel": 5.0, + "Stellite": 1.0 } }, - "ItemGasFilterWaterL": { + { + "target_prefab": "ItemGasFilterVolatilesL", + "target_prefab_hash": 1255156286, + "tier": "TierTwo", + "time": 45.0, + "energy": 4000.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 3, + "reagents": { + "Invar": 1.0, + "Steel": 5.0, + "Stellite": 1.0 + } + }, + { + "target_prefab": "ItemGasFilterNitrousOxideL", + "target_prefab_hash": 465267979, "tier": "TierTwo", "time": 45.0, "energy": 4000.0, @@ -36142,10 +39034,12 @@ export default { "Stellite": 1.0 } }, - "ItemGasFilterWaterM": { - "tier": "TierOne", - "time": 20.0, - "energy": 2500.0, + { + "target_prefab": "ItemGasFilterWaterL", + "target_prefab_hash": 2004969680, + "tier": "TierTwo", + "time": 45.0, + "energy": 4000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -36164,14 +39058,16 @@ export default { }, "count_types": 3, "reagents": { - "Constantan": 1.0, - "Iron": 5.0, - "Silver": 5.0 + "Invar": 1.0, + "Steel": 5.0, + "Stellite": 1.0 } }, - "ItemHydroponicTray": { + { + "target_prefab": "ItemKitPipeUtility", + "target_prefab_hash": 1934508338, "tier": "TierOne", - "time": 5.0, + "time": 15.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -36191,13 +39087,15 @@ export default { }, "count_types": 1, "reagents": { - "Iron": 10.0 + "Iron": 5.0 } }, - "ItemKitAirlock": { + { + "target_prefab": "ItemKitPipeUtilityLiquid", + "target_prefab_hash": 595478589, "tier": "TierOne", - "time": 50.0, - "energy": 5000.0, + "time": 15.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -36214,17 +39112,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Copper": 5.0, - "Gold": 5.0, - "Steel": 15.0 + "Iron": 5.0 } }, - "ItemKitAirlockGate": { + { + "target_prefab": "ItemAdhesiveInsulation", + "target_prefab_hash": 1871048978, "tier": "TierOne", - "time": 60.0, - "energy": 6000.0, + "time": 2.0, + "energy": 200.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -36241,17 +39139,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Copper": 5.0, - "Gold": 5.0, - "Steel": 25.0 + "Silicon": 1.0, + "Steel": 0.5 } }, - "ItemKitAtmospherics": { + { + "target_prefab": "ItemKitInsulatedPipeUtility", + "target_prefab_hash": -27284803, "tier": "TierOne", - "time": 30.0, - "energy": 6000.0, + "time": 15.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -36268,16 +39167,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Copper": 20.0, - "Gold": 5.0, - "Iron": 10.0 + "Silicon": 1.0, + "Steel": 5.0 } }, - "ItemKitChute": { + { + "target_prefab": "ItemKitInsulatedPipeUtilityLiquid", + "target_prefab_hash": -1831558953, "tier": "TierOne", - "time": 2.0, + "time": 15.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -36295,43 +39195,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, - "reagents": { - "Iron": 3.0 - } - }, - "ItemKitCryoTube": { - "tier": "TierTwo", - "time": 120.0, - "energy": 24000.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 4, + "count_types": 2, "reagents": { - "Copper": 10.0, - "Gold": 10.0, - "Silver": 5.0, - "Steel": 35.0 + "Silicon": 1.0, + "Steel": 5.0 } }, - "ItemKitDrinkingFountain": { + { + "target_prefab": "ItemHydroponicTray", + "target_prefab_hash": -1193543727, "tier": "TierOne", - "time": 20.0, - "energy": 620.0, + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -36348,17 +39223,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Copper": 3.0, - "Iron": 5.0, - "Silicon": 8.0 + "Iron": 10.0 } }, - "ItemKitDynamicCanister": { + { + "target_prefab": "ItemKitPlanter", + "target_prefab_hash": 119096484, "tier": "TierOne", - "time": 20.0, - "energy": 1000.0, + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -36377,13 +39252,15 @@ export default { }, "count_types": 1, "reagents": { - "Iron": 20.0 + "Iron": 10.0 } }, - "ItemKitDynamicGasTankAdvanced": { - "tier": "TierTwo", - "time": 40.0, - "energy": 2000.0, + { + "target_prefab": "ItemKitAirlock", + "target_prefab_hash": 964043875, + "tier": "TierOne", + "time": 50.0, + "energy": 5000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -36400,18 +39277,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 3, "reagents": { "Copper": 5.0, - "Iron": 20.0, - "Silicon": 5.0, + "Gold": 5.0, "Steel": 15.0 } }, - "ItemKitDynamicHydroponics": { + { + "target_prefab": "ItemKitAirlockGate", + "target_prefab_hash": 682546947, "tier": "TierOne", - "time": 30.0, - "energy": 1000.0, + "time": 60.0, + "energy": 6000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -36431,14 +39309,16 @@ export default { "count_types": 3, "reagents": { "Copper": 5.0, - "Nickel": 5.0, - "Steel": 20.0 + "Gold": 5.0, + "Steel": 25.0 } }, - "ItemKitDynamicLiquidCanister": { + { + "target_prefab": "ItemKitAtmospherics", + "target_prefab_hash": 1222286371, "tier": "TierOne", - "time": 20.0, - "energy": 1000.0, + "time": 30.0, + "energy": 6000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -36455,15 +39335,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 3, "reagents": { - "Iron": 20.0 + "Copper": 20.0, + "Gold": 5.0, + "Iron": 10.0 } }, - "ItemKitDynamicMKIILiquidCanister": { - "tier": "TierTwo", - "time": 40.0, - "energy": 2000.0, + { + "target_prefab": "ItemKitWaterPurifier", + "target_prefab_hash": 611181283, + "tier": "TierOne", + "time": 30.0, + "energy": 6000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -36480,17 +39364,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 3, "reagents": { - "Copper": 5.0, - "Iron": 20.0, - "Silicon": 5.0, - "Steel": 15.0 + "Copper": 20.0, + "Gold": 5.0, + "Iron": 10.0 } }, - "ItemKitEvaporationChamber": { + { + "target_prefab": "ItemKitChute", + "target_prefab_hash": 1025254665, "tier": "TierOne", - "time": 30.0, + "time": 2.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -36508,17 +39393,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Copper": 10.0, - "Silicon": 5.0, - "Steel": 10.0 + "Iron": 3.0 } }, - "ItemKitHeatExchanger": { - "tier": "TierTwo", - "time": 30.0, - "energy": 1000.0, + { + "target_prefab": "ItemKitStandardChute", + "target_prefab_hash": 2133035682, + "tier": "TierOne", + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -36535,16 +39420,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Invar": 10.0, - "Steel": 10.0 + "Constantan": 2.0, + "Electrum": 2.0, + "Iron": 3.0 } }, - "ItemKitIceCrusher": { + { + "target_prefab": "ItemKitPipe", + "target_prefab_hash": -1619793705, "tier": "TierOne", - "time": 30.0, - "energy": 3000.0, + "time": 2.0, + "energy": 200.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -36561,14 +39449,14 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Copper": 1.0, - "Gold": 1.0, - "Iron": 3.0 + "Iron": 0.5 } }, - "ItemKitInsulatedLiquidPipe": { + { + "target_prefab": "ItemKitInsulatedPipe", + "target_prefab_hash": 452636699, "tier": "TierOne", "time": 4.0, "energy": 500.0, @@ -36594,7 +39482,9 @@ export default { "Steel": 1.0 } }, - "ItemKitInsulatedPipe": { + { + "target_prefab": "ItemKitInsulatedLiquidPipe", + "target_prefab_hash": 2067655311, "tier": "TierOne", "time": 4.0, "energy": 500.0, @@ -36620,9 +39510,11 @@ export default { "Steel": 1.0 } }, - "ItemKitInsulatedPipeUtility": { + { + "target_prefab": "ItemKitPipeLiquid", + "target_prefab_hash": -1166461357, "tier": "TierOne", - "time": 15.0, + "time": 2.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -36640,15 +39532,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 1, "reagents": { - "Silicon": 1.0, - "Steel": 5.0 + "Iron": 0.5 } }, - "ItemKitInsulatedPipeUtilityLiquid": { + { + "target_prefab": "ItemKitRegulator", + "target_prefab_hash": 1181371795, "tier": "TierOne", - "time": 15.0, + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -36666,16 +39559,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Silicon": 1.0, - "Steel": 5.0 + "Copper": 2.0, + "Gold": 1.0, + "Iron": 5.0 } }, - "ItemKitLargeDirectHeatExchanger": { - "tier": "TierTwo", - "time": 30.0, - "energy": 1000.0, + { + "target_prefab": "ItemKitLiquidRegulator", + "target_prefab_hash": 1951126161, + "tier": "TierOne", + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -36692,16 +39588,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Invar": 10.0, - "Steel": 10.0 + "Copper": 2.0, + "Gold": 1.0, + "Iron": 5.0 } }, - "ItemKitLargeExtendableRadiator": { - "tier": "TierTwo", - "time": 30.0, - "energy": 500.0, + { + "target_prefab": "ItemKitTank", + "target_prefab_hash": 771439840, + "tier": "TierOne", + "time": 20.0, + "energy": 2000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -36718,17 +39617,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Copper": 10.0, - "Invar": 10.0, - "Steel": 10.0 + "Copper": 5.0, + "Steel": 20.0 } }, - "ItemKitLiquidRegulator": { + { + "target_prefab": "ItemKitLiquidTank", + "target_prefab_hash": -799849305, "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + "time": 20.0, + "energy": 2000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -36745,17 +39645,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Copper": 2.0, - "Gold": 1.0, - "Iron": 5.0 + "Copper": 5.0, + "Steel": 20.0 } }, - "ItemKitLiquidTank": { + { + "target_prefab": "ItemKitTankInsulated", + "target_prefab_hash": 1021053608, "tier": "TierOne", - "time": 20.0, - "energy": 2000.0, + "time": 30.0, + "energy": 6000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -36772,13 +39673,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { "Copper": 5.0, + "Silicon": 30.0, "Steel": 20.0 } }, - "ItemKitLiquidTankInsulated": { + { + "target_prefab": "ItemKitLiquidTankInsulated", + "target_prefab_hash": 617773453, "tier": "TierOne", "time": 30.0, "energy": 6000.0, @@ -36805,8 +39709,10 @@ export default { "Steel": 20.0 } }, - "ItemKitLiquidTurboVolumePump": { - "tier": "TierTwo", + { + "target_prefab": "ItemPassiveVent", + "target_prefab_hash": 238631271, + "tier": "TierOne", "time": 5.0, "energy": 500.0, "temperature": { @@ -36825,17 +39731,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 1, "reagents": { - "Copper": 4.0, - "Electrum": 5.0, - "Gold": 4.0, - "Steel": 5.0 + "Iron": 3.0 } }, - "ItemKitPassiveLargeRadiatorGas": { - "tier": "TierTwo", - "time": 30.0, + { + "target_prefab": "ItemPassiveVentInsulated", + "target_prefab_hash": -1397583760, + "tier": "TierOne", + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -36853,16 +39758,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Copper": 5.0, - "Invar": 5.0, - "Steel": 5.0 + "Silicon": 5.0, + "Steel": 1.0 } }, - "ItemKitPassiveLargeRadiatorLiquid": { - "tier": "TierTwo", - "time": 30.0, + { + "target_prefab": "ItemPipeCowl", + "target_prefab_hash": -38898376, + "tier": "TierOne", + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -36880,17 +39786,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Copper": 5.0, - "Invar": 5.0, - "Steel": 5.0 + "Iron": 3.0 } }, - "ItemKitPassthroughHeatExchanger": { - "tier": "TierTwo", - "time": 30.0, - "energy": 1000.0, + { + "target_prefab": "ItemPipeAnalyizer", + "target_prefab_hash": -767597887, + "tier": "TierOne", + "time": 10.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -36907,16 +39813,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Invar": 10.0, - "Steel": 10.0 + "Electrum": 2.0, + "Gold": 2.0, + "Iron": 2.0 } }, - "ItemKitPipe": { + { + "target_prefab": "ItemPipeIgniter", + "target_prefab_hash": 1366030599, "tier": "TierOne", - "time": 2.0, - "energy": 200.0, + "time": 10.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -36933,14 +39842,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 2, "reagents": { - "Iron": 0.5 + "Electrum": 2.0, + "Iron": 2.0 } }, - "ItemKitPipeLiquid": { + { + "target_prefab": "ItemLiquidPipeAnalyzer", + "target_prefab_hash": 226055671, "tier": "TierOne", - "time": 2.0, + "time": 10.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -36958,15 +39870,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 3, "reagents": { - "Iron": 0.5 + "Electrum": 2.0, + "Gold": 2.0, + "Iron": 2.0 } }, - "ItemKitPipeOrgan": { + { + "target_prefab": "ItemPipeDigitalValve", + "target_prefab_hash": -1532448832, "tier": "TierOne", - "time": 5.0, - "energy": 100.0, + "time": 15.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -36983,14 +39899,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 3, "reagents": { - "Iron": 3.0 + "Copper": 2.0, + "Invar": 3.0, + "Steel": 5.0 } }, - "ItemKitPipeRadiator": { + { + "target_prefab": "ItemWaterPipeDigitalValve", + "target_prefab_hash": 309693520, "tier": "TierOne", - "time": 5.0, + "time": 15.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -37008,15 +39928,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Gold": 3.0, - "Steel": 2.0 + "Copper": 2.0, + "Invar": 3.0, + "Steel": 5.0 } }, - "ItemKitPipeRadiatorLiquid": { + { + "target_prefab": "ItemPipeGasMixer", + "target_prefab_hash": -1134459463, "tier": "TierOne", - "time": 5.0, + "time": 10.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -37034,15 +39957,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Gold": 3.0, - "Steel": 2.0 + "Copper": 2.0, + "Gold": 2.0, + "Iron": 2.0 } }, - "ItemKitPipeUtility": { + { + "target_prefab": "ItemPipeLabel", + "target_prefab_hash": 391769637, "tier": "TierOne", - "time": 15.0, + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -37062,12 +39988,14 @@ export default { }, "count_types": 1, "reagents": { - "Iron": 5.0 + "Iron": 1.0 } }, - "ItemKitPipeUtilityLiquid": { + { + "target_prefab": "ItemPipeMeter", + "target_prefab_hash": 1207939683, "tier": "TierOne", - "time": 15.0, + "time": 10.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -37085,14 +40013,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 2, "reagents": { - "Iron": 5.0 + "Copper": 2.0, + "Iron": 3.0 } }, - "ItemKitPlanter": { + { + "target_prefab": "ItemWaterPipeMeter", + "target_prefab_hash": -90898877, "tier": "TierOne", - "time": 5.0, + "time": 10.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -37110,14 +40041,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 2, "reagents": { - "Iron": 10.0 + "Copper": 2.0, + "Iron": 3.0 } }, - "ItemKitPortablesConnector": { + { + "target_prefab": "ItemLiquidDrain", + "target_prefab_hash": 2036225202, "tier": "TierOne", - "time": 5.0, + "time": 10.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -37135,15 +40069,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 2, "reagents": { + "Copper": 2.0, "Iron": 5.0 } }, - "ItemKitPoweredVent": { - "tier": "TierTwo", - "time": 20.0, - "energy": 1000.0, + { + "target_prefab": "ItemKitPipeRadiator", + "target_prefab_hash": 920411066, + "tier": "TierOne", + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -37160,16 +40097,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Electrum": 5.0, - "Invar": 2.0, - "Steel": 5.0 + "Gold": 3.0, + "Steel": 2.0 } }, - "ItemKitRegulator": { - "tier": "TierOne", - "time": 5.0, + { + "target_prefab": "ItemKitLargeExtendableRadiator", + "target_prefab_hash": 847430620, + "tier": "TierTwo", + "time": 30.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -37189,15 +40127,17 @@ export default { }, "count_types": 3, "reagents": { - "Copper": 2.0, - "Gold": 1.0, - "Iron": 5.0 + "Copper": 10.0, + "Invar": 10.0, + "Steel": 10.0 } }, - "ItemKitShower": { - "tier": "TierOne", + { + "target_prefab": "ItemKitPassiveLargeRadiatorLiquid", + "target_prefab_hash": 1453961898, + "tier": "TierTwo", "time": 30.0, - "energy": 3000.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -37217,14 +40157,16 @@ export default { "count_types": 3, "reagents": { "Copper": 5.0, - "Iron": 5.0, - "Silicon": 5.0 + "Invar": 5.0, + "Steel": 5.0 } }, - "ItemKitSleeper": { - "tier": "TierOne", - "time": 60.0, - "energy": 6000.0, + { + "target_prefab": "ItemKitPassiveLargeRadiatorGas", + "target_prefab_hash": -1752768283, + "tier": "TierTwo", + "time": 30.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -37243,15 +40185,17 @@ export default { }, "count_types": 3, "reagents": { - "Copper": 10.0, - "Gold": 10.0, - "Steel": 25.0 + "Copper": 5.0, + "Invar": 5.0, + "Steel": 5.0 } }, - "ItemKitSmallDirectHeatExchanger": { - "tier": "TierOne", - "time": 10.0, - "energy": 500.0, + { + "target_prefab": "ItemKitPoweredVent", + "target_prefab_hash": 2015439334, + "tier": "TierTwo", + "time": 20.0, + "energy": 1000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -37268,16 +40212,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Copper": 5.0, - "Steel": 3.0 + "Electrum": 5.0, + "Invar": 2.0, + "Steel": 5.0 } }, - "ItemKitStandardChute": { - "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + { + "target_prefab": "ItemKitHeatExchanger", + "target_prefab_hash": -1710540039, + "tier": "TierTwo", + "time": 30.0, + "energy": 1000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -37294,17 +40241,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Constantan": 2.0, - "Electrum": 2.0, - "Iron": 3.0 + "Invar": 10.0, + "Steel": 10.0 } }, - "ItemKitSuitStorage": { - "tier": "TierOne", + { + "target_prefab": "ItemKitLargeDirectHeatExchanger", + "target_prefab_hash": 450164077, + "tier": "TierTwo", "time": 30.0, - "energy": 500.0, + "energy": 1000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -37321,17 +40269,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Copper": 5.0, - "Iron": 15.0, - "Silver": 5.0 + "Invar": 10.0, + "Steel": 10.0 } }, - "ItemKitTank": { - "tier": "TierOne", - "time": 20.0, - "energy": 2000.0, + { + "target_prefab": "ItemKitPassthroughHeatExchanger", + "target_prefab_hash": 636112787, + "tier": "TierTwo", + "time": 30.0, + "energy": 1000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -37350,14 +40299,16 @@ export default { }, "count_types": 2, "reagents": { - "Copper": 5.0, - "Steel": 20.0 + "Invar": 10.0, + "Steel": 10.0 } }, - "ItemKitTankInsulated": { + { + "target_prefab": "ItemKitSmallDirectHeatExchanger", + "target_prefab_hash": -1332682164, "tier": "TierOne", - "time": 30.0, - "energy": 6000.0, + "time": 10.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -37374,16 +40325,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { "Copper": 5.0, - "Silicon": 30.0, - "Steel": 20.0 + "Steel": 3.0 } }, - "ItemKitTurboVolumePump": { - "tier": "TierTwo", - "time": 5.0, + { + "target_prefab": "ItemKitEvaporationChamber", + "target_prefab_hash": 1587787610, + "tier": "TierOne", + "time": 30.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -37401,18 +40353,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 3, "reagents": { - "Copper": 4.0, - "Electrum": 5.0, - "Gold": 4.0, - "Steel": 5.0 + "Copper": 10.0, + "Silicon": 5.0, + "Steel": 10.0 } }, - "ItemKitWaterBottleFiller": { + { + "target_prefab": "ItemKitPipeRadiatorLiquid", + "target_prefab_hash": -1697302609, "tier": "TierOne", - "time": 7.0, - "energy": 620.0, + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -37429,17 +40382,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Copper": 3.0, - "Iron": 5.0, - "Silicon": 8.0 + "Gold": 3.0, + "Steel": 2.0 } }, - "ItemKitWaterPurifier": { + { + "target_prefab": "ItemPipeValve", + "target_prefab_hash": 799323450, "tier": "TierOne", - "time": 30.0, - "energy": 6000.0, + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -37456,14 +40410,15 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Copper": 20.0, - "Gold": 5.0, - "Iron": 10.0 + "Copper": 2.0, + "Iron": 3.0 } }, - "ItemLiquidCanisterEmpty": { + { + "target_prefab": "ItemLiquidPipeValve", + "target_prefab_hash": -2126113312, "tier": "TierOne", "time": 5.0, "energy": 500.0, @@ -37483,15 +40438,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 2, "reagents": { - "Iron": 5.0 + "Copper": 2.0, + "Iron": 3.0 } }, - "ItemLiquidCanisterSmart": { - "tier": "TierTwo", - "time": 10.0, - "energy": 1000.0, + { + "target_prefab": "ItemPipeVolumePump", + "target_prefab_hash": -1766301997, + "tier": "TierOne", + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -37510,14 +40468,16 @@ export default { }, "count_types": 3, "reagents": { - "Copper": 2.0, - "Silicon": 2.0, - "Steel": 15.0 + "Copper": 3.0, + "Gold": 2.0, + "Iron": 5.0 } }, - "ItemLiquidDrain": { - "tier": "TierOne", - "time": 10.0, + { + "target_prefab": "ItemKitTurboVolumePump", + "target_prefab_hash": -1248429712, + "tier": "TierTwo", + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -37535,15 +40495,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 4, "reagents": { - "Copper": 2.0, - "Iron": 5.0 + "Copper": 4.0, + "Electrum": 5.0, + "Gold": 4.0, + "Steel": 5.0 } }, - "ItemLiquidPipeAnalyzer": { - "tier": "TierOne", - "time": 10.0, + { + "target_prefab": "ItemKitLiquidTurboVolumePump", + "target_prefab_hash": -1805020897, + "tier": "TierTwo", + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -37561,14 +40525,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 4, "reagents": { - "Electrum": 2.0, - "Gold": 2.0, - "Iron": 2.0 + "Copper": 4.0, + "Electrum": 5.0, + "Gold": 4.0, + "Steel": 5.0 } }, - "ItemLiquidPipeHeater": { + { + "target_prefab": "ItemLiquidPipeVolumePump", + "target_prefab_hash": -2106280569, "tier": "TierOne", "time": 5.0, "energy": 500.0, @@ -37591,11 +40558,13 @@ export default { "count_types": 3, "reagents": { "Copper": 3.0, - "Gold": 3.0, + "Gold": 2.0, "Iron": 5.0 } }, - "ItemLiquidPipeValve": { + { + "target_prefab": "ItemLiquidPipeHeater", + "target_prefab_hash": -248475032, "tier": "TierOne", "time": 5.0, "energy": 500.0, @@ -37615,13 +40584,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Copper": 2.0, - "Iron": 3.0 + "Copper": 3.0, + "Gold": 3.0, + "Iron": 5.0 } }, - "ItemLiquidPipeVolumePump": { + { + "target_prefab": "ItemPipeHeater", + "target_prefab_hash": -1751627006, "tier": "TierOne", "time": 5.0, "energy": 500.0, @@ -37644,11 +40616,13 @@ export default { "count_types": 3, "reagents": { "Copper": 3.0, - "Gold": 2.0, + "Gold": 3.0, "Iron": 5.0 } }, - "ItemPassiveVent": { + { + "target_prefab": "ItemKitPortablesConnector", + "target_prefab_hash": 1041148999, "tier": "TierOne", "time": 5.0, "energy": 500.0, @@ -37670,10 +40644,12 @@ export default { }, "count_types": 1, "reagents": { - "Iron": 3.0 + "Iron": 5.0 } }, - "ItemPassiveVentInsulated": { + { + "target_prefab": "ItemWallCooler", + "target_prefab_hash": -1567752627, "tier": "TierOne", "time": 5.0, "energy": 500.0, @@ -37693,94 +40669,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, - "reagents": { - "Silicon": 5.0, - "Steel": 1.0 - } - }, - "ItemPipeAnalyizer": { - "tier": "TierOne", - "time": 10.0, - "energy": 500.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, "count_types": 3, "reagents": { - "Electrum": 2.0, - "Gold": 2.0, - "Iron": 2.0 - } - }, - "ItemPipeCowl": { - "tier": "TierOne", - "time": 5.0, - "energy": 500.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 1, - "reagents": { + "Copper": 3.0, + "Gold": 1.0, "Iron": 3.0 } }, - "ItemPipeDigitalValve": { - "tier": "TierOne", - "time": 15.0, - "energy": 500.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 3, - "reagents": { - "Copper": 2.0, - "Invar": 3.0, - "Steel": 5.0 - } - }, - "ItemPipeGasMixer": { + { + "target_prefab": "ItemWaterWallCooler", + "target_prefab_hash": -1721846327, "tier": "TierOne", - "time": 10.0, + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -37800,12 +40700,14 @@ export default { }, "count_types": 3, "reagents": { - "Copper": 2.0, - "Gold": 2.0, - "Iron": 2.0 + "Copper": 3.0, + "Gold": 1.0, + "Iron": 3.0 } }, - "ItemPipeHeater": { + { + "target_prefab": "ItemWallHeater", + "target_prefab_hash": 1880134612, "tier": "TierOne", "time": 5.0, "energy": 500.0, @@ -37828,14 +40730,16 @@ export default { "count_types": 3, "reagents": { "Copper": 3.0, - "Gold": 3.0, - "Iron": 5.0 + "Gold": 1.0, + "Iron": 3.0 } }, - "ItemPipeIgniter": { + { + "target_prefab": "ItemKitSleeper", + "target_prefab_hash": 326752036, "tier": "TierOne", - "time": 10.0, - "energy": 500.0, + "time": 60.0, + "energy": 6000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -37852,16 +40756,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Electrum": 2.0, - "Iron": 2.0 + "Copper": 10.0, + "Gold": 10.0, + "Steel": 25.0 } }, - "ItemPipeLabel": { - "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + { + "target_prefab": "ItemKitCryoTube", + "target_prefab_hash": -545234195, + "tier": "TierTwo", + "time": 120.0, + "energy": 24000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -37878,15 +40785,20 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 4, "reagents": { - "Iron": 1.0 + "Copper": 10.0, + "Gold": 10.0, + "Silver": 5.0, + "Steel": 35.0 } }, - "ItemPipeMeter": { + { + "target_prefab": "ItemDynamicAirCon", + "target_prefab_hash": 1072914031, "tier": "TierOne", - "time": 10.0, - "energy": 500.0, + "time": 60.0, + "energy": 5000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -37903,16 +40815,20 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 4, "reagents": { - "Copper": 2.0, - "Iron": 3.0 + "Gold": 5.0, + "Silver": 5.0, + "Solder": 5.0, + "Steel": 20.0 } }, - "ItemPipeValve": { + { + "target_prefab": "ItemDynamicScrubber", + "target_prefab_hash": -971920158, "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + "time": 30.0, + "energy": 5000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -37929,16 +40845,20 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 4, "reagents": { - "Copper": 2.0, - "Iron": 3.0 + "Gold": 5.0, + "Invar": 5.0, + "Solder": 5.0, + "Steel": 20.0 } }, - "ItemPipeVolumePump": { + { + "target_prefab": "ItemKitDynamicHydroponics", + "target_prefab_hash": -1861154222, "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + "time": 30.0, + "energy": 1000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -37957,15 +40877,17 @@ export default { }, "count_types": 3, "reagents": { - "Copper": 3.0, - "Gold": 2.0, - "Iron": 5.0 + "Copper": 5.0, + "Nickel": 5.0, + "Steel": 20.0 } }, - "ItemWallCooler": { + { + "target_prefab": "ItemKitPipeOrgan", + "target_prefab_hash": -827125300, "tier": "TierOne", "time": 5.0, - "energy": 500.0, + "energy": 100.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -37982,17 +40904,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Copper": 3.0, - "Gold": 1.0, "Iron": 3.0 } }, - "ItemWallHeater": { + { + "target_prefab": "ItemKitIceCrusher", + "target_prefab_hash": 288111533, "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + "time": 30.0, + "energy": 3000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -38011,41 +40933,17 @@ export default { }, "count_types": 3, "reagents": { - "Copper": 3.0, + "Copper": 1.0, "Gold": 1.0, "Iron": 3.0 } }, - "ItemWaterBottle": { - "tier": "TierOne", - "time": 4.0, - "energy": 120.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 2, - "reagents": { - "Iron": 2.0, - "Silicon": 4.0 - } - }, - "ItemWaterPipeDigitalValve": { + { + "target_prefab": "ItemKitShower", + "target_prefab_hash": 735858725, "tier": "TierOne", - "time": 15.0, - "energy": 500.0, + "time": 30.0, + "energy": 3000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -38064,12 +40962,14 @@ export default { }, "count_types": 3, "reagents": { - "Copper": 2.0, - "Invar": 3.0, - "Steel": 5.0 + "Copper": 5.0, + "Iron": 5.0, + "Silicon": 5.0 } }, - "ItemWaterPipeMeter": { + { + "target_prefab": "ApplianceSeedTray", + "target_prefab_hash": 142831994, "tier": "TierOne", "time": 10.0, "energy": 500.0, @@ -38089,40 +40989,14 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, - "reagents": { - "Copper": 2.0, - "Iron": 3.0 - } - }, - "ItemWaterWallCooler": { - "tier": "TierOne", - "time": 5.0, - "energy": 500.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, "count_types": 3, "reagents": { - "Copper": 3.0, - "Gold": 1.0, - "Iron": 3.0 + "Copper": 5.0, + "Iron": 10.0, + "Silicon": 15.0 } } - } + ] }, "memory": { "instructions": { @@ -38648,40 +41522,64 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Plant", - "typ": "Plant" + "slots": { + "0": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 0 + } }, - { - "name": "Plant", - "typ": "Plant" + "1": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 1 + } }, - { - "name": "Plant", - "typ": "Plant" + "2": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 2 + } }, - { - "name": "Plant", - "typ": "Plant" + "3": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 3 + } }, - { - "name": "Plant", - "typ": "Plant" + "4": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 4 + } }, - { - "name": "Plant", - "typ": "Plant" + "5": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 5 + } }, - { - "name": "Plant", - "typ": "Plant" + "6": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 6 + } }, - { - "name": "Plant", - "typ": "Plant" + "7": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 7 + } } - ], + }, "device": { "connection_list": [ { @@ -38722,16 +41620,22 @@ export default { "convection_factor": 0.010000001, "radiation_factor": 0.0005 }, - "slots": [ - { - "name": "Plant", - "typ": "Plant" + "slots": { + "0": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 0 + } }, - { - "name": "Fertiliser", - "typ": "Plant" + "1": { + "Direct": { + "name": "Fertiliser", + "class": "Plant", + "index": 1 + } } - ] + } }, "StructureHydroponicsTrayData": { "templateType": "StructureLogicDevice", @@ -38808,16 +41712,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Plant", - "typ": "Plant" + "slots": { + "0": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 0 + } }, - { - "name": "Fertiliser", - "typ": "Plant" + "1": { + "Direct": { + "name": "Fertiliser", + "class": "Plant", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -38882,12 +41792,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "Ore" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "Ore", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -38944,7 +41857,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -39345,12 +42258,15 @@ export default { "convection_factor": 0.0, "radiation_factor": 0.0 }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } } - ] + } }, "StructureInsulatedTankConnectorLiquid": { "templateType": "StructureSlots", @@ -39367,12 +42283,15 @@ export default { "convection_factor": 0.0, "radiation_factor": 0.0 }, - "slots": [ - { - "name": "Portable Slot", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Portable Slot", + "class": "None", + "index": 0 + } } - ] + } }, "StructureInteriorDoorGlass": { "templateType": "StructureLogicDevice", @@ -39408,7 +42327,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [], "has_activate_state": false, @@ -39455,7 +42374,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [], "has_activate_state": false, @@ -39502,7 +42421,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [], "has_activate_state": false, @@ -39549,7 +42468,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [], "has_activate_state": false, @@ -39638,7 +42557,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -39705,7 +42624,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -39752,7 +42671,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -39799,7 +42718,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -39853,7 +42772,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -39913,7 +42832,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -39976,7 +42895,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -39998,6 +42917,539 @@ export default { "has_reagents": false } }, + "StructureLarreDockAtmos": { + "templateType": "StructureLogicDevice", + "prefab": { + "prefab_name": "StructureLarreDockAtmos", + "prefab_hash": 1978422481, + "desc": "0.Outward\n1.Inward", + "name": "LARrE Dock (Atmos)" + }, + "structure": { + "small_grid": true + }, + "thermal_info": { + "convection_factor": 0.1, + "radiation_factor": 0.1 + }, + "logic": { + "logic_slot_types": { + "0": {} + }, + "logic_types": { + "Power": "Read", + "Open": "ReadWrite", + "Mode": "ReadWrite", + "Error": "Read", + "Pressure": "Read", + "Temperature": "Read", + "PressureExternal": "ReadWrite", + "PressureInternal": "ReadWrite", + "Activate": "ReadWrite", + "Setting": "ReadWrite", + "RatioOxygen": "Read", + "RatioCarbonDioxide": "Read", + "RatioNitrogen": "Read", + "RatioPollutant": "Read", + "RatioVolatiles": "Read", + "RatioWater": "Read", + "On": "ReadWrite", + "RequiredPower": "Read", + "Idle": "Read", + "TotalMoles": "Read", + "RatioNitrousOxide": "Read", + "PrefabHash": "Read", + "Combustion": "Read", + "RatioLiquidNitrogen": "Read", + "RatioLiquidOxygen": "Read", + "RatioLiquidVolatiles": "Read", + "RatioSteam": "Read", + "RatioLiquidCarbonDioxide": "Read", + "RatioLiquidPollutant": "Read", + "RatioLiquidNitrousOxide": "Read", + "ReferenceId": "Read", + "Index": "Read", + "RatioHydrogen": "Read", + "RatioLiquidHydrogen": "Read", + "RatioPollutedWater": "Read", + "NameHash": "Read" + }, + "modes": { + "0": "Outward", + "1": "Inward" + }, + "transmission_receiver": false, + "wireless_logic": false, + "circuit_holder": false + }, + "slots": { + "0": { + "Direct": { + "name": "Filter", + "class": "GasFilter", + "index": 0 + } + } + }, + "device": { + "connection_list": [ + { + "typ": "RoboticArmRail", + "role": "None" + }, + { + "typ": "RoboticArmRail", + "role": "None" + }, + { + "typ": "PowerAndData", + "role": "None" + } + ], + "has_activate_state": true, + "has_atmosphere": true, + "has_color_state": false, + "has_lock_state": false, + "has_mode_state": true, + "has_on_off_state": true, + "has_open_state": true, + "has_reagents": false + } + }, + "StructureLarreDockBypass": { + "templateType": "StructureLogicDevice", + "prefab": { + "prefab_name": "StructureLarreDockBypass", + "prefab_hash": 1011275082, + "desc": "", + "name": "LARrE Dock (Bypass)" + }, + "structure": { + "small_grid": true + }, + "logic": { + "logic_slot_types": {}, + "logic_types": { + "Power": "Read", + "Open": "ReadWrite", + "On": "ReadWrite", + "RequiredPower": "Read", + "PrefabHash": "Read", + "ReferenceId": "Read", + "NameHash": "Read" + }, + "transmission_receiver": false, + "wireless_logic": false, + "circuit_holder": false + }, + "slots": {}, + "device": { + "connection_list": [ + { + "typ": "RoboticArmRail", + "role": "None" + }, + { + "typ": "RoboticArmRail", + "role": "None" + }, + { + "typ": "PowerAndData", + "role": "None" + } + ], + "has_activate_state": false, + "has_atmosphere": false, + "has_color_state": false, + "has_lock_state": false, + "has_mode_state": false, + "has_on_off_state": true, + "has_open_state": true, + "has_reagents": false + } + }, + "StructureLarreDockCargo": { + "templateType": "StructureLogicDevice", + "prefab": { + "prefab_name": "StructureLarreDockCargo", + "prefab_hash": -1555459562, + "desc": "", + "name": "LARrE Dock (Cargo)" + }, + "structure": { + "small_grid": true + }, + "logic": { + "logic_slot_types": { + "0": {} + }, + "logic_types": { + "Power": "Read", + "Open": "ReadWrite", + "Error": "Read", + "Activate": "ReadWrite", + "Setting": "ReadWrite", + "On": "ReadWrite", + "RequiredPower": "Read", + "Idle": "Read", + "PrefabHash": "Read", + "ReferenceId": "Read", + "Index": "Read", + "NameHash": "Read", + "TargetSlotIndex": "ReadWrite", + "TargetPrefabHash": "Read" + }, + "transmission_receiver": false, + "wireless_logic": false, + "circuit_holder": false + }, + "slots": { + "0": { + "Direct": { + "name": "Arm Slot", + "class": "None", + "index": 0 + } + }, + "255": { + "Proxy": { + "name": "Target Slot", + "index": 255 + } + } + }, + "device": { + "connection_list": [ + { + "typ": "RoboticArmRail", + "role": "None" + }, + { + "typ": "RoboticArmRail", + "role": "None" + }, + { + "typ": "PowerAndData", + "role": "None" + } + ], + "has_activate_state": true, + "has_atmosphere": false, + "has_color_state": false, + "has_lock_state": false, + "has_mode_state": false, + "has_on_off_state": true, + "has_open_state": true, + "has_reagents": false + } + }, + "StructureLarreDockCollector": { + "templateType": "StructureLogicDevice", + "prefab": { + "prefab_name": "StructureLarreDockCollector", + "prefab_hash": -522428667, + "desc": "0.Outward\n1.Inward", + "name": "LARrE Dock (Collector)" + }, + "structure": { + "small_grid": true + }, + "logic": { + "logic_slot_types": { + "0": {}, + "1": {}, + "2": {}, + "3": {}, + "4": {}, + "5": {}, + "6": {}, + "7": {}, + "8": {}, + "9": {}, + "10": {}, + "11": {}, + "12": {}, + "13": {}, + "14": {}, + "15": {}, + "16": {}, + "17": {}, + "18": {}, + "19": {} + }, + "logic_types": { + "Power": "Read", + "Open": "ReadWrite", + "Mode": "ReadWrite", + "Error": "Read", + "Activate": "ReadWrite", + "Setting": "ReadWrite", + "On": "ReadWrite", + "RequiredPower": "Read", + "Idle": "Read", + "PrefabHash": "Read", + "ReferenceId": "Read", + "Index": "Read", + "NameHash": "Read" + }, + "modes": { + "0": "Outward", + "1": "Inward" + }, + "transmission_receiver": false, + "wireless_logic": false, + "circuit_holder": false + }, + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } + }, + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } + }, + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } + }, + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } + }, + "4": { + "Direct": { + "name": "", + "class": "None", + "index": 4 + } + }, + "5": { + "Direct": { + "name": "", + "class": "None", + "index": 5 + } + }, + "6": { + "Direct": { + "name": "", + "class": "None", + "index": 6 + } + }, + "7": { + "Direct": { + "name": "", + "class": "None", + "index": 7 + } + }, + "8": { + "Direct": { + "name": "", + "class": "None", + "index": 8 + } + }, + "9": { + "Direct": { + "name": "", + "class": "None", + "index": 9 + } + }, + "10": { + "Direct": { + "name": "", + "class": "None", + "index": 10 + } + }, + "11": { + "Direct": { + "name": "", + "class": "None", + "index": 11 + } + }, + "12": { + "Direct": { + "name": "", + "class": "None", + "index": 12 + } + }, + "13": { + "Direct": { + "name": "", + "class": "None", + "index": 13 + } + }, + "14": { + "Direct": { + "name": "", + "class": "None", + "index": 14 + } + }, + "15": { + "Direct": { + "name": "", + "class": "None", + "index": 15 + } + }, + "16": { + "Direct": { + "name": "", + "class": "None", + "index": 16 + } + }, + "17": { + "Direct": { + "name": "", + "class": "None", + "index": 17 + } + }, + "18": { + "Direct": { + "name": "", + "class": "None", + "index": 18 + } + }, + "19": { + "Direct": { + "name": "", + "class": "None", + "index": 19 + } + } + }, + "device": { + "connection_list": [ + { + "typ": "RoboticArmRail", + "role": "None" + }, + { + "typ": "RoboticArmRail", + "role": "None" + }, + { + "typ": "PowerAndData", + "role": "None" + } + ], + "has_activate_state": true, + "has_atmosphere": false, + "has_color_state": false, + "has_lock_state": false, + "has_mode_state": true, + "has_on_off_state": true, + "has_open_state": true, + "has_reagents": false + } + }, + "StructureLarreDockHydroponics": { + "templateType": "StructureLogicDevice", + "prefab": { + "prefab_name": "StructureLarreDockHydroponics", + "prefab_hash": 85133079, + "desc": "", + "name": "LARrE Dock (Hydroponics)" + }, + "structure": { + "small_grid": true + }, + "logic": { + "logic_slot_types": { + "0": {}, + "1": {} + }, + "logic_types": { + "Power": "Read", + "Open": "ReadWrite", + "Error": "Read", + "Activate": "ReadWrite", + "Setting": "ReadWrite", + "On": "ReadWrite", + "RequiredPower": "Read", + "Idle": "Read", + "PrefabHash": "Read", + "ReferenceId": "Read", + "Index": "Read", + "NameHash": "Read", + "TargetSlotIndex": "Read", + "TargetPrefabHash": "Read" + }, + "transmission_receiver": false, + "wireless_logic": false, + "circuit_holder": false + }, + "slots": { + "0": { + "Direct": { + "name": "Arm Slot", + "class": "None", + "index": 0 + } + }, + "1": { + "Direct": { + "name": "Arm Slot", + "class": "None", + "index": 1 + } + }, + "255": { + "Proxy": { + "name": "Target Slot", + "index": 255 + } + } + }, + "device": { + "connection_list": [ + { + "typ": "RoboticArmRail", + "role": "None" + }, + { + "typ": "RoboticArmRail", + "role": "None" + }, + { + "typ": "PowerAndData", + "role": "None" + } + ], + "has_activate_state": true, + "has_atmosphere": false, + "has_color_state": false, + "has_lock_state": false, + "has_mode_state": false, + "has_on_off_state": true, + "has_open_state": true, + "has_reagents": false + } + }, "StructureLaunchMount": { "templateType": "Structure", "prefab": { @@ -40036,7 +43488,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -40080,7 +43532,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -40124,7 +43576,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -40168,7 +43620,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -40212,7 +43664,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -40256,7 +43708,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -40304,7 +43756,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -40380,7 +43832,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -40425,7 +43877,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -40473,7 +43925,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [], "has_activate_state": false, @@ -40516,7 +43968,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -40594,7 +44046,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -40668,7 +44120,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -40742,7 +44194,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -40816,7 +44268,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -40886,12 +44338,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Liquid Canister", - "typ": "LiquidCanister" + "slots": { + "0": { + "Direct": { + "name": "Liquid Canister", + "class": "LiquidCanister", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -40948,7 +44403,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -41003,7 +44458,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -41046,7 +44501,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -41101,7 +44556,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -41149,7 +44604,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -41201,7 +44656,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -41296,24 +44751,36 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "", - "typ": "None" + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } }, - { - "name": "", - "typ": "None" + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } } - ], + }, "device": { "connection_list": [], "has_activate_state": false, @@ -41353,7 +44820,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -41406,7 +44873,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -41459,7 +44926,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -41510,7 +44977,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -41566,7 +45033,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -41621,7 +45088,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -41675,7 +45142,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -41728,7 +45195,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -41788,7 +45255,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -41863,7 +45330,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -41912,7 +45379,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -41966,7 +45433,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -42014,7 +45481,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -42067,7 +45534,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -42120,7 +45587,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -42170,7 +45637,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -42214,7 +45681,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -42270,7 +45737,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -42327,7 +45794,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -42434,24 +45901,36 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "None", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } }, - { - "name": "Export 2", - "typ": "None" + "2": { + "Direct": { + "name": "Export 2", + "class": "None", + "index": 2 + } }, - { - "name": "Data Disk", - "typ": "DataDisk" + "3": { + "Direct": { + "name": "Data Disk", + "class": "DataDisk", + "index": 3 + } } - ], + }, "device": { "connection_list": [ { @@ -42764,7 +46243,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -42811,7 +46290,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -42855,7 +46334,7 @@ export default { "wireless_logic": true, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -42912,7 +46391,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -42966,7 +46445,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -43026,7 +46505,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [], "has_activate_state": false, @@ -43068,7 +46547,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -43119,7 +46598,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -43175,7 +46654,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -43226,7 +46705,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -43277,7 +46756,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -43351,7 +46830,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -43425,7 +46904,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -43472,7 +46951,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -43617,12 +47096,15 @@ export default { "wireless_logic": false, "circuit_holder": true }, - "slots": [ - { - "name": "Programmable Chip", - "typ": "ProgrammableChip" + "slots": { + "0": { + "Direct": { + "name": "Programmable Chip", + "class": "ProgrammableChip", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -43681,7 +47163,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -43746,16 +47228,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } } - ], + }, "device": { "connection_list": [], "has_activate_state": false, @@ -43903,48 +47391,78 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "", - "typ": "None" + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } }, - { - "name": "", - "typ": "None" + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } }, - { - "name": "", - "typ": "None" + "4": { + "Direct": { + "name": "", + "class": "None", + "index": 4 + } }, - { - "name": "", - "typ": "None" + "5": { + "Direct": { + "name": "", + "class": "None", + "index": 5 + } }, - { - "name": "", - "typ": "None" + "6": { + "Direct": { + "name": "", + "class": "None", + "index": 6 + } }, - { - "name": "", - "typ": "None" + "7": { + "Direct": { + "name": "", + "class": "None", + "index": 7 + } }, - { - "name": "", - "typ": "None" + "8": { + "Direct": { + "name": "", + "class": "None", + "index": 8 + } }, - { - "name": "", - "typ": "None" + "9": { + "Direct": { + "name": "", + "class": "None", + "index": 9 + } } - ], + }, "device": { "connection_list": [], "has_activate_state": false, @@ -43986,7 +47504,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -44037,7 +47555,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -44081,7 +47599,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [], "has_activate_state": false, @@ -44151,7 +47669,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -44206,7 +47724,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -44261,7 +47779,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -44533,7 +48051,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -44690,7 +48208,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -44738,7 +48256,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -44794,7 +48312,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [], "has_activate_state": false, @@ -44929,7 +48447,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -45005,7 +48523,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [], "has_activate_state": false, @@ -45044,7 +48562,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -45108,7 +48626,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [], "has_activate_state": false, @@ -45147,7 +48665,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [], "has_activate_state": false, @@ -45186,7 +48704,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [], "has_activate_state": false, @@ -45246,16 +48764,22 @@ export default { "convection_factor": 0.010000001, "radiation_factor": 0.0005 }, - "slots": [ - { - "name": "Plant", - "typ": "Plant" + "slots": { + "0": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 0 + } }, - { - "name": "Plant", - "typ": "Plant" + "1": { + "Direct": { + "name": "Plant", + "class": "Plant", + "index": 1 + } } - ] + } }, "StructurePlatformLadderOpen": { "templateType": "Structure", @@ -45280,12 +48804,15 @@ export default { "structure": { "small_grid": true }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } } - ] + } }, "StructurePortablesConnector": { "templateType": "StructureLogicDevice", @@ -45325,12 +48852,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Portables", - "typ": "Portables" + "slots": { + "0": { + "Direct": { + "name": "Portables", + "class": "Portables", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -45387,12 +48917,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Portable Slot", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Portable Slot", + "class": "None", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -45449,7 +48982,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -45497,7 +49030,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -45558,7 +49091,7 @@ export default { "wireless_logic": true, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -45602,7 +49135,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -45642,7 +49175,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -45694,7 +49227,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -45749,7 +49282,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -45808,7 +49341,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -45864,7 +49397,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -45939,7 +49472,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -46017,7 +49550,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -46066,7 +49599,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -46111,7 +49644,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -46156,7 +49689,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -46208,7 +49741,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -46259,7 +49792,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -46329,7 +49862,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -46385,7 +49918,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -46477,16 +50010,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "None", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -46679,416 +50218,722 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "None", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } }, - { - "name": "Storage", - "typ": "None" + "2": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 2 + } }, - { - "name": "Storage", - "typ": "None" + "3": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 3 + } }, - { - "name": "Storage", - "typ": "None" + "4": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 4 + } }, - { - "name": "Storage", - "typ": "None" + "5": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 5 + } }, - { - "name": "Storage", - "typ": "None" + "6": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 6 + } }, - { - "name": "Storage", - "typ": "None" + "7": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 7 + } }, - { - "name": "Storage", - "typ": "None" + "8": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 8 + } }, - { - "name": "Storage", - "typ": "None" + "9": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 9 + } }, - { - "name": "Storage", - "typ": "None" + "10": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 10 + } }, - { - "name": "Storage", - "typ": "None" + "11": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 11 + } }, - { - "name": "Storage", - "typ": "None" + "12": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 12 + } }, - { - "name": "Storage", - "typ": "None" + "13": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 13 + } }, - { - "name": "Storage", - "typ": "None" + "14": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 14 + } }, - { - "name": "Storage", - "typ": "None" + "15": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 15 + } }, - { - "name": "Storage", - "typ": "None" + "16": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 16 + } }, - { - "name": "Storage", - "typ": "None" + "17": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 17 + } }, - { - "name": "Storage", - "typ": "None" + "18": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 18 + } }, - { - "name": "Storage", - "typ": "None" + "19": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 19 + } }, - { - "name": "Storage", - "typ": "None" + "20": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 20 + } }, - { - "name": "Storage", - "typ": "None" + "21": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 21 + } }, - { - "name": "Storage", - "typ": "None" + "22": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 22 + } }, - { - "name": "Storage", - "typ": "None" + "23": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 23 + } }, - { - "name": "Storage", - "typ": "None" + "24": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 24 + } }, - { - "name": "Storage", - "typ": "None" + "25": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 25 + } }, - { - "name": "Storage", - "typ": "None" + "26": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 26 + } }, - { - "name": "Storage", - "typ": "None" + "27": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 27 + } }, - { - "name": "Storage", - "typ": "None" + "28": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 28 + } }, - { - "name": "Storage", - "typ": "None" + "29": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 29 + } }, - { - "name": "Storage", - "typ": "None" + "30": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 30 + } }, - { - "name": "Storage", - "typ": "None" + "31": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 31 + } }, - { - "name": "Storage", - "typ": "None" + "32": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 32 + } }, - { - "name": "Storage", - "typ": "None" + "33": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 33 + } }, - { - "name": "Storage", - "typ": "None" + "34": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 34 + } }, - { - "name": "Storage", - "typ": "None" + "35": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 35 + } }, - { - "name": "Storage", - "typ": "None" + "36": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 36 + } }, - { - "name": "Storage", - "typ": "None" + "37": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 37 + } }, - { - "name": "Storage", - "typ": "None" + "38": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 38 + } }, - { - "name": "Storage", - "typ": "None" + "39": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 39 + } }, - { - "name": "Storage", - "typ": "None" + "40": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 40 + } }, - { - "name": "Storage", - "typ": "None" + "41": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 41 + } }, - { - "name": "Storage", - "typ": "None" + "42": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 42 + } }, - { - "name": "Storage", - "typ": "None" + "43": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 43 + } }, - { - "name": "Storage", - "typ": "None" + "44": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 44 + } }, - { - "name": "Storage", - "typ": "None" + "45": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 45 + } }, - { - "name": "Storage", - "typ": "None" + "46": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 46 + } }, - { - "name": "Storage", - "typ": "None" + "47": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 47 + } }, - { - "name": "Storage", - "typ": "None" + "48": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 48 + } }, - { - "name": "Storage", - "typ": "None" + "49": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 49 + } }, - { - "name": "Storage", - "typ": "None" + "50": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 50 + } }, - { - "name": "Storage", - "typ": "None" + "51": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 51 + } }, - { - "name": "Storage", - "typ": "None" + "52": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 52 + } }, - { - "name": "Storage", - "typ": "None" + "53": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 53 + } }, - { - "name": "Storage", - "typ": "None" + "54": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 54 + } }, - { - "name": "Storage", - "typ": "None" + "55": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 55 + } }, - { - "name": "Storage", - "typ": "None" + "56": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 56 + } }, - { - "name": "Storage", - "typ": "None" + "57": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 57 + } }, - { - "name": "Storage", - "typ": "None" + "58": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 58 + } }, - { - "name": "Storage", - "typ": "None" + "59": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 59 + } }, - { - "name": "Storage", - "typ": "None" + "60": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 60 + } }, - { - "name": "Storage", - "typ": "None" + "61": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 61 + } }, - { - "name": "Storage", - "typ": "None" + "62": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 62 + } }, - { - "name": "Storage", - "typ": "None" + "63": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 63 + } }, - { - "name": "Storage", - "typ": "None" + "64": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 64 + } }, - { - "name": "Storage", - "typ": "None" + "65": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 65 + } }, - { - "name": "Storage", - "typ": "None" + "66": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 66 + } }, - { - "name": "Storage", - "typ": "None" + "67": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 67 + } }, - { - "name": "Storage", - "typ": "None" + "68": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 68 + } }, - { - "name": "Storage", - "typ": "None" + "69": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 69 + } }, - { - "name": "Storage", - "typ": "None" + "70": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 70 + } }, - { - "name": "Storage", - "typ": "None" + "71": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 71 + } }, - { - "name": "Storage", - "typ": "None" + "72": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 72 + } }, - { - "name": "Storage", - "typ": "None" + "73": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 73 + } }, - { - "name": "Storage", - "typ": "None" + "74": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 74 + } }, - { - "name": "Storage", - "typ": "None" + "75": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 75 + } }, - { - "name": "Storage", - "typ": "None" + "76": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 76 + } }, - { - "name": "Storage", - "typ": "None" + "77": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 77 + } }, - { - "name": "Storage", - "typ": "None" + "78": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 78 + } }, - { - "name": "Storage", - "typ": "None" + "79": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 79 + } }, - { - "name": "Storage", - "typ": "None" + "80": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 80 + } }, - { - "name": "Storage", - "typ": "None" + "81": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 81 + } }, - { - "name": "Storage", - "typ": "None" + "82": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 82 + } }, - { - "name": "Storage", - "typ": "None" + "83": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 83 + } }, - { - "name": "Storage", - "typ": "None" + "84": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 84 + } }, - { - "name": "Storage", - "typ": "None" + "85": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 85 + } }, - { - "name": "Storage", - "typ": "None" + "86": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 86 + } }, - { - "name": "Storage", - "typ": "None" + "87": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 87 + } }, - { - "name": "Storage", - "typ": "None" + "88": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 88 + } }, - { - "name": "Storage", - "typ": "None" + "89": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 89 + } }, - { - "name": "Storage", - "typ": "None" + "90": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 90 + } }, - { - "name": "Storage", - "typ": "None" + "91": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 91 + } }, - { - "name": "Storage", - "typ": "None" + "92": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 92 + } }, - { - "name": "Storage", - "typ": "None" + "93": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 93 + } }, - { - "name": "Storage", - "typ": "None" + "94": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 94 + } }, - { - "name": "Storage", - "typ": "None" + "95": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 95 + } }, - { - "name": "Storage", - "typ": "None" + "96": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 96 + } }, - { - "name": "Storage", - "typ": "None" + "97": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 97 + } }, - { - "name": "Storage", - "typ": "None" + "98": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 98 + } }, - { - "name": "Storage", - "typ": "None" + "99": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 99 + } }, - { - "name": "Storage", - "typ": "None" + "100": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 100 + } }, - { - "name": "Storage", - "typ": "None" + "101": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 101 + } } - ], + }, "device": { "connection_list": [ { @@ -47203,7 +51048,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -47267,12 +51112,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Arm Slot", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Arm Slot", + "class": "None", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -47455,7 +51303,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -47503,7 +51351,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -47622,12 +51470,15 @@ export default { "wireless_logic": false, "circuit_holder": true }, - "slots": [ - { - "name": "Programmable Chip", - "typ": "ProgrammableChip" + "slots": { + "0": { + "Direct": { + "name": "Programmable Chip", + "class": "ProgrammableChip", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -47701,7 +51552,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -47761,16 +51612,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "Ingot" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "Ingot", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -47825,87 +51682,10 @@ export default { }, "fabricator_info": { "tier": "Undefined", - "recipes": { - "ItemKitAccessBridge": { - "tier": "TierOne", - "time": 30.0, - "energy": 9000.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 3, - "reagents": { - "Copper": 2.0, - "Gold": 3.0, - "Steel": 10.0 - } - }, - "ItemKitChuteUmbilical": { - "tier": "TierOne", - "time": 5.0, - "energy": 2500.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 2, - "reagents": { - "Copper": 3.0, - "Steel": 10.0 - } - }, - "ItemKitElectricUmbilical": { - "tier": "TierOne", - "time": 5.0, - "energy": 2500.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 2, - "reagents": { - "Gold": 5.0, - "Steel": 5.0 - } - }, - "ItemKitFuselage": { + "recipes": [ + { + "target_prefab": "ItemKitFuselage", + "target_prefab_hash": -366262681, "tier": "TierOne", "time": 120.0, "energy": 60000.0, @@ -47930,36 +51710,12 @@ export default { "Steel": 20.0 } }, - "ItemKitGasUmbilical": { - "tier": "TierOne", - "time": 5.0, - "energy": 2500.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 2, - "reagents": { - "Copper": 5.0, - "Steel": 5.0 - } - }, - "ItemKitGovernedGasRocketEngine": { + { + "target_prefab": "ItemKitLaunchTower", + "target_prefab_hash": -174523552, "tier": "TierOne", - "time": 60.0, - "energy": 60000.0, + "time": 30.0, + "energy": 30000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -47976,14 +51732,14 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Copper": 10.0, - "Gold": 5.0, - "Iron": 15.0 + "Steel": 10.0 } }, - "ItemKitLaunchMount": { + { + "target_prefab": "ItemKitLaunchMount", + "target_prefab_hash": -1854167549, "tier": "TierOne", "time": 240.0, "energy": 120000.0, @@ -48008,10 +51764,12 @@ export default { "Steel": 60.0 } }, - "ItemKitLaunchTower": { + { + "target_prefab": "ItemKitChuteUmbilical", + "target_prefab_hash": -876560854, "tier": "TierOne", - "time": 30.0, - "energy": 30000.0, + "time": 5.0, + "energy": 2500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -48028,12 +51786,15 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 2, "reagents": { + "Copper": 3.0, "Steel": 10.0 } }, - "ItemKitLiquidUmbilical": { + { + "target_prefab": "ItemKitElectricUmbilical", + "target_prefab_hash": 1603046970, "tier": "TierOne", "time": 5.0, "energy": 2500.0, @@ -48055,14 +51816,16 @@ export default { }, "count_types": 2, "reagents": { - "Copper": 5.0, + "Gold": 5.0, "Steel": 5.0 } }, - "ItemKitPressureFedGasEngine": { + { + "target_prefab": "ItemKitLiquidUmbilical", + "target_prefab_hash": 1571996765, "tier": "TierOne", - "time": 60.0, - "energy": 60000.0, + "time": 5.0, + "energy": 2500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -48079,18 +51842,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 2, "reagents": { - "Constantan": 10.0, - "Electrum": 5.0, - "Invar": 20.0, - "Steel": 20.0 + "Copper": 5.0, + "Steel": 5.0 } }, - "ItemKitPressureFedLiquidEngine": { + { + "target_prefab": "ItemKitGasUmbilical", + "target_prefab_hash": -1867280568, "tier": "TierOne", - "time": 60.0, - "energy": 60000.0, + "time": 5.0, + "energy": 2500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -48107,17 +51870,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Astroloy": 10.0, - "Inconel": 5.0, - "Waspaloy": 15.0 + "Copper": 5.0, + "Steel": 5.0 } }, - "ItemKitPumpedLiquidEngine": { + { + "target_prefab": "ItemKitRocketBattery", + "target_prefab_hash": -314072139, "tier": "TierOne", - "time": 60.0, - "energy": 60000.0, + "time": 10.0, + "energy": 10000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -48136,41 +51900,17 @@ export default { }, "count_types": 3, "reagents": { - "Constantan": 10.0, "Electrum": 5.0, - "Steel": 15.0 - } - }, - "ItemKitRocketAvionics": { - "tier": "TierOne", - "time": 5.0, - "energy": 2500.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 2, - "reagents": { - "Electrum": 2.0, - "Solder": 3.0 + "Solder": 5.0, + "Steel": 10.0 } }, - "ItemKitRocketBattery": { + { + "target_prefab": "ItemKitRocketGasFuelTank", + "target_prefab_hash": -1629347579, "tier": "TierOne", "time": 10.0, - "energy": 10000.0, + "energy": 5000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -48187,17 +51927,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Electrum": 5.0, - "Solder": 5.0, + "Copper": 5.0, "Steel": 10.0 } }, - "ItemKitRocketCargoStorage": { + { + "target_prefab": "ItemKitRocketLiquidFuelTank", + "target_prefab_hash": 2032027950, "tier": "TierOne", - "time": 30.0, - "energy": 30000.0, + "time": 10.0, + "energy": 5000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -48214,14 +51955,15 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Constantan": 10.0, - "Invar": 5.0, - "Steel": 10.0 + "Copper": 5.0, + "Steel": 20.0 } }, - "ItemKitRocketCelestialTracker": { + { + "target_prefab": "ItemKitRocketAvionics", + "target_prefab_hash": 1396305045, "tier": "TierOne", "time": 5.0, "energy": 2500.0, @@ -48243,11 +51985,13 @@ export default { }, "count_types": 2, "reagents": { - "Electrum": 5.0, - "Steel": 5.0 + "Electrum": 2.0, + "Solder": 3.0 } }, - "ItemKitRocketCircuitHousing": { + { + "target_prefab": "ItemKitRocketDatalink", + "target_prefab_hash": -1256996603, "tier": "TierOne", "time": 5.0, "energy": 2500.0, @@ -48273,7 +52017,9 @@ export default { "Solder": 3.0 } }, - "ItemKitRocketDatalink": { + { + "target_prefab": "ItemKitRocketCelestialTracker", + "target_prefab_hash": -303008602, "tier": "TierOne", "time": 5.0, "energy": 2500.0, @@ -48295,14 +52041,16 @@ export default { }, "count_types": 2, "reagents": { - "Electrum": 2.0, - "Solder": 3.0 + "Electrum": 5.0, + "Steel": 5.0 } }, - "ItemKitRocketGasFuelTank": { + { + "target_prefab": "ItemKitRocketCircuitHousing", + "target_prefab_hash": 721251202, "tier": "TierOne", - "time": 10.0, - "energy": 5000.0, + "time": 5.0, + "energy": 2500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -48321,14 +52069,16 @@ export default { }, "count_types": 2, "reagents": { - "Copper": 5.0, - "Steel": 10.0 + "Electrum": 2.0, + "Solder": 3.0 } }, - "ItemKitRocketLiquidFuelTank": { + { + "target_prefab": "ItemKitRocketCargoStorage", + "target_prefab_hash": 479850239, "tier": "TierOne", - "time": 10.0, - "energy": 5000.0, + "time": 30.0, + "energy": 30000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -48345,13 +52095,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Copper": 5.0, - "Steel": 20.0 + "Constantan": 10.0, + "Invar": 5.0, + "Steel": 10.0 } }, - "ItemKitRocketMiner": { + { + "target_prefab": "ItemKitRocketMiner", + "target_prefab_hash": -867969909, "tier": "TierOne", "time": 60.0, "energy": 60000.0, @@ -48379,7 +52132,65 @@ export default { "Steel": 10.0 } }, - "ItemKitRocketScanner": { + { + "target_prefab": "ItemKitAccessBridge", + "target_prefab_hash": 513258369, + "tier": "TierOne", + "time": 30.0, + "energy": 9000.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 3, + "reagents": { + "Copper": 2.0, + "Gold": 3.0, + "Steel": 10.0 + } + }, + { + "target_prefab": "ItemKitStairwell", + "target_prefab_hash": -1868555784, + "tier": "TierOne", + "time": 20.0, + "energy": 6000.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 1, + "reagents": { + "Iron": 15.0 + } + }, + { + "target_prefab": "ItemKitRocketScanner", + "target_prefab_hash": 1753647154, "tier": "TierOne", "time": 60.0, "energy": 60000.0, @@ -48405,10 +52216,12 @@ export default { "Gold": 10.0 } }, - "ItemKitRocketTransformerSmall": { + { + "target_prefab": "ItemRocketScanningHead", + "target_prefab_hash": -1198702771, "tier": "TierOne", "time": 60.0, - "energy": 12000.0, + "energy": 60000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -48427,14 +52240,16 @@ export default { }, "count_types": 2, "reagents": { - "Electrum": 5.0, - "Steel": 10.0 + "Copper": 3.0, + "Gold": 2.0 } }, - "ItemKitStairwell": { + { + "target_prefab": "ItemRocketMiningDrillHead", + "target_prefab_hash": 2109945337, "tier": "TierOne", - "time": 20.0, - "energy": 6000.0, + "time": 30.0, + "energy": 5000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -48453,10 +52268,12 @@ export default { }, "count_types": 1, "reagents": { - "Iron": 15.0 + "Iron": 20.0 } }, - "ItemRocketMiningDrillHead": { + { + "target_prefab": "ItemRocketMiningDrillHeadMineral", + "target_prefab_hash": 1083675581, "tier": "TierOne", "time": 30.0, "energy": 5000.0, @@ -48476,12 +52293,15 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 2, "reagents": { - "Iron": 20.0 + "Iron": 10.0, + "Steel": 10.0 } }, - "ItemRocketMiningDrillHeadDurable": { + { + "target_prefab": "ItemRocketMiningDrillHeadIce", + "target_prefab_hash": -380904592, "tier": "TierOne", "time": 30.0, "energy": 5000.0, @@ -48507,7 +52327,9 @@ export default { "Steel": 10.0 } }, - "ItemRocketMiningDrillHeadHighSpeedIce": { + { + "target_prefab": "ItemRocketMiningDrillHeadDurable", + "target_prefab_hash": 1530764483, "tier": "TierOne", "time": 30.0, "energy": 5000.0, @@ -48529,11 +52351,13 @@ export default { }, "count_types": 2, "reagents": { - "Invar": 5.0, + "Iron": 10.0, "Steel": 10.0 } }, - "ItemRocketMiningDrillHeadHighSpeedMineral": { + { + "target_prefab": "ItemRocketMiningDrillHeadLongTerm", + "target_prefab_hash": -684020753, "tier": "TierOne", "time": 30.0, "energy": 5000.0, @@ -48559,7 +52383,9 @@ export default { "Steel": 10.0 } }, - "ItemRocketMiningDrillHeadIce": { + { + "target_prefab": "ItemRocketMiningDrillHeadHighSpeedIce", + "target_prefab_hash": 653461728, "tier": "TierOne", "time": 30.0, "energy": 5000.0, @@ -48581,11 +52407,13 @@ export default { }, "count_types": 2, "reagents": { - "Iron": 10.0, + "Invar": 5.0, "Steel": 10.0 } }, - "ItemRocketMiningDrillHeadLongTerm": { + { + "target_prefab": "ItemRocketMiningDrillHeadHighSpeedMineral", + "target_prefab_hash": 1440678625, "tier": "TierOne", "time": 30.0, "energy": 5000.0, @@ -48611,10 +52439,12 @@ export default { "Steel": 10.0 } }, - "ItemRocketMiningDrillHeadMineral": { + { + "target_prefab": "ItemKitGovernedGasRocketEngine", + "target_prefab_hash": 206848766, "tier": "TierOne", - "time": 30.0, - "energy": 5000.0, + "time": 60.0, + "energy": 60000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -48631,13 +52461,46 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Iron": 10.0, - "Steel": 10.0 + "Copper": 10.0, + "Gold": 5.0, + "Iron": 15.0 + } + }, + { + "target_prefab": "ItemKitPressureFedGasEngine", + "target_prefab_hash": -121514007, + "tier": "TierOne", + "time": 60.0, + "energy": 60000.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 4, + "reagents": { + "Constantan": 10.0, + "Electrum": 5.0, + "Invar": 20.0, + "Steel": 20.0 } }, - "ItemRocketScanningHead": { + { + "target_prefab": "ItemKitPressureFedLiquidEngine", + "target_prefab_hash": -99091572, "tier": "TierOne", "time": 60.0, "energy": 60000.0, @@ -48657,13 +52520,71 @@ export default { "is_any_to_remove": false, "reagents": {} }, + "count_types": 3, + "reagents": { + "Astroloy": 10.0, + "Inconel": 5.0, + "Waspaloy": 15.0 + } + }, + { + "target_prefab": "ItemKitPumpedLiquidEngine", + "target_prefab_hash": 1921918951, + "tier": "TierOne", + "time": 60.0, + "energy": 60000.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 3, + "reagents": { + "Constantan": 10.0, + "Electrum": 5.0, + "Steel": 15.0 + } + }, + { + "target_prefab": "ItemKitRocketTransformerSmall", + "target_prefab_hash": -932335800, + "tier": "TierOne", + "time": 60.0, + "energy": 12000.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, "count_types": 2, "reagents": { - "Copper": 3.0, - "Gold": 2.0 + "Electrum": 5.0, + "Steel": 10.0 } } - } + ] }, "memory": { "instructions": { @@ -49049,16 +52970,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Export", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Export", + "class": "None", + "index": 0 + } }, - { - "name": "Drill Head Slot", - "typ": "DrillHead" + "1": { + "Direct": { + "name": "Drill Head Slot", + "class": "DrillHead", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -49109,12 +53036,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Scanner Head Slot", - "typ": "ScanningHead" + "slots": { + "0": { + "Direct": { + "name": "Scanner Head Slot", + "class": "ScanningHead", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -49174,7 +53104,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -49239,12 +53169,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "None", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -49294,12 +53227,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "None", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -49366,16 +53302,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "None", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -49446,7 +53388,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -49506,16 +53448,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "Ingot" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "Ingot", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -49570,8 +53518,39 @@ export default { }, "fabricator_info": { "tier": "Undefined", - "recipes": { - "AccessCardBlack": { + "recipes": [ + { + "target_prefab": "CartridgeAccessController", + "target_prefab_hash": -1634532552, + "tier": "TierOne", + "time": 5.0, + "energy": 100.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 3, + "reagents": { + "Copper": 5.0, + "Gold": 5.0, + "Iron": 1.0 + } + }, + { + "target_prefab": "AccessCardBlack", + "target_prefab_hash": -1330388999, "tier": "TierOne", "time": 2.0, "energy": 200.0, @@ -49598,7 +53577,9 @@ export default { "Iron": 1.0 } }, - "AccessCardBlue": { + { + "target_prefab": "AccessCardBlue", + "target_prefab_hash": -1411327657, "tier": "TierOne", "time": 2.0, "energy": 200.0, @@ -49625,7 +53606,9 @@ export default { "Iron": 1.0 } }, - "AccessCardBrown": { + { + "target_prefab": "AccessCardBrown", + "target_prefab_hash": 1412428165, "tier": "TierOne", "time": 2.0, "energy": 200.0, @@ -49652,7 +53635,9 @@ export default { "Iron": 1.0 } }, - "AccessCardGray": { + { + "target_prefab": "AccessCardGray", + "target_prefab_hash": -1339479035, "tier": "TierOne", "time": 2.0, "energy": 200.0, @@ -49679,7 +53664,9 @@ export default { "Iron": 1.0 } }, - "AccessCardGreen": { + { + "target_prefab": "AccessCardGreen", + "target_prefab_hash": -374567952, "tier": "TierOne", "time": 2.0, "energy": 200.0, @@ -49706,7 +53693,9 @@ export default { "Iron": 1.0 } }, - "AccessCardKhaki": { + { + "target_prefab": "AccessCardKhaki", + "target_prefab_hash": 337035771, "tier": "TierOne", "time": 2.0, "energy": 200.0, @@ -49733,7 +53722,9 @@ export default { "Iron": 1.0 } }, - "AccessCardOrange": { + { + "target_prefab": "AccessCardOrange", + "target_prefab_hash": -332896929, "tier": "TierOne", "time": 2.0, "energy": 200.0, @@ -49760,7 +53751,9 @@ export default { "Iron": 1.0 } }, - "AccessCardPink": { + { + "target_prefab": "AccessCardPink", + "target_prefab_hash": 431317557, "tier": "TierOne", "time": 2.0, "energy": 200.0, @@ -49787,7 +53780,9 @@ export default { "Iron": 1.0 } }, - "AccessCardPurple": { + { + "target_prefab": "AccessCardPurple", + "target_prefab_hash": 459843265, "tier": "TierOne", "time": 2.0, "energy": 200.0, @@ -49814,7 +53809,9 @@ export default { "Iron": 1.0 } }, - "AccessCardRed": { + { + "target_prefab": "AccessCardRed", + "target_prefab_hash": -1713748313, "tier": "TierOne", "time": 2.0, "energy": 200.0, @@ -49841,7 +53838,9 @@ export default { "Iron": 1.0 } }, - "AccessCardWhite": { + { + "target_prefab": "AccessCardWhite", + "target_prefab_hash": 2079959157, "tier": "TierOne", "time": 2.0, "energy": 200.0, @@ -49868,7 +53867,9 @@ export default { "Iron": 1.0 } }, - "AccessCardYellow": { + { + "target_prefab": "AccessCardYellow", + "target_prefab_hash": 568932536, "tier": "TierOne", "time": 2.0, "energy": 200.0, @@ -49895,34 +53896,9 @@ export default { "Iron": 1.0 } }, - "CartridgeAccessController": { - "tier": "TierOne", - "time": 5.0, - "energy": 100.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 3, - "reagents": { - "Copper": 5.0, - "Gold": 5.0, - "Iron": 1.0 - } - }, - "FireArmSMG": { + { + "target_prefab": "Handgun", + "target_prefab_hash": 247238062, "tier": "TierOne", "time": 120.0, "energy": 3000.0, @@ -49948,10 +53924,12 @@ export default { "Steel": 30.0 } }, - "Handgun": { + { + "target_prefab": "HandgunMagazine", + "target_prefab_hash": 1254383185, "tier": "TierOne", - "time": 120.0, - "energy": 3000.0, + "time": 60.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -49968,16 +53946,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Nickel": 10.0, - "Steel": 30.0 + "Copper": 3.0, + "Lead": 1.0, + "Steel": 3.0 } }, - "HandgunMagazine": { + { + "target_prefab": "ItemAmmoBox", + "target_prefab_hash": -9559091, "tier": "TierOne", - "time": 60.0, - "energy": 500.0, + "time": 120.0, + "energy": 3000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -49996,15 +53977,17 @@ export default { }, "count_types": 3, "reagents": { - "Copper": 3.0, - "Lead": 1.0, - "Steel": 3.0 + "Copper": 30.0, + "Lead": 50.0, + "Steel": 30.0 } }, - "ItemAmmoBox": { + { + "target_prefab": "ItemGrenade", + "target_prefab_hash": 1544275894, "tier": "TierOne", - "time": 120.0, - "energy": 3000.0, + "time": 90.0, + "energy": 2900.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -50021,14 +54004,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 4, "reagents": { - "Copper": 30.0, - "Lead": 50.0, - "Steel": 30.0 + "Copper": 15.0, + "Gold": 1.0, + "Lead": 25.0, + "Steel": 25.0 } }, - "ItemExplosive": { + { + "target_prefab": "ItemExplosive", + "target_prefab_hash": 235361649, "tier": "TierTwo", "time": 10.0, "energy": 500.0, @@ -50055,10 +54041,12 @@ export default { "Solder": 1.0 } }, - "ItemGrenade": { + { + "target_prefab": "ItemMiningCharge", + "target_prefab_hash": 15829510, "tier": "TierOne", - "time": 90.0, - "energy": 2900.0, + "time": 5.0, + "energy": 200.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -50075,18 +54063,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 3, "reagents": { - "Copper": 15.0, "Gold": 1.0, - "Lead": 25.0, - "Steel": 25.0 + "Iron": 1.0, + "Silicon": 3.0 } }, - "ItemMiningCharge": { - "tier": "TierOne", - "time": 5.0, - "energy": 200.0, + { + "target_prefab": "WeaponPistolEnergy", + "target_prefab_hash": -385323479, + "tier": "TierTwo", + "time": 120.0, + "energy": 3000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -50103,17 +54092,20 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 4, "reagents": { - "Gold": 1.0, - "Iron": 1.0, - "Silicon": 3.0 + "Electrum": 20.0, + "Gold": 10.0, + "Solder": 10.0, + "Steel": 10.0 } }, - "SMGMagazine": { - "tier": "TierOne", - "time": 60.0, - "energy": 500.0, + { + "target_prefab": "WeaponRifleEnergy", + "target_prefab_hash": 1154745374, + "tier": "TierTwo", + "time": 240.0, + "energy": 10000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -50130,15 +54122,20 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 6, "reagents": { - "Copper": 3.0, - "Lead": 1.0, - "Steel": 3.0 + "Constantan": 10.0, + "Electrum": 20.0, + "Gold": 10.0, + "Invar": 10.0, + "Solder": 10.0, + "Steel": 20.0 } }, - "WeaponPistolEnergy": { - "tier": "TierTwo", + { + "target_prefab": "FireArmSMG", + "target_prefab_hash": -86315541, + "tier": "TierOne", "time": 120.0, "energy": 3000.0, "temperature": { @@ -50157,18 +54154,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 2, "reagents": { - "Electrum": 20.0, - "Gold": 10.0, - "Solder": 10.0, - "Steel": 10.0 + "Nickel": 10.0, + "Steel": 30.0 } }, - "WeaponRifleEnergy": { - "tier": "TierTwo", - "time": 240.0, - "energy": 10000.0, + { + "target_prefab": "SMGMagazine", + "target_prefab_hash": -256607540, + "tier": "TierOne", + "time": 60.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -50185,17 +54182,14 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 6, + "count_types": 3, "reagents": { - "Constantan": 10.0, - "Electrum": 20.0, - "Gold": 10.0, - "Invar": 10.0, - "Solder": 10.0, - "Steel": 20.0 + "Copper": 3.0, + "Lead": 1.0, + "Steel": 3.0 } } - } + ] }, "memory": { "instructions": { @@ -50557,28 +54551,43 @@ export default { "structure": { "small_grid": true }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "", - "typ": "None" + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } }, - { - "name": "", - "typ": "None" + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } }, - { - "name": "", - "typ": "None" + "4": { + "Direct": { + "name": "", + "class": "None", + "index": 4 + } } - ] + } }, "StructureShelfMedium": { "templateType": "StructureLogicDevice", @@ -50769,68 +54778,113 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "", - "typ": "None" + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } }, - { - "name": "", - "typ": "None" + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } }, - { - "name": "", - "typ": "None" + "4": { + "Direct": { + "name": "", + "class": "None", + "index": 4 + } }, - { - "name": "", - "typ": "None" + "5": { + "Direct": { + "name": "", + "class": "None", + "index": 5 + } }, - { - "name": "", - "typ": "None" + "6": { + "Direct": { + "name": "", + "class": "None", + "index": 6 + } }, - { - "name": "", - "typ": "None" + "7": { + "Direct": { + "name": "", + "class": "None", + "index": 7 + } }, - { - "name": "", - "typ": "None" + "8": { + "Direct": { + "name": "", + "class": "None", + "index": 8 + } }, - { - "name": "", - "typ": "None" + "9": { + "Direct": { + "name": "", + "class": "None", + "index": 9 + } }, - { - "name": "", - "typ": "None" + "10": { + "Direct": { + "name": "", + "class": "None", + "index": 10 + } }, - { - "name": "", - "typ": "None" + "11": { + "Direct": { + "name": "", + "class": "None", + "index": 11 + } }, - { - "name": "", - "typ": "None" + "12": { + "Direct": { + "name": "", + "class": "None", + "index": 12 + } }, - { - "name": "", - "typ": "None" + "13": { + "Direct": { + "name": "", + "class": "None", + "index": 13 + } }, - { - "name": "", - "typ": "None" + "14": { + "Direct": { + "name": "", + "class": "None", + "index": 14 + } } - ], + }, "device": { "connection_list": [], "has_activate_state": false, @@ -50890,16 +54944,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } } - ], + }, "device": { "connection_list": [], "has_activate_state": false, @@ -51047,48 +55107,78 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "", - "typ": "None" + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } }, - { - "name": "", - "typ": "None" + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } }, - { - "name": "", - "typ": "None" + "4": { + "Direct": { + "name": "", + "class": "None", + "index": 4 + } }, - { - "name": "", - "typ": "None" + "5": { + "Direct": { + "name": "", + "class": "None", + "index": 5 + } }, - { - "name": "", - "typ": "None" + "6": { + "Direct": { + "name": "", + "class": "None", + "index": 6 + } }, - { - "name": "", - "typ": "None" + "7": { + "Direct": { + "name": "", + "class": "None", + "index": 7 + } }, - { - "name": "", - "typ": "None" + "8": { + "Direct": { + "name": "", + "class": "None", + "index": 8 + } }, - { - "name": "", - "typ": "None" + "9": { + "Direct": { + "name": "", + "class": "None", + "index": 9 + } } - ], + }, "device": { "connection_list": [], "has_activate_state": false, @@ -51128,7 +55218,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -51177,7 +55267,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -51229,7 +55319,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [], "has_activate_state": false, @@ -51264,7 +55354,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [], "has_activate_state": false, @@ -51311,12 +55401,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Bed", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Bed", + "class": "Entity", + "index": 0 + } } - ], + }, "device": { "connection_list": [], "has_activate_state": false, @@ -51378,12 +55471,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Bed", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Bed", + "class": "Entity", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -51454,12 +55550,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Player", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Player", + "class": "Entity", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -51530,12 +55629,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Player", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Player", + "class": "Entity", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -51606,12 +55708,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Player", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Player", + "class": "Entity", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -51668,12 +55773,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Player", - "typ": "Entity" + "slots": { + "0": { + "Direct": { + "name": "Player", + "class": "Entity", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -51720,7 +55828,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -51767,7 +55875,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -51814,7 +55922,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -51877,7 +55985,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -52010,7 +56118,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -52055,7 +56163,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -52100,7 +56208,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -52145,7 +56253,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -52194,7 +56302,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -52243,7 +56351,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -52288,7 +56396,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -52333,7 +56441,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -52394,12 +56502,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Input", - "typ": "Ore" + "slots": { + "0": { + "Direct": { + "name": "Input", + "class": "Ore", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -52515,24 +56626,36 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "None", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } }, - { - "name": "Export 2", - "typ": "None" + "2": { + "Direct": { + "name": "Export 2", + "class": "None", + "index": 2 + } }, - { - "name": "Data Disk", - "typ": "DataDisk" + "3": { + "Direct": { + "name": "Data Disk", + "class": "DataDisk", + "index": 3 + } } - ], + }, "device": { "connection_list": [ { @@ -52634,20 +56757,29 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "None", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } }, - { - "name": "Processing", - "typ": "None" + "2": { + "Direct": { + "name": "Processing", + "class": "None", + "index": 2 + } } - ], + }, "device": { "connection_list": [ { @@ -52745,20 +56877,29 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "None", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } }, - { - "name": "Export", - "typ": "None" + "2": { + "Direct": { + "name": "Export", + "class": "None", + "index": 2 + } } - ], + }, "device": { "connection_list": [ { @@ -52977,12 +57118,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Gas Canister", - "typ": "GasCanister" + "slots": { + "0": { + "Direct": { + "name": "Gas Canister", + "class": "GasCanister", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -53367,128 +57511,218 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } + }, + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "", - "typ": "None" + "2": { + "Direct": { + "name": "", + "class": "None", + "index": 2 + } }, - { - "name": "", - "typ": "None" + "3": { + "Direct": { + "name": "", + "class": "None", + "index": 3 + } }, - { - "name": "", - "typ": "None" + "4": { + "Direct": { + "name": "", + "class": "None", + "index": 4 + } }, - { - "name": "", - "typ": "None" + "5": { + "Direct": { + "name": "", + "class": "None", + "index": 5 + } }, - { - "name": "", - "typ": "None" + "6": { + "Direct": { + "name": "", + "class": "None", + "index": 6 + } }, - { - "name": "", - "typ": "None" + "7": { + "Direct": { + "name": "", + "class": "None", + "index": 7 + } }, - { - "name": "", - "typ": "None" + "8": { + "Direct": { + "name": "", + "class": "None", + "index": 8 + } }, - { - "name": "", - "typ": "None" + "9": { + "Direct": { + "name": "", + "class": "None", + "index": 9 + } }, - { - "name": "", - "typ": "None" + "10": { + "Direct": { + "name": "", + "class": "None", + "index": 10 + } }, - { - "name": "", - "typ": "None" + "11": { + "Direct": { + "name": "", + "class": "None", + "index": 11 + } }, - { - "name": "", - "typ": "None" + "12": { + "Direct": { + "name": "", + "class": "None", + "index": 12 + } }, - { - "name": "", - "typ": "None" + "13": { + "Direct": { + "name": "", + "class": "None", + "index": 13 + } }, - { - "name": "", - "typ": "None" + "14": { + "Direct": { + "name": "", + "class": "None", + "index": 14 + } }, - { - "name": "", - "typ": "None" + "15": { + "Direct": { + "name": "", + "class": "None", + "index": 15 + } }, - { - "name": "", - "typ": "None" + "16": { + "Direct": { + "name": "", + "class": "None", + "index": 16 + } }, - { - "name": "", - "typ": "None" + "17": { + "Direct": { + "name": "", + "class": "None", + "index": 17 + } }, - { - "name": "", - "typ": "None" + "18": { + "Direct": { + "name": "", + "class": "None", + "index": 18 + } }, - { - "name": "", - "typ": "None" + "19": { + "Direct": { + "name": "", + "class": "None", + "index": 19 + } }, - { - "name": "", - "typ": "None" + "20": { + "Direct": { + "name": "", + "class": "None", + "index": 20 + } }, - { - "name": "", - "typ": "None" + "21": { + "Direct": { + "name": "", + "class": "None", + "index": 21 + } }, - { - "name": "", - "typ": "None" + "22": { + "Direct": { + "name": "", + "class": "None", + "index": 22 + } }, - { - "name": "", - "typ": "None" + "23": { + "Direct": { + "name": "", + "class": "None", + "index": 23 + } }, - { - "name": "", - "typ": "None" + "24": { + "Direct": { + "name": "", + "class": "None", + "index": 24 + } }, - { - "name": "", - "typ": "None" - }, - { - "name": "", - "typ": "None" + "25": { + "Direct": { + "name": "", + "class": "None", + "index": 25 + } }, - { - "name": "", - "typ": "None" + "26": { + "Direct": { + "name": "", + "class": "None", + "index": 26 + } }, - { - "name": "", - "typ": "None" + "27": { + "Direct": { + "name": "", + "class": "None", + "index": 27 + } }, - { - "name": "", - "typ": "None" + "28": { + "Direct": { + "name": "", + "class": "None", + "index": 28 + } }, - { - "name": "", - "typ": "None" + "29": { + "Direct": { + "name": "", + "class": "None", + "index": 29 + } } - ], + }, "device": { "connection_list": [], "has_activate_state": false, @@ -53578,20 +57812,29 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Helmet", - "typ": "Helmet" + "slots": { + "0": { + "Direct": { + "name": "Helmet", + "class": "Helmet", + "index": 0 + } }, - { - "name": "Suit", - "typ": "Suit" + "1": { + "Direct": { + "name": "Suit", + "class": "Suit", + "index": 1 + } }, - { - "name": "Back", - "typ": "Back" + "2": { + "Direct": { + "name": "Back", + "class": "Back", + "index": 2 + } } - ], + }, "device": { "connection_list": [ { @@ -53678,7 +57921,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -53753,7 +57996,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -53790,12 +58033,15 @@ export default { "convection_factor": 0.010000001, "radiation_factor": 0.0005 }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } } - ] + } }, "StructureTankConnectorLiquid": { "templateType": "StructureSlots", @@ -53812,12 +58058,15 @@ export default { "convection_factor": 0.010000001, "radiation_factor": 0.0005 }, - "slots": [ - { - "name": "Portable Slot", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Portable Slot", + "class": "None", + "index": 0 + } } - ] + } }, "StructureTankSmall": { "templateType": "StructureLogicDevice", @@ -53872,7 +58121,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -53947,7 +58196,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -54022,7 +58271,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -54097,7 +58346,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -54157,16 +58406,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "Ingot" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "Ingot", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -54221,11 +58476,13 @@ export default { }, "fabricator_info": { "tier": "Undefined", - "recipes": { - "FlareGun": { + "recipes": [ + { + "target_prefab": "ItemSprayCanBlack", + "target_prefab_hash": -688107795, "tier": "TierOne", - "time": 10.0, - "energy": 2000.0, + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -54242,15 +58499,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 1, "reagents": { - "Iron": 10.0, - "Silicon": 10.0 + "Iron": 1.0 } }, - "ItemAngleGrinder": { + { + "target_prefab": "ItemSprayCanBlue", + "target_prefab_hash": -498464883, "tier": "TierOne", - "time": 10.0, + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -54268,16 +58526,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 1, "reagents": { - "Copper": 1.0, - "Iron": 3.0 + "Iron": 1.0 } }, - "ItemArcWelder": { + { + "target_prefab": "ItemSprayCanBrown", + "target_prefab_hash": 845176977, "tier": "TierOne", - "time": 30.0, - "energy": 2500.0, + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -54294,17 +58553,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 1, "reagents": { - "Electrum": 10.0, - "Invar": 5.0, - "Solder": 10.0, - "Steel": 10.0 + "Iron": 1.0 } }, - "ItemBasketBall": { + { + "target_prefab": "ItemSprayCanGreen", + "target_prefab_hash": -1880941852, "tier": "TierOne", - "time": 1.0, + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -54324,12 +58582,14 @@ export default { }, "count_types": 1, "reagents": { - "Silicon": 1.0 + "Iron": 1.0 } }, - "ItemBeacon": { + { + "target_prefab": "ItemSprayCanGrey", + "target_prefab_hash": -1645266981, "tier": "TierOne", - "time": 10.0, + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -54347,16 +58607,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Copper": 2.0, - "Gold": 1.0, - "Iron": 2.0 + "Iron": 1.0 } }, - "ItemChemLightBlue": { + { + "target_prefab": "ItemSprayCanKhaki", + "target_prefab_hash": 1918456047, "tier": "TierOne", - "time": 1.0, + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -54376,12 +58636,14 @@ export default { }, "count_types": 1, "reagents": { - "Silicon": 1.0 + "Iron": 1.0 } }, - "ItemChemLightGreen": { + { + "target_prefab": "ItemSprayCanOrange", + "target_prefab_hash": -158007629, "tier": "TierOne", - "time": 1.0, + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -54401,12 +58663,14 @@ export default { }, "count_types": 1, "reagents": { - "Silicon": 1.0 + "Iron": 1.0 } }, - "ItemChemLightRed": { + { + "target_prefab": "ItemSprayCanPink", + "target_prefab_hash": 1344257263, "tier": "TierOne", - "time": 1.0, + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -54426,12 +58690,14 @@ export default { }, "count_types": 1, "reagents": { - "Silicon": 1.0 + "Iron": 1.0 } }, - "ItemChemLightWhite": { + { + "target_prefab": "ItemSprayCanPurple", + "target_prefab_hash": 30686509, "tier": "TierOne", - "time": 1.0, + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -54451,12 +58717,14 @@ export default { }, "count_types": 1, "reagents": { - "Silicon": 1.0 + "Iron": 1.0 } }, - "ItemChemLightYellow": { + { + "target_prefab": "ItemSprayCanRed", + "target_prefab_hash": 1514393921, "tier": "TierOne", - "time": 1.0, + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -54476,10 +58744,12 @@ export default { }, "count_types": 1, "reagents": { - "Silicon": 1.0 + "Iron": 1.0 } }, - "ItemClothingBagOveralls_Aus": { + { + "target_prefab": "ItemSprayCanWhite", + "target_prefab_hash": 498481505, "tier": "TierOne", "time": 5.0, "energy": 500.0, @@ -54501,10 +58771,12 @@ export default { }, "count_types": 1, "reagents": { - "Silicon": 25.0 + "Iron": 1.0 } }, - "ItemClothingBagOveralls_Brazil": { + { + "target_prefab": "ItemSprayCanYellow", + "target_prefab_hash": 995468116, "tier": "TierOne", "time": 5.0, "energy": 500.0, @@ -54526,12 +58798,14 @@ export default { }, "count_types": 1, "reagents": { - "Silicon": 25.0 + "Iron": 1.0 } }, - "ItemClothingBagOveralls_Canada": { - "tier": "TierOne", - "time": 5.0, + { + "target_prefab": "ItemMKIICrowbar", + "target_prefab_hash": 1440775434, + "tier": "TierTwo", + "time": 10.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -54549,14 +58823,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 2, "reagents": { - "Silicon": 25.0 + "Electrum": 5.0, + "Iron": 5.0 } }, - "ItemClothingBagOveralls_China": { - "tier": "TierOne", - "time": 5.0, + { + "target_prefab": "ItemMKIIWrench", + "target_prefab_hash": 1862001680, + "tier": "TierTwo", + "time": 10.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -54574,13 +58851,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 2, "reagents": { - "Silicon": 25.0 + "Electrum": 3.0, + "Iron": 3.0 } }, - "ItemClothingBagOveralls_EU": { - "tier": "TierOne", + { + "target_prefab": "ItemMKIIDuctTape", + "target_prefab_hash": 388774906, + "tier": "TierTwo", "time": 5.0, "energy": 500.0, "temperature": { @@ -54599,14 +58879,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 2, "reagents": { - "Silicon": 25.0 + "Electrum": 1.0, + "Iron": 2.0 } }, - "ItemClothingBagOveralls_France": { - "tier": "TierOne", - "time": 5.0, + { + "target_prefab": "ItemMKIIDrill", + "target_prefab_hash": 324791548, + "tier": "TierTwo", + "time": 10.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -54624,14 +58907,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 3, "reagents": { - "Silicon": 25.0 + "Copper": 5.0, + "Electrum": 5.0, + "Iron": 5.0 } }, - "ItemClothingBagOveralls_Germany": { - "tier": "TierOne", - "time": 5.0, + { + "target_prefab": "ItemMKIIScrewdriver", + "target_prefab_hash": -2015613246, + "tier": "TierTwo", + "time": 10.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -54649,13 +58936,75 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 2, "reagents": { - "Silicon": 25.0 + "Electrum": 2.0, + "Iron": 2.0 } }, - "ItemClothingBagOveralls_Japan": { - "tier": "TierOne", + { + "target_prefab": "ItemMKIIArcWelder", + "target_prefab_hash": -2061979347, + "tier": "TierTwo", + "time": 30.0, + "energy": 2500.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 4, + "reagents": { + "Electrum": 14.0, + "Invar": 5.0, + "Solder": 10.0, + "Steel": 10.0 + } + }, + { + "target_prefab": "ItemMKIIAngleGrinder", + "target_prefab_hash": 240174650, + "tier": "TierTwo", + "time": 10.0, + "energy": 500.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 3, + "reagents": { + "Copper": 1.0, + "Electrum": 4.0, + "Iron": 3.0 + } + }, + { + "target_prefab": "ItemMKIIWireCutters", + "target_prefab_hash": -178893251, + "tier": "TierTwo", "time": 5.0, "energy": 500.0, "temperature": { @@ -54674,13 +59023,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 2, "reagents": { - "Silicon": 25.0 + "Electrum": 5.0, + "Iron": 3.0 } }, - "ItemClothingBagOveralls_Korea": { - "tier": "TierOne", + { + "target_prefab": "ItemMKIIMiningDrill", + "target_prefab_hash": -1875271296, + "tier": "TierTwo", "time": 5.0, "energy": 500.0, "temperature": { @@ -54699,14 +59051,47 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 3, "reagents": { - "Silicon": 25.0 + "Copper": 2.0, + "Electrum": 5.0, + "Iron": 3.0 } }, - "ItemClothingBagOveralls_NZ": { + { + "target_prefab": "ItemSprayGun", + "target_prefab_hash": 1289723966, + "tier": "TierTwo", + "time": 10.0, + "energy": 2000.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 3, + "reagents": { + "Invar": 5.0, + "Silicon": 10.0, + "Steel": 10.0 + } + }, + { + "target_prefab": "ItemCrowbar", + "target_prefab_hash": 856108234, "tier": "TierOne", - "time": 5.0, + "time": 10.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -54726,12 +59111,14 @@ export default { }, "count_types": 1, "reagents": { - "Silicon": 25.0 + "Iron": 5.0 } }, - "ItemClothingBagOveralls_Russia": { + { + "target_prefab": "ItemWearLamp", + "target_prefab_hash": -598730959, "tier": "TierOne", - "time": 5.0, + "time": 15.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -54749,14 +59136,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 2, "reagents": { - "Silicon": 25.0 + "Copper": 2.0, + "Gold": 2.0 } }, - "ItemClothingBagOveralls_SouthAfrica": { + { + "target_prefab": "ItemFlashlight", + "target_prefab_hash": -838472102, "tier": "TierOne", - "time": 5.0, + "time": 15.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -54774,14 +59164,46 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 2, "reagents": { - "Silicon": 25.0 + "Copper": 2.0, + "Gold": 2.0 } }, - "ItemClothingBagOveralls_UK": { + { + "target_prefab": "ItemDisposableBatteryCharger", + "target_prefab_hash": -2124435700, "tier": "TierOne", - "time": 5.0, + "time": 10.0, + "energy": 1000.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 3, + "reagents": { + "Copper": 5.0, + "Gold": 2.0, + "Iron": 2.0 + } + }, + { + "target_prefab": "ItemBeacon", + "target_prefab_hash": -869869491, + "tier": "TierOne", + "time": 10.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -54799,14 +59221,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 3, "reagents": { - "Silicon": 25.0 + "Copper": 2.0, + "Gold": 1.0, + "Iron": 2.0 } }, - "ItemClothingBagOveralls_US": { + { + "target_prefab": "ItemWrench", + "target_prefab_hash": -1886261558, "tier": "TierOne", - "time": 5.0, + "time": 10.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -54826,10 +59252,12 @@ export default { }, "count_types": 1, "reagents": { - "Silicon": 25.0 + "Iron": 3.0 } }, - "ItemClothingBagOveralls_Ukraine": { + { + "target_prefab": "ItemDuctTape", + "target_prefab_hash": -1943134693, "tier": "TierOne", "time": 5.0, "energy": 500.0, @@ -54851,10 +59279,12 @@ export default { }, "count_types": 1, "reagents": { - "Silicon": 25.0 + "Iron": 2.0 } }, - "ItemCrowbar": { + { + "target_prefab": "ItemDrill", + "target_prefab_hash": 2009673399, "tier": "TierOne", "time": 10.0, "energy": 500.0, @@ -54874,15 +59304,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 2, "reagents": { + "Copper": 5.0, "Iron": 5.0 } }, - "ItemDirtCanister": { + { + "target_prefab": "ToyLuna", + "target_prefab_hash": 94730034, "tier": "TierOne", - "time": 5.0, - "energy": 400.0, + "time": 10.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -54899,15 +59332,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 2, "reagents": { - "Iron": 3.0 + "Gold": 1.0, + "Iron": 5.0 } }, - "ItemDisposableBatteryCharger": { + { + "target_prefab": "ItemScrewdriver", + "target_prefab_hash": 687940869, "tier": "TierOne", "time": 10.0, - "energy": 1000.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -54924,14 +59360,44 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Copper": 5.0, - "Gold": 2.0, "Iron": 2.0 } }, - "ItemDrill": { + { + "target_prefab": "ItemArcWelder", + "target_prefab_hash": 1385062886, + "tier": "TierOne", + "time": 30.0, + "energy": 2500.0, + "temperature": { + "start": 1.0, + "stop": 80000.0, + "is_valid": false + }, + "pressure": { + "start": 0.0, + "stop": 1000000.0, + "is_valid": false + }, + "required_mix": { + "rule": 0, + "is_any": true, + "is_any_to_remove": false, + "reagents": {} + }, + "count_types": 4, + "reagents": { + "Electrum": 10.0, + "Invar": 5.0, + "Solder": 10.0, + "Steel": 10.0 + } + }, + { + "target_prefab": "ItemWeldingTorch", + "target_prefab_hash": -2066892079, "tier": "TierOne", "time": 10.0, "energy": 500.0, @@ -54953,13 +59419,15 @@ export default { }, "count_types": 2, "reagents": { - "Copper": 5.0, - "Iron": 5.0 + "Copper": 1.0, + "Iron": 3.0 } }, - "ItemDuctTape": { + { + "target_prefab": "ItemAngleGrinder", + "target_prefab_hash": 201215010, "tier": "TierOne", - "time": 5.0, + "time": 10.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -54977,15 +59445,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 2, "reagents": { - "Iron": 2.0 + "Copper": 1.0, + "Iron": 3.0 } }, - "ItemEvaSuit": { + { + "target_prefab": "ItemTerrainManipulator", + "target_prefab_hash": 111280987, "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + "time": 15.0, + "energy": 600.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55002,16 +59473,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Copper": 2.0, + "Copper": 3.0, + "Gold": 2.0, "Iron": 5.0 } }, - "ItemExplosive": { - "tier": "TierTwo", - "time": 90.0, - "energy": 9000.0, + { + "target_prefab": "ItemDirtCanister", + "target_prefab_hash": 902565329, + "tier": "TierOne", + "time": 5.0, + "energy": 400.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55028,16 +59502,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Electrum": 1.0, - "Silicon": 7.0, - "Solder": 2.0 + "Iron": 3.0 } }, - "ItemFlagSmall": { + { + "target_prefab": "ItemWireCutters", + "target_prefab_hash": 1535854074, "tier": "TierOne", - "time": 1.0, + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -55057,12 +59531,14 @@ export default { }, "count_types": 1, "reagents": { - "Iron": 1.0 + "Iron": 3.0 } }, - "ItemFlashlight": { + { + "target_prefab": "ItemLabeller", + "target_prefab_hash": -743968726, "tier": "TierOne", - "time": 15.0, + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -55082,14 +59558,16 @@ export default { }, "count_types": 2, "reagents": { - "Copper": 2.0, - "Gold": 2.0 + "Gold": 1.0, + "Iron": 2.0 } }, - "ItemGlasses": { - "tier": "TierOne", - "time": 20.0, - "energy": 250.0, + { + "target_prefab": "ItemRemoteDetonator", + "target_prefab_hash": 678483886, + "tier": "TierTwo", + "time": 30.0, + "energy": 1500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55106,16 +59584,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 3, "reagents": { - "Iron": 15.0, - "Silicon": 10.0 + "Copper": 5.0, + "Solder": 5.0, + "Steel": 5.0 } }, - "ItemHardBackpack": { + { + "target_prefab": "ItemExplosive", + "target_prefab_hash": 235361649, "tier": "TierTwo", - "time": 30.0, - "energy": 1500.0, + "time": 90.0, + "energy": 9000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55134,15 +59615,17 @@ export default { }, "count_types": 3, "reagents": { - "Astroloy": 5.0, - "Steel": 15.0, - "Stellite": 5.0 + "Electrum": 1.0, + "Silicon": 7.0, + "Solder": 2.0 } }, - "ItemHardJetpack": { - "tier": "TierTwo", - "time": 40.0, - "energy": 1750.0, + { + "target_prefab": "ItemMiningCharge", + "target_prefab_hash": 15829510, + "tier": "TierOne", + "time": 60.0, + "energy": 6000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55159,18 +59642,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 3, "reagents": { - "Astroloy": 8.0, - "Steel": 20.0, - "Stellite": 8.0, - "Waspaloy": 8.0 + "Gold": 1.0, + "Iron": 1.0, + "Silicon": 5.0 } }, - "ItemHardMiningBackPack": { + { + "target_prefab": "ItemMiningDrill", + "target_prefab_hash": 1055173191, "tier": "TierOne", - "time": 10.0, - "energy": 1000.0, + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55189,14 +59673,16 @@ export default { }, "count_types": 2, "reagents": { - "Invar": 1.0, - "Steel": 6.0 + "Copper": 2.0, + "Iron": 3.0 } }, - "ItemHardSuit": { - "tier": "TierTwo", - "time": 60.0, - "energy": 3000.0, + { + "target_prefab": "ItemMiningDrillPneumatic", + "target_prefab_hash": 1258187304, + "tier": "TierOne", + "time": 20.0, + "energy": 2000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55215,15 +59701,17 @@ export default { }, "count_types": 3, "reagents": { - "Astroloy": 10.0, - "Steel": 20.0, - "Stellite": 2.0 + "Copper": 4.0, + "Solder": 4.0, + "Steel": 6.0 } }, - "ItemHardsuitHelmet": { + { + "target_prefab": "ItemMiningDrillHeavy", + "target_prefab_hash": -1663349918, "tier": "TierTwo", - "time": 50.0, - "energy": 1750.0, + "time": 30.0, + "energy": 2500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55240,14 +59728,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 4, "reagents": { - "Astroloy": 2.0, - "Steel": 10.0, - "Stellite": 2.0 + "Electrum": 5.0, + "Invar": 10.0, + "Solder": 10.0, + "Steel": 10.0 } }, - "ItemIgniter": { + { + "target_prefab": "ItemPickaxe", + "target_prefab_hash": -913649823, "tier": "TierOne", "time": 1.0, "energy": 500.0, @@ -55267,15 +59758,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 2, "reagents": { - "Copper": 3.0 + "Copper": 1.0, + "Iron": 2.0 } }, - "ItemJetpackBasic": { + { + "target_prefab": "ItemMiningBelt", + "target_prefab_hash": -676435305, "tier": "TierOne", - "time": 30.0, - "energy": 1500.0, + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55292,17 +59786,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Gold": 2.0, - "Lead": 5.0, - "Steel": 10.0 + "Iron": 3.0 } }, - "ItemKitBasket": { - "tier": "TierOne", - "time": 1.0, - "energy": 500.0, + { + "target_prefab": "ItemMiningBeltMKII", + "target_prefab_hash": 1470787934, + "tier": "TierTwo", + "time": 10.0, + "energy": 1000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55321,14 +59815,16 @@ export default { }, "count_types": 2, "reagents": { - "Copper": 2.0, - "Iron": 5.0 + "Constantan": 5.0, + "Steel": 10.0 } }, - "ItemLabeller": { + { + "target_prefab": "ItemMiningBackPack", + "target_prefab_hash": -1650383245, "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + "time": 8.0, + "energy": 800.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55345,16 +59841,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 1, "reagents": { - "Gold": 1.0, - "Iron": 2.0 + "Iron": 6.0 } }, - "ItemMKIIAngleGrinder": { - "tier": "TierTwo", + { + "target_prefab": "ItemHardMiningBackPack", + "target_prefab_hash": 900366130, + "tier": "TierOne", "time": 10.0, - "energy": 500.0, + "energy": 1000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55371,17 +59868,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Copper": 1.0, - "Electrum": 4.0, - "Iron": 3.0 + "Invar": 1.0, + "Steel": 6.0 } }, - "ItemMKIIArcWelder": { - "tier": "TierTwo", - "time": 30.0, - "energy": 2500.0, + { + "target_prefab": "ItemSpaceHelmet", + "target_prefab_hash": 714830451, + "tier": "TierOne", + "time": 15.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55398,17 +59896,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 2, "reagents": { - "Electrum": 14.0, - "Invar": 5.0, - "Solder": 10.0, - "Steel": 10.0 + "Copper": 2.0, + "Gold": 2.0 } }, - "ItemMKIICrowbar": { - "tier": "TierTwo", - "time": 10.0, + { + "target_prefab": "ItemSpacepack", + "target_prefab_hash": -1260618380, + "tier": "TierOne", + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -55428,14 +59926,16 @@ export default { }, "count_types": 2, "reagents": { - "Electrum": 5.0, + "Copper": 2.0, "Iron": 5.0 } }, - "ItemMKIIDrill": { - "tier": "TierTwo", - "time": 10.0, - "energy": 500.0, + { + "target_prefab": "ItemJetpackBasic", + "target_prefab_hash": 1969189000, + "tier": "TierOne", + "time": 30.0, + "energy": 1500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55454,13 +59954,15 @@ export default { }, "count_types": 3, "reagents": { - "Copper": 5.0, - "Electrum": 5.0, - "Iron": 5.0 + "Gold": 2.0, + "Lead": 5.0, + "Steel": 10.0 } }, - "ItemMKIIDuctTape": { - "tier": "TierTwo", + { + "target_prefab": "ItemEvaSuit", + "target_prefab_hash": 1677018918, + "tier": "TierOne", "time": 5.0, "energy": 500.0, "temperature": { @@ -55481,12 +59983,14 @@ export default { }, "count_types": 2, "reagents": { - "Electrum": 1.0, - "Iron": 2.0 + "Copper": 2.0, + "Iron": 5.0 } }, - "ItemMKIIMiningDrill": { - "tier": "TierTwo", + { + "target_prefab": "ItemToolBelt", + "target_prefab_hash": -355127880, + "tier": "TierOne", "time": 5.0, "energy": 500.0, "temperature": { @@ -55505,16 +60009,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Copper": 2.0, - "Electrum": 5.0, "Iron": 3.0 } }, - "ItemMKIIScrewdriver": { + { + "target_prefab": "ItemMkIIToolbelt", + "target_prefab_hash": 1467558064, "tier": "TierTwo", - "time": 10.0, + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -55534,14 +60038,16 @@ export default { }, "count_types": 2, "reagents": { - "Electrum": 2.0, - "Iron": 2.0 + "Constantan": 5.0, + "Iron": 3.0 } }, - "ItemMKIIWireCutters": { + { + "target_prefab": "WeaponPistolEnergy", + "target_prefab_hash": -385323479, "tier": "TierTwo", - "time": 5.0, - "energy": 500.0, + "time": 120.0, + "energy": 3000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55558,16 +60064,20 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 4, "reagents": { - "Electrum": 5.0, - "Iron": 3.0 + "Electrum": 20.0, + "Gold": 10.0, + "Solder": 10.0, + "Steel": 10.0 } }, - "ItemMKIIWrench": { + { + "target_prefab": "WeaponRifleEnergy", + "target_prefab_hash": 1154745374, "tier": "TierTwo", - "time": 10.0, - "energy": 500.0, + "time": 240.0, + "energy": 10000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55584,16 +60094,22 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 6, "reagents": { - "Electrum": 3.0, - "Iron": 3.0 + "Constantan": 10.0, + "Electrum": 20.0, + "Gold": 10.0, + "Invar": 10.0, + "Solder": 10.0, + "Steel": 20.0 } }, - "ItemMarineBodyArmor": { + { + "target_prefab": "UniformCommander", + "target_prefab_hash": -2083426457, "tier": "TierOne", - "time": 60.0, - "energy": 3000.0, + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55610,17 +60126,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Nickel": 10.0, - "Silicon": 10.0, - "Steel": 20.0 + "Silicon": 25.0 } }, - "ItemMarineHelmet": { + { + "target_prefab": "UniformOrangeJumpSuit", + "target_prefab_hash": 810053150, "tier": "TierOne", - "time": 45.0, - "energy": 1750.0, + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55637,17 +60153,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Gold": 4.0, - "Silicon": 4.0, - "Steel": 8.0 + "Silicon": 10.0 } }, - "ItemMiningBackPack": { + { + "target_prefab": "UniformMarine", + "target_prefab_hash": -48342840, "tier": "TierOne", - "time": 8.0, - "energy": 800.0, + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55666,10 +60182,12 @@ export default { }, "count_types": 1, "reagents": { - "Iron": 6.0 + "Silicon": 10.0 } }, - "ItemMiningBelt": { + { + "target_prefab": "ItemClothingBagOveralls_Aus", + "target_prefab_hash": -869697826, "tier": "TierOne", "time": 5.0, "energy": 500.0, @@ -55691,13 +60209,15 @@ export default { }, "count_types": 1, "reagents": { - "Iron": 3.0 + "Silicon": 25.0 } }, - "ItemMiningBeltMKII": { - "tier": "TierTwo", - "time": 10.0, - "energy": 1000.0, + { + "target_prefab": "ItemClothingBagOveralls_Brazil", + "target_prefab_hash": 611886665, + "tier": "TierOne", + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55714,16 +60234,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 1, "reagents": { - "Constantan": 5.0, - "Steel": 10.0 + "Silicon": 25.0 } }, - "ItemMiningCharge": { + { + "target_prefab": "ItemClothingBagOveralls_Canada", + "target_prefab_hash": 1265354377, "tier": "TierOne", - "time": 60.0, - "energy": 6000.0, + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55740,14 +60261,14 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Gold": 1.0, - "Iron": 1.0, - "Silicon": 5.0 + "Silicon": 25.0 } }, - "ItemMiningDrill": { + { + "target_prefab": "ItemClothingBagOveralls_China", + "target_prefab_hash": -271773907, "tier": "TierOne", "time": 5.0, "energy": 500.0, @@ -55767,16 +60288,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 1, "reagents": { - "Copper": 2.0, - "Iron": 3.0 + "Silicon": 25.0 } }, - "ItemMiningDrillHeavy": { - "tier": "TierTwo", - "time": 30.0, - "energy": 2500.0, + { + "target_prefab": "ItemClothingBagOveralls_EU", + "target_prefab_hash": 1969872429, + "tier": "TierOne", + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55793,18 +60315,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 1, "reagents": { - "Electrum": 5.0, - "Invar": 10.0, - "Solder": 10.0, - "Steel": 10.0 + "Silicon": 25.0 } }, - "ItemMiningDrillPneumatic": { + { + "target_prefab": "ItemClothingBagOveralls_France", + "target_prefab_hash": 670416861, "tier": "TierOne", - "time": 20.0, - "energy": 2000.0, + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55821,15 +60342,15 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Copper": 4.0, - "Solder": 4.0, - "Steel": 6.0 + "Silicon": 25.0 } }, - "ItemMkIIToolbelt": { - "tier": "TierTwo", + { + "target_prefab": "ItemClothingBagOveralls_Germany", + "target_prefab_hash": 1858014029, + "tier": "TierOne", "time": 5.0, "energy": 500.0, "temperature": { @@ -55848,16 +60369,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 1, "reagents": { - "Constantan": 5.0, - "Iron": 3.0 + "Silicon": 25.0 } }, - "ItemNVG": { + { + "target_prefab": "ItemClothingBagOveralls_Japan", + "target_prefab_hash": -1694123145, "tier": "TierOne", - "time": 45.0, - "energy": 2750.0, + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55874,16 +60396,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Hastelloy": 10.0, - "Silicon": 5.0, - "Steel": 5.0 + "Silicon": 25.0 } }, - "ItemPickaxe": { + { + "target_prefab": "ItemClothingBagOveralls_Korea", + "target_prefab_hash": -1309808369, "tier": "TierOne", - "time": 1.0, + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -55901,15 +60423,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 1, "reagents": { - "Copper": 1.0, - "Iron": 2.0 + "Silicon": 25.0 } }, - "ItemPlantSampler": { + { + "target_prefab": "ItemClothingBagOveralls_NZ", + "target_prefab_hash": 102898295, "tier": "TierOne", - "time": 10.0, + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -55927,16 +60450,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 1, "reagents": { - "Copper": 5.0, - "Iron": 5.0 + "Silicon": 25.0 } }, - "ItemRemoteDetonator": { - "tier": "TierTwo", - "time": 30.0, - "energy": 1500.0, + { + "target_prefab": "ItemClothingBagOveralls_Russia", + "target_prefab_hash": 520003812, + "tier": "TierOne", + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55953,17 +60477,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Copper": 5.0, - "Solder": 5.0, - "Steel": 5.0 + "Silicon": 25.0 } }, - "ItemReusableFireExtinguisher": { + { + "target_prefab": "ItemClothingBagOveralls_SouthAfrica", + "target_prefab_hash": -265868019, "tier": "TierOne", - "time": 20.0, - "energy": 1000.0, + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -55982,12 +60506,14 @@ export default { }, "count_types": 1, "reagents": { - "Steel": 5.0 + "Silicon": 25.0 } }, - "ItemRoadFlare": { + { + "target_prefab": "ItemClothingBagOveralls_UK", + "target_prefab_hash": -979046113, "tier": "TierOne", - "time": 1.0, + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -56007,12 +60533,14 @@ export default { }, "count_types": 1, "reagents": { - "Iron": 1.0 + "Silicon": 25.0 } }, - "ItemScrewdriver": { + { + "target_prefab": "ItemClothingBagOveralls_Ukraine", + "target_prefab_hash": -198158955, "tier": "TierOne", - "time": 10.0, + "time": 5.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -56032,13 +60560,15 @@ export default { }, "count_types": 1, "reagents": { - "Iron": 2.0 + "Silicon": 25.0 } }, - "ItemSensorLenses": { - "tier": "TierTwo", - "time": 45.0, - "energy": 3500.0, + { + "target_prefab": "ItemClothingBagOveralls_US", + "target_prefab_hash": -691508919, + "tier": "TierOne", + "time": 5.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -56055,17 +60585,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 1, "reagents": { - "Inconel": 5.0, - "Silicon": 5.0, - "Steel": 5.0 + "Silicon": 25.0 } }, - "ItemSensorProcessingUnitCelestialScanner": { - "tier": "TierTwo", - "time": 15.0, - "energy": 100.0, + { + "target_prefab": "ItemRoadFlare", + "target_prefab_hash": 871811564, + "tier": "TierOne", + "time": 1.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -56082,18 +60612,17 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 1, "reagents": { - "Copper": 5.0, - "Gold": 5.0, - "Iron": 5.0, - "Silicon": 5.0 + "Iron": 1.0 } }, - "ItemSensorProcessingUnitMesonScanner": { - "tier": "TierTwo", - "time": 15.0, - "energy": 100.0, + { + "target_prefab": "FlareGun", + "target_prefab_hash": 118685786, + "tier": "TierOne", + "time": 10.0, + "energy": 2000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -56110,18 +60639,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 2, "reagents": { - "Copper": 5.0, - "Gold": 5.0, - "Iron": 5.0, - "Silicon": 5.0 + "Iron": 10.0, + "Silicon": 10.0 } }, - "ItemSensorProcessingUnitOreScanner": { - "tier": "TierTwo", - "time": 15.0, - "energy": 100.0, + { + "target_prefab": "ItemChemLightBlue", + "target_prefab_hash": -772542081, + "tier": "TierOne", + "time": 1.0, + "energy": 500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -56138,17 +60667,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 4, + "count_types": 1, "reagents": { - "Copper": 5.0, - "Gold": 5.0, - "Iron": 5.0, - "Silicon": 5.0 + "Silicon": 1.0 } }, - "ItemSpaceHelmet": { + { + "target_prefab": "ItemChemLightGreen", + "target_prefab_hash": -597479390, "tier": "TierOne", - "time": 15.0, + "time": 1.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -56166,15 +60694,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 1, "reagents": { - "Copper": 2.0, - "Gold": 2.0 + "Silicon": 1.0 } }, - "ItemSpacepack": { + { + "target_prefab": "ItemChemLightRed", + "target_prefab_hash": -525810132, "tier": "TierOne", - "time": 5.0, + "time": 1.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -56192,15 +60721,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 1, "reagents": { - "Copper": 2.0, - "Iron": 5.0 + "Silicon": 1.0 } }, - "ItemSprayCanBlack": { + { + "target_prefab": "ItemChemLightWhite", + "target_prefab_hash": 1312166823, "tier": "TierOne", - "time": 5.0, + "time": 1.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -56220,12 +60750,14 @@ export default { }, "count_types": 1, "reagents": { - "Iron": 1.0 + "Silicon": 1.0 } }, - "ItemSprayCanBlue": { + { + "target_prefab": "ItemChemLightYellow", + "target_prefab_hash": 1224819963, "tier": "TierOne", - "time": 5.0, + "time": 1.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -56245,12 +60777,14 @@ export default { }, "count_types": 1, "reagents": { - "Iron": 1.0 + "Silicon": 1.0 } }, - "ItemSprayCanBrown": { + { + "target_prefab": "ItemIgniter", + "target_prefab_hash": 890106742, "tier": "TierOne", - "time": 5.0, + "time": 1.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -56270,13 +60804,15 @@ export default { }, "count_types": 1, "reagents": { - "Iron": 1.0 + "Copper": 3.0 } }, - "ItemSprayCanGreen": { - "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + { + "target_prefab": "ItemHardSuit", + "target_prefab_hash": -1758310454, + "tier": "TierTwo", + "time": 60.0, + "energy": 3000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -56293,15 +60829,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 3, "reagents": { - "Iron": 1.0 + "Astroloy": 10.0, + "Steel": 20.0, + "Stellite": 2.0 } }, - "ItemSprayCanGrey": { + { + "target_prefab": "ItemReusableFireExtinguisher", + "target_prefab_hash": -1773192190, "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + "time": 20.0, + "energy": 1000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -56320,13 +60860,15 @@ export default { }, "count_types": 1, "reagents": { - "Iron": 1.0 + "Steel": 5.0 } }, - "ItemSprayCanKhaki": { - "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + { + "target_prefab": "ItemHardsuitHelmet", + "target_prefab_hash": -84573099, + "tier": "TierTwo", + "time": 50.0, + "energy": 1750.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -56343,15 +60885,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 3, "reagents": { - "Iron": 1.0 + "Astroloy": 2.0, + "Steel": 10.0, + "Stellite": 2.0 } }, - "ItemSprayCanOrange": { + { + "target_prefab": "ItemMarineBodyArmor", + "target_prefab_hash": 1399098998, "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + "time": 60.0, + "energy": 3000.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -56368,15 +60914,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 3, "reagents": { - "Iron": 1.0 + "Nickel": 10.0, + "Silicon": 10.0, + "Steel": 20.0 } }, - "ItemSprayCanPink": { + { + "target_prefab": "ItemMarineHelmet", + "target_prefab_hash": 1073631646, "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + "time": 45.0, + "energy": 1750.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -56393,15 +60943,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 3, "reagents": { - "Iron": 1.0 + "Gold": 4.0, + "Silicon": 4.0, + "Steel": 8.0 } }, - "ItemSprayCanPurple": { + { + "target_prefab": "ItemNVG", + "target_prefab_hash": 982514123, "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + "time": 45.0, + "energy": 2750.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -56418,15 +60972,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 3, "reagents": { - "Iron": 1.0 + "Hastelloy": 10.0, + "Silicon": 5.0, + "Steel": 5.0 } }, - "ItemSprayCanRed": { - "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + { + "target_prefab": "ItemSensorLenses", + "target_prefab_hash": -1176140051, + "tier": "TierTwo", + "time": 45.0, + "energy": 3500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -56443,15 +61001,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 3, "reagents": { - "Iron": 1.0 + "Inconel": 5.0, + "Silicon": 5.0, + "Steel": 5.0 } }, - "ItemSprayCanWhite": { - "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + { + "target_prefab": "ItemSensorProcessingUnitOreScanner", + "target_prefab_hash": -1219128491, + "tier": "TierTwo", + "time": 15.0, + "energy": 100.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -56468,15 +61030,20 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 4, "reagents": { - "Iron": 1.0 + "Copper": 5.0, + "Gold": 5.0, + "Iron": 5.0, + "Silicon": 5.0 } }, - "ItemSprayCanYellow": { - "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + { + "target_prefab": "ItemSensorProcessingUnitMesonScanner", + "target_prefab_hash": -1730464583, + "tier": "TierTwo", + "time": 15.0, + "energy": 100.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -56493,15 +61060,20 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 4, "reagents": { - "Iron": 1.0 + "Copper": 5.0, + "Gold": 5.0, + "Iron": 5.0, + "Silicon": 5.0 } }, - "ItemSprayGun": { + { + "target_prefab": "ItemSensorProcessingUnitCelestialScanner", + "target_prefab_hash": -1154200014, "tier": "TierTwo", - "time": 10.0, - "energy": 2000.0, + "time": 15.0, + "energy": 100.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -56518,17 +61090,20 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 4, "reagents": { - "Invar": 5.0, - "Silicon": 10.0, - "Steel": 10.0 + "Copper": 5.0, + "Gold": 5.0, + "Iron": 5.0, + "Silicon": 5.0 } }, - "ItemTerrainManipulator": { + { + "target_prefab": "ItemGlasses", + "target_prefab_hash": -1068925231, "tier": "TierOne", - "time": 15.0, - "energy": 600.0, + "time": 20.0, + "energy": 250.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -56545,17 +61120,18 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 3, + "count_types": 2, "reagents": { - "Copper": 3.0, - "Gold": 2.0, - "Iron": 5.0 + "Iron": 15.0, + "Silicon": 10.0 } }, - "ItemToolBelt": { - "tier": "TierOne", - "time": 5.0, - "energy": 500.0, + { + "target_prefab": "ItemHardBackpack", + "target_prefab_hash": 374891127, + "tier": "TierTwo", + "time": 30.0, + "energy": 1500.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -56572,15 +61148,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 3, "reagents": { - "Iron": 3.0 + "Astroloy": 5.0, + "Steel": 15.0, + "Stellite": 5.0 } }, - "ItemWearLamp": { - "tier": "TierOne", - "time": 15.0, - "energy": 500.0, + { + "target_prefab": "ItemHardJetpack", + "target_prefab_hash": -412551656, + "tier": "TierTwo", + "time": 40.0, + "energy": 1750.0, "temperature": { "start": 1.0, "stop": 80000.0, @@ -56597,15 +61177,19 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 4, "reagents": { - "Copper": 2.0, - "Gold": 2.0 + "Astroloy": 8.0, + "Steel": 20.0, + "Stellite": 8.0, + "Waspaloy": 8.0 } }, - "ItemWeldingTorch": { + { + "target_prefab": "ItemFlagSmall", + "target_prefab_hash": 2011191088, "tier": "TierOne", - "time": 10.0, + "time": 1.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -56623,15 +61207,16 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 2, + "count_types": 1, "reagents": { - "Copper": 1.0, - "Iron": 3.0 + "Iron": 1.0 } }, - "ItemWireCutters": { + { + "target_prefab": "ItemBasketBall", + "target_prefab_hash": -1262580790, "tier": "TierOne", - "time": 5.0, + "time": 1.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -56651,12 +61236,14 @@ export default { }, "count_types": 1, "reagents": { - "Iron": 3.0 + "Silicon": 1.0 } }, - "ItemWrench": { + { + "target_prefab": "ItemKitBasket", + "target_prefab_hash": 148305004, "tier": "TierOne", - "time": 10.0, + "time": 1.0, "energy": 500.0, "temperature": { "start": 1.0, @@ -56674,12 +61261,15 @@ export default { "is_any_to_remove": false, "reagents": {} }, - "count_types": 1, + "count_types": 2, "reagents": { - "Iron": 3.0 + "Copper": 2.0, + "Iron": 5.0 } }, - "ToyLuna": { + { + "target_prefab": "ItemPlantSampler", + "target_prefab_hash": 173023800, "tier": "TierOne", "time": 10.0, "energy": 500.0, @@ -56701,144 +61291,11 @@ export default { }, "count_types": 2, "reagents": { - "Gold": 1.0, + "Copper": 5.0, "Iron": 5.0 } - }, - "UniformCommander": { - "tier": "TierOne", - "time": 5.0, - "energy": 500.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 1, - "reagents": { - "Silicon": 25.0 - } - }, - "UniformMarine": { - "tier": "TierOne", - "time": 5.0, - "energy": 500.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 1, - "reagents": { - "Silicon": 10.0 - } - }, - "UniformOrangeJumpSuit": { - "tier": "TierOne", - "time": 5.0, - "energy": 500.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 1, - "reagents": { - "Silicon": 10.0 - } - }, - "WeaponPistolEnergy": { - "tier": "TierTwo", - "time": 120.0, - "energy": 3000.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 4, - "reagents": { - "Electrum": 20.0, - "Gold": 10.0, - "Solder": 10.0, - "Steel": 10.0 - } - }, - "WeaponRifleEnergy": { - "tier": "TierTwo", - "time": 240.0, - "energy": 10000.0, - "temperature": { - "start": 1.0, - "stop": 80000.0, - "is_valid": false - }, - "pressure": { - "start": 0.0, - "stop": 1000000.0, - "is_valid": false - }, - "required_mix": { - "rule": 0, - "is_any": true, - "is_any_to_remove": false, - "reagents": {} - }, - "count_types": 6, - "reagents": { - "Constantan": 10.0, - "Electrum": 20.0, - "Gold": 10.0, - "Invar": 10.0, - "Solder": 10.0, - "Steel": 20.0 - } } - } + ] }, "memory": { "instructions": { @@ -57200,40 +61657,64 @@ export default { "structure": { "small_grid": true }, - "slots": [ - { - "name": "Torpedo", - "typ": "Torpedo" + "slots": { + "0": { + "Direct": { + "name": "Torpedo", + "class": "Torpedo", + "index": 0 + } }, - { - "name": "Torpedo", - "typ": "Torpedo" + "1": { + "Direct": { + "name": "Torpedo", + "class": "Torpedo", + "index": 1 + } }, - { - "name": "Torpedo", - "typ": "Torpedo" + "2": { + "Direct": { + "name": "Torpedo", + "class": "Torpedo", + "index": 2 + } }, - { - "name": "Torpedo", - "typ": "Torpedo" + "3": { + "Direct": { + "name": "Torpedo", + "class": "Torpedo", + "index": 3 + } }, - { - "name": "Torpedo", - "typ": "Torpedo" + "4": { + "Direct": { + "name": "Torpedo", + "class": "Torpedo", + "index": 4 + } }, - { - "name": "Torpedo", - "typ": "Torpedo" + "5": { + "Direct": { + "name": "Torpedo", + "class": "Torpedo", + "index": 5 + } }, - { - "name": "Torpedo", - "typ": "Torpedo" + "6": { + "Direct": { + "name": "Torpedo", + "class": "Torpedo", + "index": 6 + } }, - { - "name": "Torpedo", - "typ": "Torpedo" + "7": { + "Direct": { + "name": "Torpedo", + "class": "Torpedo", + "index": 7 + } } - ] + } }, "StructureTraderWaypoint": { "templateType": "StructureLogicDevice", @@ -57261,7 +61742,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -57309,7 +61790,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -57365,7 +61846,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -57417,7 +61898,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -57469,7 +61950,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -57521,7 +62002,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -57566,7 +62047,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -57623,7 +62104,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -57712,16 +62193,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "None", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -57770,7 +62257,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -57814,7 +62301,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -57973,416 +62460,722 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "None", + "index": 0 + } }, - { - "name": "Export", - "typ": "None" + "1": { + "Direct": { + "name": "Export", + "class": "None", + "index": 1 + } }, - { - "name": "Storage", - "typ": "None" + "2": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 2 + } }, - { - "name": "Storage", - "typ": "None" + "3": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 3 + } }, - { - "name": "Storage", - "typ": "None" + "4": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 4 + } }, - { - "name": "Storage", - "typ": "None" + "5": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 5 + } }, - { - "name": "Storage", - "typ": "None" + "6": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 6 + } }, - { - "name": "Storage", - "typ": "None" + "7": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 7 + } }, - { - "name": "Storage", - "typ": "None" + "8": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 8 + } }, - { - "name": "Storage", - "typ": "None" + "9": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 9 + } }, - { - "name": "Storage", - "typ": "None" + "10": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 10 + } }, - { - "name": "Storage", - "typ": "None" + "11": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 11 + } }, - { - "name": "Storage", - "typ": "None" + "12": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 12 + } }, - { - "name": "Storage", - "typ": "None" + "13": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 13 + } }, - { - "name": "Storage", - "typ": "None" + "14": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 14 + } }, - { - "name": "Storage", - "typ": "None" + "15": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 15 + } }, - { - "name": "Storage", - "typ": "None" + "16": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 16 + } }, - { - "name": "Storage", - "typ": "None" + "17": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 17 + } }, - { - "name": "Storage", - "typ": "None" + "18": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 18 + } }, - { - "name": "Storage", - "typ": "None" + "19": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 19 + } }, - { - "name": "Storage", - "typ": "None" + "20": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 20 + } }, - { - "name": "Storage", - "typ": "None" + "21": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 21 + } }, - { - "name": "Storage", - "typ": "None" + "22": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 22 + } }, - { - "name": "Storage", - "typ": "None" + "23": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 23 + } }, - { - "name": "Storage", - "typ": "None" + "24": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 24 + } }, - { - "name": "Storage", - "typ": "None" + "25": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 25 + } }, - { - "name": "Storage", - "typ": "None" + "26": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 26 + } }, - { - "name": "Storage", - "typ": "None" + "27": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 27 + } }, - { - "name": "Storage", - "typ": "None" + "28": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 28 + } }, - { - "name": "Storage", - "typ": "None" + "29": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 29 + } }, - { - "name": "Storage", - "typ": "None" + "30": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 30 + } }, - { - "name": "Storage", - "typ": "None" + "31": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 31 + } }, - { - "name": "Storage", - "typ": "None" + "32": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 32 + } }, - { - "name": "Storage", - "typ": "None" + "33": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 33 + } }, - { - "name": "Storage", - "typ": "None" + "34": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 34 + } }, - { - "name": "Storage", - "typ": "None" + "35": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 35 + } }, - { - "name": "Storage", - "typ": "None" + "36": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 36 + } }, - { - "name": "Storage", - "typ": "None" + "37": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 37 + } }, - { - "name": "Storage", - "typ": "None" + "38": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 38 + } }, - { - "name": "Storage", - "typ": "None" + "39": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 39 + } }, - { - "name": "Storage", - "typ": "None" + "40": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 40 + } }, - { - "name": "Storage", - "typ": "None" + "41": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 41 + } }, - { - "name": "Storage", - "typ": "None" + "42": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 42 + } }, - { - "name": "Storage", - "typ": "None" + "43": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 43 + } }, - { - "name": "Storage", - "typ": "None" + "44": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 44 + } }, - { - "name": "Storage", - "typ": "None" + "45": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 45 + } }, - { - "name": "Storage", - "typ": "None" + "46": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 46 + } }, - { - "name": "Storage", - "typ": "None" + "47": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 47 + } }, - { - "name": "Storage", - "typ": "None" + "48": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 48 + } }, - { - "name": "Storage", - "typ": "None" + "49": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 49 + } }, - { - "name": "Storage", - "typ": "None" + "50": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 50 + } }, - { - "name": "Storage", - "typ": "None" + "51": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 51 + } }, - { - "name": "Storage", - "typ": "None" + "52": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 52 + } }, - { - "name": "Storage", - "typ": "None" + "53": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 53 + } }, - { - "name": "Storage", - "typ": "None" + "54": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 54 + } }, - { - "name": "Storage", - "typ": "None" + "55": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 55 + } }, - { - "name": "Storage", - "typ": "None" + "56": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 56 + } }, - { - "name": "Storage", - "typ": "None" + "57": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 57 + } }, - { - "name": "Storage", - "typ": "None" + "58": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 58 + } }, - { - "name": "Storage", - "typ": "None" + "59": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 59 + } }, - { - "name": "Storage", - "typ": "None" + "60": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 60 + } }, - { - "name": "Storage", - "typ": "None" + "61": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 61 + } }, - { - "name": "Storage", - "typ": "None" + "62": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 62 + } }, - { - "name": "Storage", - "typ": "None" + "63": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 63 + } }, - { - "name": "Storage", - "typ": "None" + "64": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 64 + } }, - { - "name": "Storage", - "typ": "None" + "65": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 65 + } }, - { - "name": "Storage", - "typ": "None" + "66": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 66 + } }, - { - "name": "Storage", - "typ": "None" + "67": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 67 + } }, - { - "name": "Storage", - "typ": "None" + "68": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 68 + } }, - { - "name": "Storage", - "typ": "None" + "69": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 69 + } }, - { - "name": "Storage", - "typ": "None" + "70": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 70 + } }, - { - "name": "Storage", - "typ": "None" + "71": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 71 + } }, - { - "name": "Storage", - "typ": "None" + "72": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 72 + } }, - { - "name": "Storage", - "typ": "None" + "73": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 73 + } }, - { - "name": "Storage", - "typ": "None" + "74": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 74 + } }, - { - "name": "Storage", - "typ": "None" + "75": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 75 + } }, - { - "name": "Storage", - "typ": "None" + "76": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 76 + } }, - { - "name": "Storage", - "typ": "None" + "77": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 77 + } }, - { - "name": "Storage", - "typ": "None" + "78": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 78 + } }, - { - "name": "Storage", - "typ": "None" + "79": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 79 + } }, - { - "name": "Storage", - "typ": "None" + "80": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 80 + } }, - { - "name": "Storage", - "typ": "None" + "81": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 81 + } }, - { - "name": "Storage", - "typ": "None" + "82": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 82 + } }, - { - "name": "Storage", - "typ": "None" + "83": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 83 + } }, - { - "name": "Storage", - "typ": "None" + "84": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 84 + } }, - { - "name": "Storage", - "typ": "None" + "85": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 85 + } }, - { - "name": "Storage", - "typ": "None" + "86": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 86 + } }, - { - "name": "Storage", - "typ": "None" + "87": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 87 + } }, - { - "name": "Storage", - "typ": "None" + "88": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 88 + } }, - { - "name": "Storage", - "typ": "None" + "89": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 89 + } }, - { - "name": "Storage", - "typ": "None" + "90": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 90 + } }, - { - "name": "Storage", - "typ": "None" + "91": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 91 + } }, - { - "name": "Storage", - "typ": "None" + "92": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 92 + } }, - { - "name": "Storage", - "typ": "None" + "93": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 93 + } }, - { - "name": "Storage", - "typ": "None" + "94": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 94 + } }, - { - "name": "Storage", - "typ": "None" + "95": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 95 + } }, - { - "name": "Storage", - "typ": "None" + "96": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 96 + } }, - { - "name": "Storage", - "typ": "None" + "97": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 97 + } }, - { - "name": "Storage", - "typ": "None" + "98": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 98 + } }, - { - "name": "Storage", - "typ": "None" + "99": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 99 + } }, - { - "name": "Storage", - "typ": "None" + "100": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 100 + } }, - { - "name": "Storage", - "typ": "None" + "101": { + "Direct": { + "name": "Storage", + "class": "None", + "index": 101 + } } - ], + }, "device": { "connection_list": [ { @@ -58442,7 +63235,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -58594,12 +63387,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "", - "typ": "DataDisk" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "DataDisk", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -58768,12 +63564,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "", - "typ": "DataDisk" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "DataDisk", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -58889,7 +63688,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -58947,12 +63746,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -59301,16 +64103,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Bottle Slot", - "typ": "LiquidBottle" + "slots": { + "0": { + "Direct": { + "name": "Bottle Slot", + "class": "LiquidBottle", + "index": 0 + } }, - { - "name": "Bottle Slot", - "typ": "LiquidBottle" + "1": { + "Direct": { + "name": "Bottle Slot", + "class": "LiquidBottle", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -59383,16 +64191,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Bottle Slot", - "typ": "LiquidBottle" + "slots": { + "0": { + "Direct": { + "name": "Bottle Slot", + "class": "LiquidBottle", + "index": 0 + } }, - { - "name": "Bottle Slot", - "typ": "LiquidBottle" + "1": { + "Direct": { + "name": "Bottle Slot", + "class": "LiquidBottle", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -59468,16 +64282,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Bottle Slot", - "typ": "LiquidBottle" + "slots": { + "0": { + "Direct": { + "name": "Bottle Slot", + "class": "LiquidBottle", + "index": 0 + } }, - { - "name": "Bottle Slot", - "typ": "LiquidBottle" + "1": { + "Direct": { + "name": "Bottle Slot", + "class": "LiquidBottle", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -59557,16 +64377,22 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Bottle Slot", - "typ": "LiquidBottle" + "slots": { + "0": { + "Direct": { + "name": "Bottle Slot", + "class": "LiquidBottle", + "index": 0 + } }, - { - "name": "Bottle Slot", - "typ": "LiquidBottle" + "1": { + "Direct": { + "name": "Bottle Slot", + "class": "LiquidBottle", + "index": 1 + } } - ], + }, "device": { "connection_list": [ { @@ -59618,7 +64444,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -59666,7 +64492,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [], "has_activate_state": false, @@ -59710,12 +64536,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Import", - "typ": "Ore" + "slots": { + "0": { + "Direct": { + "name": "Import", + "class": "Ore", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -59797,12 +64626,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "", - "typ": "DataDisk" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "DataDisk", + "index": 0 + } } - ], + }, "device": { "connection_list": [ { @@ -59859,7 +64691,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -59904,7 +64736,7 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [], + "slots": {}, "device": { "connection_list": [ { @@ -59973,28 +64805,43 @@ export default { "slot_class": "Uniform", "sorting_class": "Clothing" }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "Access Card", - "typ": "AccessCard" + "2": { + "Direct": { + "name": "Access Card", + "class": "AccessCard", + "index": 2 + } }, - { - "name": "Access Card", - "typ": "AccessCard" + "3": { + "Direct": { + "name": "Access Card", + "class": "AccessCard", + "index": 3 + } }, - { - "name": "Credit Card", - "typ": "CreditCard" + "4": { + "Direct": { + "name": "Credit Card", + "class": "CreditCard", + "index": 4 + } } - ] + } }, "UniformMarine": { "templateType": "ItemSlots", @@ -60011,24 +64858,36 @@ export default { "slot_class": "Uniform", "sorting_class": "Clothing" }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "Access Card", - "typ": "AccessCard" + "2": { + "Direct": { + "name": "Access Card", + "class": "AccessCard", + "index": 2 + } }, - { - "name": "Credit Card", - "typ": "CreditCard" + "3": { + "Direct": { + "name": "Credit Card", + "class": "CreditCard", + "index": 3 + } } - ] + } }, "UniformOrangeJumpSuit": { "templateType": "ItemSlots", @@ -60045,24 +64904,36 @@ export default { "slot_class": "Uniform", "sorting_class": "Clothing" }, - "slots": [ - { - "name": "", - "typ": "None" + "slots": { + "0": { + "Direct": { + "name": "", + "class": "None", + "index": 0 + } }, - { - "name": "", - "typ": "None" + "1": { + "Direct": { + "name": "", + "class": "None", + "index": 1 + } }, - { - "name": "Access Card", - "typ": "AccessCard" + "2": { + "Direct": { + "name": "Access Card", + "class": "AccessCard", + "index": 2 + } }, - { - "name": "Credit Card", - "typ": "CreditCard" + "3": { + "Direct": { + "name": "Credit Card", + "class": "CreditCard", + "index": 3 + } } - ] + } }, "WeaponEnergy": { "templateType": "ItemLogic", @@ -60101,12 +64972,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "WeaponPistolEnergy": { "templateType": "ItemLogic", @@ -60154,12 +65028,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "WeaponRifleEnergy": { "templateType": "ItemLogic", @@ -60207,12 +65084,15 @@ export default { "wireless_logic": false, "circuit_holder": false }, - "slots": [ - { - "name": "Battery", - "typ": "Battery" + "slots": { + "0": { + "Direct": { + "name": "Battery", + "class": "Battery", + "index": 0 + } } - ] + } }, "WeaponTorpedo": { "templateType": "Item", @@ -60233,330 +65113,468 @@ export default { }, "reagents": { "Alcohol": { - "Hash": 1565803737, - "Unit": "ml" + "id": 20, + "name": "Alcohol", + "hash": 1565803737, + "unit": "ml", + "is_organic": true, + "sources": {} }, "Astroloy": { - "Hash": -1493155787, - "Unit": "g", - "Sources": { + "id": 36, + "name": "Astroloy", + "hash": -1493155787, + "unit": "g", + "is_organic": true, + "sources": { "ItemAstroloyIngot": 1.0 } }, "Biomass": { - "Hash": 925270362, - "Unit": "", - "Sources": { + "id": 40, + "name": "Biomass", + "hash": 925270362, + "unit": "", + "is_organic": true, + "sources": { "ItemBiomass": 1.0 } }, "Carbon": { - "Hash": 1582746610, - "Unit": "g", - "Sources": { + "id": 5, + "name": "Carbon", + "hash": 1582746610, + "unit": "g", + "is_organic": true, + "sources": { "HumanSkull": 1.0, "ItemCharcoal": 1.0 } }, "Cobalt": { - "Hash": 1702246124, - "Unit": "g", - "Sources": { + "id": 37, + "name": "Cobalt", + "hash": 1702246124, + "unit": "g", + "is_organic": true, + "sources": { "ItemCobaltOre": 1.0 } }, "Cocoa": { - "Hash": 678781198, - "Unit": "g", - "Sources": { + "id": 44, + "name": "Cocoa", + "hash": 678781198, + "unit": "g", + "is_organic": true, + "sources": { "ItemCocoaPowder": 1.0, "ItemCocoaTree": 1.0 } }, "ColorBlue": { - "Hash": 557517660, - "Unit": "g", - "Sources": { + "id": 27, + "name": "ColorBlue", + "hash": 557517660, + "unit": "g", + "is_organic": true, + "sources": { "ReagentColorBlue": 10.0 } }, "ColorGreen": { - "Hash": 2129955242, - "Unit": "g", - "Sources": { + "id": 26, + "name": "ColorGreen", + "hash": 2129955242, + "unit": "g", + "is_organic": true, + "sources": { "ReagentColorGreen": 10.0 } }, "ColorOrange": { - "Hash": 1728153015, - "Unit": "g", - "Sources": { + "id": 29, + "name": "ColorOrange", + "hash": 1728153015, + "unit": "g", + "is_organic": true, + "sources": { "ReagentColorOrange": 10.0 } }, "ColorRed": { - "Hash": 667001276, - "Unit": "g", - "Sources": { + "id": 25, + "name": "ColorRed", + "hash": 667001276, + "unit": "g", + "is_organic": true, + "sources": { "ReagentColorRed": 10.0 } }, "ColorYellow": { - "Hash": -1430202288, - "Unit": "g", - "Sources": { + "id": 28, + "name": "ColorYellow", + "hash": -1430202288, + "unit": "g", + "is_organic": true, + "sources": { "ReagentColorYellow": 10.0 } }, "Constantan": { - "Hash": 1731241392, - "Unit": "g", - "Sources": { + "id": 15, + "name": "Constantan", + "hash": 1731241392, + "unit": "g", + "is_organic": true, + "sources": { "ItemConstantanIngot": 1.0 } }, "Copper": { - "Hash": -1172078909, - "Unit": "g", - "Sources": { + "id": 7, + "name": "Copper", + "hash": -1172078909, + "unit": "g", + "is_organic": true, + "sources": { "ItemCopperIngot": 1.0, "ItemCopperOre": 1.0 } }, "Corn": { - "Hash": 1550709753, - "Unit": "", - "Sources": { + "id": 38, + "name": "Corn", + "hash": 1550709753, + "unit": "", + "is_organic": true, + "sources": { "ItemCookedCorn": 1.0, "ItemCorn": 1.0 } }, "Egg": { - "Hash": 1887084450, - "Unit": "", - "Sources": { + "id": 2, + "name": "Egg", + "hash": 1887084450, + "unit": "", + "is_organic": true, + "sources": { "ItemCookedPowderedEggs": 1.0, "ItemEgg": 1.0, "ItemFertilizedEgg": 1.0 } }, "Electrum": { - "Hash": 478264742, - "Unit": "g", - "Sources": { + "id": 13, + "name": "Electrum", + "hash": 478264742, + "unit": "g", + "is_organic": true, + "sources": { "ItemElectrumIngot": 1.0 } }, "Fenoxitone": { - "Hash": -865687737, - "Unit": "g", - "Sources": { + "id": 24, + "name": "Fenoxitone", + "hash": -865687737, + "unit": "g", + "is_organic": true, + "sources": { "ItemFern": 1.0 } }, "Flour": { - "Hash": -811006991, - "Unit": "g", - "Sources": { + "id": 0, + "name": "Flour", + "hash": -811006991, + "unit": "g", + "is_organic": true, + "sources": { "ItemFlour": 50.0 } }, "Gold": { - "Hash": -409226641, - "Unit": "g", - "Sources": { + "id": 4, + "name": "Gold", + "hash": -409226641, + "unit": "g", + "is_organic": true, + "sources": { "ItemGoldIngot": 1.0, "ItemGoldOre": 1.0 } }, "Hastelloy": { - "Hash": 2019732679, - "Unit": "g", - "Sources": { + "id": 35, + "name": "Hastelloy", + "hash": 2019732679, + "unit": "g", + "is_organic": true, + "sources": { "ItemHastelloyIngot": 1.0 } }, "Hydrocarbon": { - "Hash": 2003628602, - "Unit": "g", - "Sources": { + "id": 9, + "name": "Hydrocarbon", + "hash": 2003628602, + "unit": "g", + "is_organic": true, + "sources": { "ItemCoalOre": 1.0, "ItemSolidFuel": 1.0 } }, "Inconel": { - "Hash": -586072179, - "Unit": "g", - "Sources": { + "id": 34, + "name": "Inconel", + "hash": -586072179, + "unit": "g", + "is_organic": true, + "sources": { "ItemInconelIngot": 1.0 } }, "Invar": { - "Hash": -626453759, - "Unit": "g", - "Sources": { + "id": 14, + "name": "Invar", + "hash": -626453759, + "unit": "g", + "is_organic": true, + "sources": { "ItemInvarIngot": 1.0 } }, "Iron": { - "Hash": -666742878, - "Unit": "g", - "Sources": { + "id": 3, + "name": "Iron", + "hash": -666742878, + "unit": "g", + "is_organic": true, + "sources": { "ItemIronIngot": 1.0, "ItemIronOre": 1.0 } }, "Lead": { - "Hash": -2002530571, - "Unit": "g", - "Sources": { + "id": 12, + "name": "Lead", + "hash": -2002530571, + "unit": "g", + "is_organic": true, + "sources": { "ItemLeadIngot": 1.0, "ItemLeadOre": 1.0 } }, "Milk": { - "Hash": 471085864, - "Unit": "ml", - "Sources": { + "id": 1, + "name": "Milk", + "hash": 471085864, + "unit": "ml", + "is_organic": true, + "sources": { "ItemCookedCondensedMilk": 1.0, "ItemMilk": 1.0 } }, "Mushroom": { - "Hash": 516242109, - "Unit": "g", - "Sources": { + "id": 42, + "name": "Mushroom", + "hash": 516242109, + "unit": "g", + "is_organic": true, + "sources": { "ItemCookedMushroom": 1.0, "ItemMushroom": 1.0 } }, "Nickel": { - "Hash": 556601662, - "Unit": "g", - "Sources": { + "id": 11, + "name": "Nickel", + "hash": 556601662, + "unit": "g", + "is_organic": true, + "sources": { "ItemNickelIngot": 1.0, "ItemNickelOre": 1.0 } }, "Oil": { - "Hash": 1958538866, - "Unit": "ml", - "Sources": { + "id": 21, + "name": "Oil", + "hash": 1958538866, + "unit": "ml", + "is_organic": true, + "sources": { "ItemSoyOil": 1.0 } }, "Plastic": { - "Hash": 791382247, - "Unit": "g" + "id": 17, + "name": "Plastic", + "hash": 791382247, + "unit": "g", + "is_organic": true, + "sources": {} }, "Potato": { - "Hash": -1657266385, - "Unit": "", - "Sources": { + "id": 22, + "name": "Potato", + "hash": -1657266385, + "unit": "", + "is_organic": true, + "sources": { "ItemPotato": 1.0, "ItemPotatoBaked": 1.0 } }, "Pumpkin": { - "Hash": -1250164309, - "Unit": "", - "Sources": { + "id": 30, + "name": "Pumpkin", + "hash": -1250164309, + "unit": "", + "is_organic": true, + "sources": { "ItemCookedPumpkin": 1.0, "ItemPumpkin": 1.0 } }, "Rice": { - "Hash": 1951286569, - "Unit": "g", - "Sources": { + "id": 31, + "name": "Rice", + "hash": 1951286569, + "unit": "g", + "is_organic": true, + "sources": { "ItemCookedRice": 1.0, "ItemRice": 1.0 } }, "SalicylicAcid": { - "Hash": -2086114347, - "Unit": "g" + "id": 19, + "name": "SalicylicAcid", + "hash": -2086114347, + "unit": "g", + "is_organic": true, + "sources": {} }, "Silicon": { - "Hash": -1195893171, - "Unit": "g", - "Sources": { + "id": 18, + "name": "Silicon", + "hash": -1195893171, + "unit": "g", + "is_organic": true, + "sources": { "ItemSiliconIngot": 0.1, "ItemSiliconOre": 1.0 } }, "Silver": { - "Hash": 687283565, - "Unit": "g", - "Sources": { + "id": 10, + "name": "Silver", + "hash": 687283565, + "unit": "g", + "is_organic": true, + "sources": { "ItemSilverIngot": 1.0, "ItemSilverOre": 1.0 } }, "Solder": { - "Hash": -1206542381, - "Unit": "g", - "Sources": { + "id": 16, + "name": "Solder", + "hash": -1206542381, + "unit": "g", + "is_organic": true, + "sources": { "ItemSolderIngot": 1.0 } }, "Soy": { - "Hash": 1510471435, - "Unit": "", - "Sources": { + "id": 41, + "name": "Soy", + "hash": 1510471435, + "unit": "", + "is_organic": true, + "sources": { "ItemCookedSoybean": 1.0, "ItemSoybean": 1.0 } }, "Steel": { - "Hash": 1331613335, - "Unit": "g", - "Sources": { + "id": 8, + "name": "Steel", + "hash": 1331613335, + "unit": "g", + "is_organic": true, + "sources": { "ItemEmptyCan": 1.0, "ItemSteelIngot": 1.0 } }, "Stellite": { - "Hash": -500544800, - "Unit": "g", - "Sources": { + "id": 33, + "name": "Stellite", + "hash": -500544800, + "unit": "g", + "is_organic": true, + "sources": { "ItemStelliteIngot": 1.0 } }, "Sugar": { - "Hash": 1778746875, - "Unit": "g", - "Sources": { + "id": 43, + "name": "Sugar", + "hash": 1778746875, + "unit": "g", + "is_organic": true, + "sources": { "ItemSugar": 10.0, "ItemSugarCane": 1.0 } }, "Tomato": { - "Hash": 733496620, - "Unit": "", - "Sources": { + "id": 23, + "name": "Tomato", + "hash": 733496620, + "unit": "", + "is_organic": true, + "sources": { "ItemCookedTomato": 1.0, "ItemTomato": 1.0 } }, "Uranium": { - "Hash": -208860272, - "Unit": "g", - "Sources": { + "id": 6, + "name": "Uranium", + "hash": -208860272, + "unit": "g", + "is_organic": true, + "sources": { "ItemUraniumOre": 1.0 } }, "Waspaloy": { - "Hash": 1787814293, - "Unit": "g", - "Sources": { + "id": 32, + "name": "Waspaloy", + "hash": 1787814293, + "unit": "g", + "is_organic": true, + "sources": { "ItemWaspaloyIngot": 1.0 } }, "Wheat": { - "Hash": -686695134, - "Unit": "", - "Sources": { + "id": 39, + "name": "Wheat", + "hash": -686695134, + "unit": "", + "is_organic": true, + "sources": { "ItemWheat": 1.0 } } @@ -61916,6 +66934,16 @@ export default { "deprecated": false, "description": "The index of the trader landing pad on this devices data network that it will try to call a trader in to land" }, + "TargetPrefabHash": { + "value": 271, + "deprecated": false, + "description": "The prefab" + }, + "TargetSlotIndex": { + "value": 270, + "deprecated": false, + "description": "The slot index that the target device that this device will try to interact with" + }, "TargetX": { "value": 88, "deprecated": false, @@ -63673,6 +68701,16 @@ export default { "deprecated": false, "description": "The index of the trader landing pad on this devices data network that it will try to call a trader in to land" }, + "TargetPrefabHash": { + "value": 271, + "deprecated": false, + "description": "The prefab" + }, + "TargetSlotIndex": { + "value": 270, + "deprecated": false, + "description": "The slot index that the target device that this device will try to interact with" + }, "TargetX": { "value": 88, "deprecated": false, @@ -64845,6 +69883,7 @@ export default { "-1577831321": "StructureRefrigeratedVendingMachine", "-1573623434": "ItemFlowerBlue", "-1567752627": "ItemWallCooler", + "-1555459562": "StructureLarreDockCargo", "-1554349863": "StructureSolarPanel45", "-1552586384": "ItemGasCanisterPollutants", "-1550278665": "CartridgeAtmosAnalyser", @@ -64995,6 +70034,7 @@ export default { "-1076892658": "ItemCookedMushroom", "-1068925231": "ItemGlasses", "-1068629349": "KitchenTableSimpleTall", + "-1067485367": "ItemKitLarreDockCargo", "-1067319543": "ItemGasFilterOxygenM", "-1065725831": "StructureTransformerMedium", "-1061945368": "ItemKitDynamicCanister", @@ -65023,6 +70063,7 @@ export default { "-965741795": "StructureCondensationValve", "-958884053": "StructureChuteUmbilicalMale", "-945806652": "ItemKitElevator", + "-940470326": "ItemKitLarreDockBypass", "-934345724": "StructureSolarPanelReinforced", "-932335800": "ItemKitRocketTransformerSmall", "-932136011": "CartridgeConfiguration", @@ -65144,6 +70185,7 @@ export default { "-524546923": "ItemKitWallIron", "-524289310": "ItemEggCarton", "-523832822": "StructurePipeLiquidOneWayValveLever", + "-522428667": "StructureLarreDockCollector", "-517628750": "StructureWaterDigitalValve", "-507770416": "StructureSmallDirectHeatExchangeLiquidtoLiquid", "-504717121": "ItemWirelessBatteryCellExtraLarge", @@ -65305,6 +70347,7 @@ export default { "73728932": "StructurePipeStraight", "77421200": "ItemKitDockingPort", "81488783": "CartridgeTracker", + "85133079": "StructureLarreDockHydroponics", "94730034": "ToyLuna", "98602599": "ItemWreckageTurbineGenerator2", "101488029": "StructurePowerUmbilicalFemale", @@ -65408,6 +70451,7 @@ export default { "340210934": "StructureStairwellFrontRight", "341030083": "ItemKitGrowLight", "347154462": "StructurePictureFrameThickMountLandscapeSmall", + "347658127": "ItemKitLarreDockCollector", "350726273": "RoverCargo", "363303270": "StructureInsulatedPipeLiquidCrossJunction4", "374891127": "ItemHardBackpack", @@ -65416,6 +70460,7 @@ export default { "378084505": "StructureBlocker", "379750958": "StructurePressureFedLiquidEngine", "384478267": "ItemMiningPackage", + "385528206": "ItemKitLarreDockAtmos", "386754635": "ItemPureIceNitrous", "386820253": "StructureWallSmallPanelsMonoChrome", "388774906": "ItemMKIIDuctTape", @@ -65494,6 +70539,7 @@ export default { "636112787": "ItemKitPassthroughHeatExchanger", "648608238": "StructureChuteDigitalValveLeft", "653461728": "ItemRocketMiningDrillHeadHighSpeedIce", + "656181408": "ItemKitLarreDockHydroponics", "656649558": "ItemWreckageStructureWeatherStation007", "658916791": "ItemRice", "662053345": "ItemPlasticSheets", @@ -65602,6 +70648,7 @@ export default { "1005843700": "ItemDataDisk", "1008295833": "ItemBatteryChargerSmall", "1010807532": "EntityChickenWhite", + "1011275082": "StructureLarreDockBypass", "1013244511": "ItemKitStacker", "1013514688": "StructureTankSmall", "1013818348": "ItemEmptyCan", @@ -65880,6 +70927,7 @@ export default { "1969189000": "ItemJetpackBasic", "1969312177": "ItemKitEngineMedium", "1974053060": "StructureRoboticArmRailCornerStop", + "1978422481": "StructureLarreDockAtmos", "1979212240": "StructureWallGeometryCorner", "1981698201": "StructureInteriorDoorPaddedThin", "1986658780": "StructureWaterBottleFillerPoweredBottom", @@ -66227,6 +71275,11 @@ export default { "StructureLargeExtendableRadiator", "StructureLargeHangerDoor", "StructureLargeSatelliteDish", + "StructureLarreDockAtmos", + "StructureLarreDockBypass", + "StructureLarreDockCargo", + "StructureLarreDockCollector", + "StructureLarreDockHydroponics", "StructureLaunchMount", "StructureLightLong", "StructureLightLongAngled", @@ -66680,6 +71733,11 @@ export default { "StructureLargeExtendableRadiator", "StructureLargeHangerDoor", "StructureLargeSatelliteDish", + "StructureLarreDockAtmos", + "StructureLarreDockBypass", + "StructureLarreDockCargo", + "StructureLarreDockCollector", + "StructureLarreDockHydroponics", "StructureLightLong", "StructureLightLongAngled", "StructureLightLongWide", @@ -67202,6 +72260,11 @@ export default { "ItemKitLargeDirectHeatExchanger", "ItemKitLargeExtendableRadiator", "ItemKitLargeSatelliteDish", + "ItemKitLarreDockAtmos", + "ItemKitLarreDockBypass", + "ItemKitLarreDockCargo", + "ItemKitLarreDockCollector", + "ItemKitLarreDockHydroponics", "ItemKitLaunchMount", "ItemKitLaunchTower", "ItemKitLinearRail", diff --git a/www/src/ts/editor/ace.ts b/www/src/ts/editor/ace.ts index 1eca64d..536273d 100644 --- a/www/src/ts/editor/ace.ts +++ b/www/src/ts/editor/ace.ts @@ -14,7 +14,7 @@ export async function setupLspWorker() { const loaded = (w: Worker) => new Promise((r) => w.addEventListener("message", r, { once: true })); - await Promise.all([loaded(worker)]); + await Promise.all([loaded(worker)]); // Register the editor with the language provider return worker; @@ -23,4 +23,258 @@ export async function setupLspWorker() { export import Ace = ace.Ace; import { Range } from "ace-builds"; -export { ace, TextMode, Range, AceLanguageClient } +(ace as any).define("ace/marker_group", ["require", "exports", "module"], function (require: any, exports: any, module: any) { + "use strict"; + var MarkerGroup = /** @class */ (function () { + function MarkerGroup(session: any, options: any) { + if (options) + this.markerType = options.markerType; + this.markers = []; + this.session = session; + session.addDynamicMarker(this); + } + MarkerGroup.prototype.getMarkerAtPosition = function (pos: any) { + return this.markers.find(function (marker: any) { + return marker.range.contains(pos.row, pos.column); + }); + }; + MarkerGroup.prototype.markersComparator = function (a: any, b: any) { + return a.range.start.row - b.range.start.row; + }; + MarkerGroup.prototype.setMarkers = function (markers: any) { + this.markers = markers.sort(this.markersComparator).slice(0, this.MAX_MARKERS); + this.session._signal("changeBackMarker"); + }; + MarkerGroup.prototype.update = function (html: any, markerLayer: any, session: any, config: any) { + if (!this.markers || !this.markers.length) + return; + var visibleRangeStartRow = config.firstRow, visibleRangeEndRow = config.lastRow; + var foldLine; + var markersOnOneLine = 0; + var lastRow = 0; + for (var i = 0; i < this.markers.length; i++) { + var marker = this.markers[i]; + if (marker.range.end.row < visibleRangeStartRow) + continue; + if (marker.range.start.row > visibleRangeEndRow) + continue; + if (marker.range.start.row === lastRow) { + markersOnOneLine++; + } + else { + lastRow = marker.range.start.row; + markersOnOneLine = 0; + } + if (markersOnOneLine > 200) { + continue; + } + var markerVisibleRange = marker.range.clipRows(visibleRangeStartRow, visibleRangeEndRow); + if (markerVisibleRange.start.row === markerVisibleRange.end.row + && markerVisibleRange.start.column === markerVisibleRange.end.column) { + continue; // visible range is empty + } + var screenRange = markerVisibleRange.toScreenRange(session); + if (screenRange.isEmpty()) { + foldLine = session.getNextFoldLine(markerVisibleRange.end.row, foldLine); + if (foldLine && foldLine.end.row > markerVisibleRange.end.row) { + visibleRangeStartRow = foldLine.end.row; + } + continue; + } + if (this.markerType === "fullLine") { + markerLayer.drawFullLineMarker(html, screenRange, marker.className, config); + } + else if (screenRange.isMultiLine()) { + if (this.markerType === "line") + markerLayer.drawMultiLineMarker(html, screenRange, marker.className, config); + else + markerLayer.drawTextMarker(html, screenRange, marker.className, config); + } + else { + markerLayer.drawSingleLineMarker(html, screenRange, marker.className + " ace_br15", config); + } + } + }; + return MarkerGroup; + }()); + MarkerGroup.prototype.MAX_MARKERS = 10000; + exports.MarkerGroup = MarkerGroup; + +}); + +export declare namespace AceHidden { + export type Editor = Ace.Editor; + export type EditSession = Ace.EditSession; + export var popupManager: PopupManager; + export class MouseEvent { + constructor(domEvent: any, editor: any); + /** @type {number} */ speed: number; + /** @type {number} */ wheelX: number; + /** @type {number} */ wheelY: number; + domEvent: any; + editor: any; + x: any; + clientX: any; + y: any; + clientY: any; + $pos: any; + $inSelection: any; + propagationStopped: boolean; + defaultPrevented: boolean; + stopPropagation(): void; + preventDefault(): void; + stop(): void; + /** + * Get the document position below the mouse cursor + * + * @return {Object} 'row' and 'column' of the document position + */ + getDocumentPosition(): Ace.Point; + /** + * Get the relative position within the gutter. + * + * @return {Number} 'row' within the gutter. + */ + getGutterRow(): number; + /** + * Check if the mouse cursor is inside of the text selection + * + * @return {Boolean} whether the mouse cursor is inside of the selection + */ + inSelection(): boolean; + /** + * Get the clicked mouse button + * + * @return {Number} 0 for left button, 1 for middle button, 2 for right button + */ + getButton(): number; + /** + * @return {Boolean} whether the shift key was pressed when the event was emitted + */ + getShiftKey(): boolean; + getAccelKey(): any; + } + export class Tooltip { + /** + * @param {Element} parentNode + **/ + constructor(parentNode: Element); + isOpen: boolean; + $element: any; + $parentNode: Element; + $init(): any; + /** + * @returns {HTMLElement} + **/ + getElement(): HTMLElement; + /** + * @param {String} text + **/ + setText(text: string): void; + /** + * @param {String} html + **/ + setHtml(html: string): void; + /** + * @param {Number} x + * @param {Number} y + **/ + setPosition(x: number, y: number): void; + /** + * @param {String} className + **/ + setClassName(className: string): void; + /** + * @param {import("../ace-internal").Ace.Theme} theme + */ + setTheme(theme: any): void; + /** + * @param {String} [text] + * @param {Number} [x] + * @param {Number} [y] + **/ + show(text?: string, x?: number, y?: number): void; + hide(e: any): void; + /** + * @returns {Number} + **/ + getHeight(): number; + /** + * @returns {Number} + **/ + getWidth(): number; + destroy(): void; + } + export class HoverTooltip extends Tooltip { + constructor(parentNode?: HTMLElement); + timeout: number; + lastT: number; + idleTime: number; + lastEvent: any; + onMouseOut(e: any): void; + /** + * @param {MouseEvent} e + * @param {Editor} editor + */ + onMouseMove(e: MouseEvent, editor: Editor): void; + waitForHover(): void; + /** + * @param {Editor} editor + */ + addToEditor(editor: Editor): void; + /** + * @param {Editor} editor + */ + removeFromEditor(editor: Editor): void; + /** + * @param {MouseEvent} e + */ + isOutsideOfText(e: MouseEvent): boolean; + /** + * @param {any} value + */ + setDataProvider(value: (e: MouseEvent, editor: Ace.Editor) => void): void; + $gatherData: (e: MouseEvent, editor: Ace.Editor) => void; + /** + * @param {Editor} editor + * @param {Range} range + * @param {any} domNode + * @param {MouseEvent} startingEvent + */ + showForRange(editor: Editor, range: Ace.Range, domNode: any, startingEvent: MouseEvent): void; + range: any; + /** + * @param {Range} range + * @param {EditSession} [session] + */ + addMarker(range: Range, session?: EditSession): void; + $markerSession: any; + marker: any; + $registerCloseEvents(): void; + $removeCloseEvents(): void; + } + export class PopupManager { + /**@type{Tooltip[]} */ + popups: Tooltip[]; + /** + * @param {Tooltip} popup + */ + addPopup(popup: Tooltip): void; + /** + * @param {Tooltip} popup + */ + removePopup(popup: Tooltip): void; + updatePopups(): void; + /** + * @param {Tooltip} popupA + * @param {Tooltip} popupB + * @return {boolean} + */ + doPopupsOverlap(popupA: Tooltip, popupB: Tooltip): boolean; + } +} + +const { HoverTooltip } = ace.require("ace/tooltip"); +const MarkerGroup = ace.require("ace/marker_group").MarkerGroup; + +export { ace, TextMode, Range, AceLanguageClient, HoverTooltip, MarkerGroup } diff --git a/www/src/ts/editor/index.ts b/www/src/ts/editor/index.ts index 340d76f..cb77f2a 100644 --- a/www/src/ts/editor/index.ts +++ b/www/src/ts/editor/index.ts @@ -1,4 +1,13 @@ -import { ace, Ace, Range, AceLanguageClient, setupLspWorker } from "./ace"; +import { + ace, + Ace, + Range, + AceLanguageClient, + setupLspWorker, + HoverTooltip, + AceHidden, + MarkerGroup, +} from "./ace"; import { LanguageProvider } from "ace-linters/types/language-provider"; @@ -23,27 +32,55 @@ import { LanguageClientConfig, ProviderOptions, } from "ace-linters/types/types/language-service"; +import { LineError, ObjectID } from "ic10emu_wasm"; +import { marked } from "marked"; +import { effect, signal, Signal } from "@lit-labs/preact-signals"; +import { App } from "app"; +import { VirtualMachine } from "virtualMachine"; +import { isSome } from "utils"; +import { Session } from "session"; + +interface SessionStateExtension { + state?: { + errorMarkers?: Ace.MarkerGroup; + activeLineMarker?: ReturnType; + saveTimeout?: ReturnType; + } +} + +interface MarkerGroupItemExtension { + tooltipText?: string; +} + +type ExtendedEditSession = Ace.EditSession & SessionStateExtension; +type ExtendedMarkerGroupItem = Ace.MarkerGroupItem & MarkerGroupItemExtension @customElement("ace-ic10") export class IC10Editor extends BaseElement { - mode: string; + static styles = [...defaultCss, editorStyles]; + + mode: string = "ace/mode/ic10"; + settings: { keyboard: string; cursor: string; fontSize: number; relativeLineNumbers: boolean; - }; - sessions: Map; + } = { + keyboard: "ace", + cursor: "ace", + fontSize: 16, + relativeLineNumbers: false, + }; - @state() activeSession: number = 1; + sessions: Map = new Map(); activeLineMarkers: Map = new Map(); languageProvider?: LanguageProvider; - // ui: IC10EditorUI; - static styles = [...defaultCss, editorStyles]; + initialInit: boolean = false; + aceReady: boolean = false; - initialInit: boolean; editorDiv: HTMLElement; editorContainerDiv: HTMLElement; editorStatusbarDiv: HTMLElement; @@ -63,27 +100,25 @@ export class IC10Editor extends BaseElement { @query(".e-settings-dialog") settingDialog: SlDialog; + errorTooltip: AceHidden.HoverTooltip = new HoverTooltip(); + activeLineTooltip: AceHidden.HoverTooltip = new HoverTooltip(); + + app: Signal = signal(null); + vm: Signal = signal(null); + constructor() { super(); console.log("constructing editor"); window.Editor = this; - this.mode = "ace/mode/ic10"; - - this.settings = { - keyboard: "ace", - cursor: "ace", - fontSize: 16, - relativeLineNumbers: false, - }; - - this.sessions = new Map(); - this.activeLineMarkers = new Map(); + } - // this.ui = new IC10EditorUI(this); + private async setupApp() { + this.vm.value = await window.VM.get(); + this.app.value = await window.App.get(); } - protected render() { + render() { const result = html`
@@ -121,6 +156,8 @@ export class IC10Editor extends BaseElement { } async firstUpdated() { + await this.setupApp(); + console.log("editor firstUpdated"); if (!ace.require("ace/ext/language_tools")) { await import("ace-builds/src-noconflict/ext-language_tools"); @@ -167,20 +204,19 @@ export class IC10Editor extends BaseElement { this.stylesAdded = []; const stylesToMove: string[] = ["vimMode"]; const stylesToCopy: string[] = ["autocompletion.css"]; - const that = this; this.stylesObserver = new MutationObserver((_mutations, _observer) => { // ace adds nodes, ours should be for (const sheet of document.head.querySelectorAll("style")) { - if (!that.stylesAdded.includes(sheet.id)) { + if (!this.stylesAdded.includes(sheet.id)) { if (stylesToMove.includes(sheet.id)) { - that.shadowRoot?.appendChild(sheet); - that.stylesAdded.push(sheet.id); + this.shadowRoot?.appendChild(sheet); + this.stylesAdded.push(sheet.id); } else if (stylesToCopy.includes(sheet.id)) { let new_sheet = sheet.cloneNode() as HTMLStyleElement; new_sheet.id = `${sheet.id}_clone`; - that.shadowRoot?.appendChild(new_sheet); - that.stylesAdded.push(sheet.id); + this.shadowRoot?.appendChild(new_sheet); + this.stylesAdded.push(sheet.id); } } } @@ -209,22 +245,18 @@ export class IC10Editor extends BaseElement { // characterData: false, // }); - this.sessions.set(this.activeSession, this.editor.getSession()); - this.bindSession(this.activeSession, this.sessions.get(this.activeSession)); - this.activeLineMarkers.set(this.activeSession, null); - const worker = await setupLspWorker(); this.setupLsp(worker); // when the CSS resize Property is added (to a container-div or ace-ic10 ) // the correct sizing is maintained (after user resize) - document.addEventListener("mouseup", function (e) { - that.resizeEditor(); + document.addEventListener("mouseup", (e) => { + this.resizeEditor(); }); - this.observer = new ResizeObserver(function (entries) { + this.observer = new ResizeObserver((entries) => { for (const _entry of entries) { - that.resizeEditor(); + this.resizeEditor(); } }); @@ -237,71 +269,72 @@ export class IC10Editor extends BaseElement { async initializeEditor() { let editor = this.editor; - const that = this; - - const app = await window.App.get(); - app.session.onLoad((_e) => { - const session = app.session; - const updated_ids: number[] = []; - for (const [id, code] of session.programs) { - updated_ids.push(id); - that.createOrSetSession(id, code.peek()); - } - that.activateSession(that.activeSession); - for (const [id, _] of that.sessions) { - if (!updated_ids.includes(id)) { - that.destroySession(id); - } + + effect(() => { + const vm = this.vm.value; + const vmState = vm?.state + const circuitHolders = vmState?.circuitHolderIds.value ?? []; + const seenIds: ObjectID[] = []; + for (const id of circuitHolders) { + seenIds.push(id); + const prog = vmState?.getObjectProgramSource(id); + this.createOrSetSession(id, prog?.value ?? ""); } - }); - app.session.loadFromFragment(); - - app.session.onActiveLine((e) => { - const session = app.session; - const id: number = e.detail; - const active_line = session.getActiveLine(id); - if (typeof active_line !== "undefined") { - const marker = that.activeLineMarkers.get(id); - if (marker) { - that.sessions.get(id)?.removeMarker(marker); - that.activeLineMarkers.set(id, null); - } - const session = that.sessions.get(id); - if (session) { - that.activeLineMarkers.set( - id, - session.addMarker( - new Range(active_line.value, 0, active_line.value, 1), - "vm_ic_active_line", - "fullLine", - true, - ), - ); - if (that.activeSession == id) { - // editor.resize(true); - // TODO: Scroll to line if vm was stepped - //that.editor.scrollToLine(active_line, true, true, ()=>{}) - } + const activeSession = this.app.value.session.activeEditorSession.value ?? circuitHolders[0]; + + if (isSome(activeSession)) this.activateSession(activeSession); + for (const [id, _] of this.sessions) { + if (!seenIds.includes(id)) { + this.destroySession(id); } } }); - app.session.onIDChange((e) => { - const oldID = e.detail.old; - const newID = e.detail.new; - if (this.sessions.has(oldID)) { - this.sessions.set(newID, this.sessions.get(oldID)); - this.sessions.delete(oldID); - } - if (this.activeLineMarkers.has(oldID)) { - this.activeLineMarkers.set(newID, this.activeLineMarkers.get(oldID)); - this.activeLineMarkers.delete(oldID); - } - if (this.activeSession === oldID) { - this.activeSession = newID; + // this.app.value.session.loadFromFragment(); + + this.errorTooltip.setDataProvider((e, editor) => { + const docPos = e.getDocumentPosition(); + const editorSession: ExtendedEditSession = editor.session; + const errorMarker: ExtendedMarkerGroupItem = editorSession.state?.errorMarkers?.getMarkerAtPosition(docPos); + if (!errorMarker) return; + const range: Ace.Range = errorMarker.range; + if (!range) return; + if ( + docPos.row < range.start.row || + docPos.row > range.end.row || + docPos.column < range.start.column || + docPos.column > range.end.column) { + return; } + const domNode = document.createElement("div") + const tooltipHtml = marked.parseInline(errorMarker.tooltipText?.trim() ?? "", { async: false }); + domNode.innerHTML = tooltipHtml; + + this.errorTooltip.showForRange(editor, range, domNode, e) }); + this.errorTooltip.addToEditor(editor); + + this.activeLineTooltip.setDataProvider((e, editor) => { + const docPos = e.getDocumentPosition(); + const editorSession: ExtendedEditSession = editor.session; + const activeLineMarker: Ace.MarkerLike = editorSession.getMarkers(true)[editorSession.state?.activeLineMarker]; + if (!activeLineMarker || activeLineMarker.clazz !== "vm_ic_active_line") return; + const range: Ace.Range = activeLineMarker.range; + if (!range) return; + if (docPos.row !== range.start.row) return; + + const domNode = document.createElement("div") + const activeLine = activeLineMarker.range.start.row; + const tooltipHtml = marked.parseInline(`Instruction Pointer: Line ${activeLine}`, { async: false }); + domNode.innerHTML = tooltipHtml; + + this.activeLineTooltip.showForRange(editor, range, domNode, e) + }) + + /// not sure a tooltip is needed + // this.activeLineTooltip.addToEditor(editor); + // change -> possibility to allow saving the value without having to wait for blur editor.on("change", () => this.editorChangeAction()); @@ -335,7 +368,7 @@ export class IC10Editor extends BaseElement { // description: "Show settings menu", bindKey: { win: "Ctrl-,", mac: "Command-," }, exec: (_editor: Ace.Editor) => { - that.settingDialog.show(); + this.settingDialog.show(); }, }, { @@ -345,7 +378,7 @@ export class IC10Editor extends BaseElement { mac: "Command-Alt-h", }, exec: (_editor: Ace.Editor) => { - that.kbShortcuts.show(); + this.kbShortcuts.show(); }, }, ]); @@ -365,25 +398,28 @@ export class IC10Editor extends BaseElement { )! as SlSwitch; keyboardRadio.addEventListener("sl-change", (_e) => { - that.settings.keyboard = keyboardRadio.value; - that.updateEditorSettings(); - that.saveEditorSettings(); + this.settings.keyboard = keyboardRadio.value; + this.updateEditorSettings(); + this.saveEditorSettings(); }); cursorRadio?.addEventListener("sl-change", (_e) => { - that.settings.cursor = cursorRadio.value; - that.updateEditorSettings(); - that.saveEditorSettings(); + this.settings.cursor = cursorRadio.value; + this.updateEditorSettings(); + this.saveEditorSettings(); }); fontSize?.addEventListener("sl-change", (_e) => { - that.settings.fontSize = parseInt(fontSize.value); - that.updateEditorSettings(); - that.saveEditorSettings(); + this.settings.fontSize = parseInt(fontSize.value); + this.updateEditorSettings(); + this.saveEditorSettings(); }); relativeLineNumbers?.addEventListener("sl-change", (_e) => { - that.settings.relativeLineNumbers = relativeLineNumbers.checked; - that.updateEditorSettings(); - that.saveEditorSettings(); + this.settings.relativeLineNumbers = relativeLineNumbers.checked; + this.updateEditorSettings(); + this.saveEditorSettings(); }); + + + this.dispatchEvent(new CustomEvent("editor-ready", { bubbles: true })) } resizeEditor() { @@ -396,13 +432,11 @@ export class IC10Editor extends BaseElement { } } - /** @private */ - _resizeEditor() { + private _resizeEditor() { this.editor.resize(); } - /** @private */ - _vScrollbarHandler() { + private _vScrollbarHandler() { var vScrollbar = this.shadowRoot?.querySelector( ".ace_scrollbar-v", ) as HTMLDivElement; @@ -417,8 +451,7 @@ export class IC10Editor extends BaseElement { } } - /** @private */ - _hScrollbarHandler() { + private _hScrollbarHandler() { var hScrollbar = this.shadowRoot?.querySelector( ".ace_scrollbar-h", ) as HTMLDivElement; @@ -467,24 +500,72 @@ export class IC10Editor extends BaseElement { } } - createOrSetSession(session_id: number, content: string) { - if (!this.sessions.has(session_id)) { - this.newSession(session_id, content); + createOrSetSession(id: ObjectID, content: string) { + if (!this.sessions.has(id)) { + this.newSession(id, content); } else { - this.sessions.get(session_id).setValue(content); + const session = this.sessions.get(id); + if (session.getValue() == content) return; + session.setValue(content); } } - newSession(session_id: number, content?: string) { - if (this.sessions.has(session_id)) { + newSession(id: ObjectID, content?: string) { + if (this.sessions.has(id)) { return false; } - const session = ace.createEditSession(content ?? "", this.mode as any); + const session: ExtendedEditSession = ace.createEditSession(content ?? "", this.mode as any); + if (!session.state) session.state = {}; + if (!session.state.errorMarkers) { + session.state.errorMarkers = new MarkerGroup(session); + } + + effect(() => { + const sessionErrors = this.vm.value?.state.getProgramErrors(id).value ?? []; + + session.state.errorMarkers.setMarkers(sessionErrors.map((err: LineError): ExtendedMarkerGroupItem => { + const icError = err.error; + const lineLength = session.doc.getLine(err.line).length + if (icError.typ === "ParseError") { + return { + range: new Range(icError.line, icError.start, icError.line, icError.end), + className: "ic10_editor_error_parse", + tooltipText: `Parse Error: ${icError.msg}` + }; + } else if (icError.typ === "DuplicateLabel") { + return { + range: new Range(icError.line, "label".length + 2, icError.line, "label".length + 2 + icError.label.length), + className: "ic10_editor_error_duplicate_label", + tooltipText: `Duplicate Label ${icError.label}: first seen on line ${icError.source_line}` + }; + } else { + return { + range: new Range(err.line, 0, err.line, lineLength), + className: "ic10_editor_error_runtime", + tooltipText: `Runtime Error: ${err.msg}` + }; + } + })) + }); + + effect(() => { + const activeLine = this.vm.value?.state.getCircuitInstructionPointer(id).value ?? 0; + if (session.state.activeLineMarker) { + session.removeMarker(session.state.activeLineMarker); + } + session.state.activeLineMarker = session.addMarker( + new Range(activeLine, 0, activeLine, 999), + "vm_ic_active_line", + "fullLine", + true, + ); + }) + session.setOptions({ firstLineNumber: 0, }); - this.sessions.set(session_id, session); - this.bindSession(session_id, session); + this.sessions.set(id, session); + this.bindSession(id, session); } setupLsp(lsp_worker: Worker) { @@ -502,6 +583,9 @@ export class IC10Editor extends BaseElement { // Create a language provider for web worker this.languageProvider = AceLanguageClient.for(serverData, options); this.languageProvider.registerEditor(this.editor); + /* TODO: setup a tooltip and marker group for runtime errors + * https://github.com/ajaxorg/ace/pull/5113/files + */ } activateSession(session_id: number) { @@ -513,7 +597,6 @@ export class IC10Editor extends BaseElement { const mode = ace.require(this.mode); const options = mode?.options ?? {}; this.languageProvider?.setSessionOptions(session, options); - this.activeSession = session_id; return true; } @@ -561,20 +644,20 @@ export class IC10Editor extends BaseElement { } const session = this.sessions.get(session_id); this.sessions.delete(session_id); - if ((this.activeSession = session_id)) { - this.activateSession(this.sessions.entries().next().value); - } session?.destroy(); return true; } - bindSession(session_id: number, session?: Ace.EditSession) { + bindSession(session_id: number, session?: ExtendedEditSession) { if (session) { session.on("change", () => { - var val = session.getValue(); - window.App.get().then((app) => - app.session.setProgramCode(session_id, val), - ); + if (session.state?.saveTimeout) { + clearTimeout(session.state.saveTimeout); + } + session.state.saveTimeout = setTimeout(() => { + var val = session.getValue(); + this.vm.value?.setCode(session_id, val); + }, 500) }); } } diff --git a/www/src/ts/presets/default.ts b/www/src/ts/presets/default.ts index 33af011..767b0b8 100644 --- a/www/src/ts/presets/default.ts +++ b/www/src/ts/presets/default.ts @@ -1,93 +1,30 @@ import { SessionDB } from "../sessionDB"; +import { genNetwork, objectFromTemplate } from "../database"; export const defaultVMState: SessionDB.CurrentDBVmState = { vm: { objects: [ - { - obj_info: { - id: 1, - prefab: "StructureCircuitHousing", - socketed_ic: 2, - slots: new Map([ - [0, { id: 2, quantity: 1 }], - ]), - connections: new Map([ - [0, 1], - ]), - // unused, provided to make compiler happy - name: undefined, - prefab_hash: undefined, - compile_errors: undefined, - parent_slot: undefined, - root_parent_human: undefined, - damage: undefined, - device_pins: undefined, - reagents: undefined, - logic_values: undefined, - slot_logic_values: undefined, - entity: undefined, - visible_devices: undefined, - memory: undefined, - source_code: undefined, - circuit: undefined, - }, - template: undefined, - database_template: true, - }, - { - obj_info: { - id: 2, - prefab: "ItemIntegratedCircuit10", - source_code: "", - memory: new Array(512).fill(0), - circuit: { - instruction_pointer: 0, - yield_instruction_count: 0, - state: "Start", - aliases: new Map(), - defines: new Map(), - labels: new Map(), - registers: new Array(18).fill(0), - }, - - // unused, provided to make compiler happy - name: undefined, - prefab_hash: undefined, - compile_errors: undefined, - slots: undefined, - parent_slot: undefined, - root_parent_human: undefined, - damage: undefined, - device_pins: undefined, - connections: undefined, - reagents: undefined, - logic_values: undefined, - slot_logic_values: undefined, - entity: undefined, - socketed_ic: undefined, - visible_devices: undefined, + objectFromTemplate("StructureCircuitHousing", { + id: 1, + slots: { + 0: { + quantity: 1, + occupant: 2 + } }, - template: undefined, - database_template: true, - }, + connections: { + 0: 1 + } + }), + objectFromTemplate("ItemIntegratedCircuit10", { + id: 2, + }), ], networks: [ - { - id: 1, + genNetwork(1, { devices: [1], - power_only: [], - channels: Array(8).fill(NaN) as [ - number, - number, - number, - number, - number, - number, - number, - number, - ], - }, + }) ], program_holders: [2], circuit_holders: [1], diff --git a/www/src/ts/presets/demo.ts b/www/src/ts/presets/demo.ts index b562eea..550782b 100644 --- a/www/src/ts/presets/demo.ts +++ b/www/src/ts/presets/demo.ts @@ -1,4 +1,5 @@ import { SessionDB } from "../sessionDB"; +import { NetworkChannels } from "../database"; export const demoCode = `# Highlighting Demo @@ -77,22 +78,6 @@ export const demoVMState: SessionDB.CurrentDBVmState = { connections: new Map([ [0, 1], ]), - // unused, provided to make compiler happy - name: undefined, - prefab_hash: undefined, - compile_errors: undefined, - parent_slot: undefined, - root_parent_human: undefined, - damage: undefined, - device_pins: undefined, - reagents: undefined, - logic_values: undefined, - slot_logic_values: undefined, - entity: undefined, - visible_devices: undefined, - memory: undefined, - source_code: undefined, - circuit: undefined, }, template: undefined, database_template: true, @@ -112,23 +97,6 @@ export const demoVMState: SessionDB.CurrentDBVmState = { labels: new Map(), registers: new Array(18).fill(0), }, - - // unused, provided to make compiler happy - name: undefined, - prefab_hash: undefined, - compile_errors: undefined, - slots: undefined, - parent_slot: undefined, - root_parent_human: undefined, - damage: undefined, - device_pins: undefined, - connections: undefined, - reagents: undefined, - logic_values: undefined, - slot_logic_values: undefined, - entity: undefined, - socketed_ic: undefined, - visible_devices: undefined, }, template: undefined, database_template: true, @@ -139,16 +107,7 @@ export const demoVMState: SessionDB.CurrentDBVmState = { id: 1, devices: [1], power_only: [], - channels: Array(8).fill(NaN) as [ - number, - number, - number, - number, - number, - number, - number, - number, - ], + channels: Array(8).fill(NaN) as NetworkChannels, }, ], program_holders: [2], diff --git a/www/src/ts/presets/index.ts b/www/src/ts/presets/index.ts index d28acc9..5b856fd 100644 --- a/www/src/ts/presets/index.ts +++ b/www/src/ts/presets/index.ts @@ -1,4 +1,6 @@ import { defaultVMState } from "./default"; import { demoVMState } from "./demo"; -export { defaultVMState, demoVMState }; +import * as Transform from "../database"; + +export { defaultVMState, demoVMState, Transform }; diff --git a/www/src/ts/session.ts b/www/src/ts/session.ts index a34fc35..08bf097 100644 --- a/www/src/ts/session.ts +++ b/www/src/ts/session.ts @@ -1,5 +1,4 @@ import type { - ICError, ObjectID, } from "ic10emu_wasm"; import { App } from "./app"; @@ -8,13 +7,13 @@ import { openDB, IDBPTransaction } from "idb"; import { TypedEventTarget, fromJson, - structuralEqual, toJson, } from "./utils"; import * as presets from "./presets"; import { computed, signal, Signal } from "@lit-labs/preact-signals"; import { SessionDB } from "sessionDB"; +import { VMState } from "virtualMachine/state"; const { demoVMState } = presets; export interface SessionEventMap { @@ -26,48 +25,24 @@ export interface SessionEventMap { "active-line": CustomEvent; } -export class Session extends TypedEventTarget() { - private _programs: Map>; - private _errors: Signal>; - private _activeIC: Signal; - private _activeLines: Signal>; - private _save_timeout?: ReturnType; - +export class Session extends TypedEventTarget(EventTarget) { + private _activeIC: Signal = signal(null); + private _activeEditorSession: Signal = signal(null); + private _save_timeout?: ReturnType = undefined; private app: App; + vmState: Signal = signal(null); + constructor(app: App) { super(); this.app = app; - this._programs = new Map(); - this._errors = signal(new Map()); - this._save_timeout = undefined; - this._activeIC = signal(null); - this._activeLines = signal(new Map()); this.loadFromFragment(); - const that = this; window.addEventListener("hashchange", (_event) => { - that.loadFromFragment(); + this.loadFromFragment(); }); } - get programs(): Map> { - return this._programs; - } - - set programs(programs: Iterable<[ObjectID, string]>) { - const seenIds: ObjectID[] = [] - for (const [id, code] of programs) { - this.setProgram(id, code); - seenIds.push(id); - } - for (const id of this._programs.keys()) { - if (!seenIds.includes(id)) { - this.setProgram(id, null); - } - } - } - get activeIC(): Signal { return this._activeIC; } @@ -77,74 +52,18 @@ export class Session extends TypedEventTarget() { this.dispatchCustomEvent("session-active-ic", this.activeIC.peek()); } - changeID(oldID: ObjectID, newID: ObjectID) { - if (this._programs.has(oldID)) { - this._programs.set(newID, this._programs.get(oldID)); - this._programs.delete(oldID); - } - this.dispatchCustomEvent("session-id-change", { old: oldID, new: newID }); + get activeEditorSession(): Signal { + return this._activeEditorSession; } - onIDChange(callback: (e: CustomEvent<{ old: ObjectID; new: ObjectID }>) => any) { - this.addEventListener("session-id-change", callback); + set activeEditorSession(val: ObjectID) { + this._activeEditorSession.value = val; } onActiveIc(callback: (e: CustomEvent) => any) { this.addEventListener("session-active-ic", callback); } - get errors() { - return this._errors; - } - - getActiveLine(id: ObjectID) { - return computed(() => this._activeLines.value.get(id)); - } - - setActiveLine(id: ObjectID, line: number) { - const last = this._activeLines.peek().get(id); - if (last !== line) { - this._activeLines.value = new Map([... this._activeLines.value.entries(), [id, line]]); - this._fireOnActiveLine(id); - } - } - - setProgramCode(id: ObjectID, code: string) { - this.setProgram(id, code); - if (this.app.vm) { - this.app.vm.updateCode(); - } - this.save(); - } - - getProgram(id: ObjectID): Signal { - if (!this._programs.has(id)) { - this._programs.set(id, signal(null)); - } - return this._programs.get(id); - } - - private setProgram(id: ObjectID, code: string) { - if (!this._programs.has(id)) { - this._programs.set(id, signal(code)); - } else { - this._programs.get(id).value = code; - } - } - - setProgramErrors(id: ObjectID, errors: ICError[]) { - this._errors.value = new Map([...this._errors.value.entries(), [id, errors]]); - this._fireOnErrors([id]); - } - - _fireOnErrors(ids: ObjectID[]) { - this.dispatchCustomEvent("session-errors", ids); - } - - onErrors(callback: (e: CustomEvent) => any) { - this.addEventListener("session-errors", callback); - } - onLoad(callback: (e: CustomEvent) => any) { this.addEventListener("session-load", callback); } @@ -188,19 +107,15 @@ export class Session extends TypedEventTarget() { if (typeof data === "string") { this.activeIC = 1; await vm.restoreVMState(demoVMState.vm); - this.programs = [[1, data]]; } else if ("programs" in data) { this.activeIC = 1; await vm.restoreVMState(demoVMState.vm); - this.programs = data.programs; } else if ("vm" in data) { - this.programs = []; const state = data.vm; // assign first so it's present when the // vm fires events this._activeIC.value = data.activeIC; await vm.restoreVMState(state); - this.programs = vm.getPrograms(); // assign again to fire event this.activeIC = data.activeIC; } diff --git a/www/src/ts/utils.ts b/www/src/ts/utils.ts index c47a67f..f42fbcf 100644 --- a/www/src/ts/utils.ts +++ b/www/src/ts/utils.ts @@ -75,6 +75,11 @@ function replacer(_key: any, value: any) { dataType: "Number", value: numberToString(value), }; + } else if (typeof value === "bigint") { + return { + dataType: "BigInt", + value: value.toString(), + } } else if (typeof value === "undefined") { return { dataType: "undefined", @@ -90,6 +95,8 @@ function reviver(_key: any, value: any) { return new Map(value.value); } else if (value.dataType === "Number") { return parseFloat(value.value); + } else if (value.dataType === "BigInt") { + return BigInt(value.value); } else if (value.dataType === "undefined") { return undefined; } @@ -348,14 +355,14 @@ export function clamp(val: number, min: number, max: number) { return Math.min(Math.max(val, min), max); } -// export type TypedEventTarget = { -// new(): TypedEventTargetInterface; -// }; - type Constructor = new (...args: any[]) => T -export const TypedEventTarget = ( +export const TypedEventTarget = < + EventMap extends object, + T extends Constructor +>( + superClass: T, ) => { - class TypedEventTargetClass extends EventTarget { + class TypedEventTargetClass extends superClass { dispatchCustomEvent( type: K, data?: EventMap[K] extends CustomEvent ? DetailData : never, @@ -369,7 +376,7 @@ export const TypedEventTarget = ( })) } } - return TypedEventTargetClass as Constructor>; + return TypedEventTargetClass as Constructor> & T; } interface TypedEventTargetInterface extends EventTarget { diff --git a/www/src/ts/virtualMachine/controls.ts b/www/src/ts/virtualMachine/controls.ts index 3174ed7..311f01d 100644 --- a/www/src/ts/virtualMachine/controls.ts +++ b/www/src/ts/virtualMachine/controls.ts @@ -4,9 +4,10 @@ import { BaseElement, defaultCss } from "components"; import SlSelect from "@shoelace-style/shoelace/dist/components/select/select.js"; import { computed, Signal, SignalWatcher, watch } from "@lit-labs/preact-signals"; -import { FrozenObjectFull } from "ic10emu_wasm"; +import { FrozenObjectFull, LineError } from "ic10emu_wasm"; import { VMObjectMixin } from "./baseDevice"; import { createRef, Ref, ref } from "lit/directives/ref.js"; +import { isSome, structuralEqual } from "utils"; @customElement("vm-ic-controls") export class VMICControls extends VMObjectMixin(SignalWatcher(BaseElement)) { @@ -90,10 +91,17 @@ export class VMICControls extends VMObjectMixin(SignalWatcher(BaseElement)) { return this.vm.value?.state.circuitHolderIds.value ?? []; }); - errors = computed(() => { - const obj = this.vm.value?.state.getObject(this.activeIC.value).value; - return obj?.obj_info.compile_errors ?? []; - }); + errors = (() => { + let last: LineError[] = null + return computed(() => { + const obj = this.vm.value?.state.getProgramErrors(this.activeIC.value).value ?? []; + if (structuralEqual(last, obj)) { + return last; + } + last = obj; + return obj + }) + })(); icIP = computed(() => { const circuit = this.vm.value?.state.getCircuitInfo(this.activeIC.value).value; @@ -144,19 +152,35 @@ export class VMICControls extends VMObjectMixin(SignalWatcher(BaseElement)) { const icErrors = computed(() => { return this.errors.value.map( (err) => - typeof err === "object" - && "ParseError" in err - ? html`
- - Line: ${err.ParseError.line} - - ${"ParseError" in err ? err.ParseError.start : "N/A"}:${err.ParseError.end} - - ${err.ParseError.msg} -
` - : html`${JSON.stringify(err)}`, + html` +
+ + Line: ${err.line} ${err.error.typ === "ParseError" ? html`- ${err.error.start}:${err.error.end}` : nothing} + + ${err.msg} +
+ ` ) ?? nothing; }); + const icState = computed(() => { + const state = this.icState.value; + if (isSome(state) && typeof state === "object") { + if ("Sleep" in state) { + const date = new Date(state.Sleep[0]); + const seconds = state.Sleep[1]; + date.setSeconds(date.getSeconds() + seconds); + return html` +

Sleeping until

+

Seconds

+ `; + } else if ("Error" in state) { + return html`Error on Line ${state.Error.line}`; + } + } + return state; + }) + return html`
@@ -229,7 +253,7 @@ export class VMICControls extends VMObjectMixin(SignalWatcher(BaseElement)) {
Last State - ${watch(this.icState)} + ${watch(icState)}
@@ -245,7 +269,7 @@ export class VMICControls extends VMObjectMixin(SignalWatcher(BaseElement)) { window.VM.get().then((vm) => vm.run()); } _handleStepClick() { - window.VM.get().then((vm) => vm.step()); + window.VM.get().then((vm) => vm.step(true)); } _handleResetClick() { window.VM.get().then((vm) => vm.reset()); diff --git a/www/src/ts/virtualMachine/device/addDevice.ts b/www/src/ts/virtualMachine/device/addDevice.ts index af8a97b..90733fc 100644 --- a/www/src/ts/virtualMachine/device/addDevice.ts +++ b/www/src/ts/virtualMachine/device/addDevice.ts @@ -243,12 +243,12 @@ export class VMAddDeviceButton extends VMObjectMixin(BaseElement) { (result) => result.entry.prefab.prefab_name, (result) => html` - - + `, ); } else { diff --git a/www/src/ts/virtualMachine/device/template.ts b/www/src/ts/virtualMachine/device/template.ts index 00dda83..8409011 100644 --- a/www/src/ts/virtualMachine/device/template.ts +++ b/www/src/ts/virtualMachine/device/template.ts @@ -20,7 +20,7 @@ import { customElement, property, query, state } from "lit/decorators.js"; import { BaseElement, defaultCss } from "components"; import { connectionFromConnectionInfo } from "./dbutils"; -import { crc32, displayNumber, isSome, parseNumber, structuralEqual } from "utils"; +import { crc32, displayNumber, isSome, parseNumber, structuralEqual, TypedEventTarget } from "utils"; import SlInput from "@shoelace-style/shoelace/dist/components/input/input.component.js"; import SlSelect from "@shoelace-style/shoelace/dist/components/select/select.component.js"; import { VMDeviceCard } from "./card"; @@ -42,8 +42,17 @@ export interface ConnectionCableNetwork { }; } -@customElement("vm-device-template") -export class VmObjectTemplate extends VMObjectMixin(BaseElement) { +export interface VmObjectTemplateEventMap { + "add-object-template": CustomEvent +} + +@customElement("vm-object-template") +export class VmObjectTemplate extends VMObjectMixin( + TypedEventTarget< + VmObjectTemplateEventMap, + typeof BaseElement + >(BaseElement) +) { static styles = [ ...defaultCss, css` @@ -142,7 +151,8 @@ export class VmObjectTemplate extends VMObjectMixin(BaseElement) { ).map( (slot, _index) => ({ - typ: slot.typ, + typ: slot.class +, quantity: 0, }) as SlotTemplate, ); @@ -219,7 +229,7 @@ export class VmObjectTemplate extends VMObjectMixin(BaseElement) { } renderSlots(): HTMLTemplateResult { - return html`
`; + return html`
`; } renderReagents(): HTMLTemplateResult { @@ -408,15 +418,13 @@ export class VmObjectTemplate extends VMObjectMixin(BaseElement) { `; } async _handleAddButtonClick() { - this.dispatchEvent( - new CustomEvent("add-device-template", { bubbles: true }), - ); - // Typescript doesn't like fileds defined as `X | undefined` not being present, hence cast + this.dispatchCustomEvent("add-object-template", null, { bubbles: true }); + const objInfo: ObjectInfo = { - id: this.objectIDSignal.value, + id: (this.objectIDSignal.value ?? 0) > 0 ? this.objectIDSignal.value : undefined, name: this.objectName.value, prefab: this.prefabName, - } as ObjectInfo; + }; if (this.slots.value.length > 0) { const slotOccupants: [FrozenObject, number][] = this.slots.value.flatMap( @@ -459,12 +467,14 @@ export class VmObjectTemplate extends VMObjectMixin(BaseElement) { if (this.connections.value.length > 0) { objInfo.connections = new Map( - this.connections.value.flatMap((conn, index) => { - return typeof conn === "object" && - "CableNetwork" in conn && - typeof conn.CableNetwork.net !== "undefined" - ? ([[index, conn.CableNetwork.net]] as [number, number][]) - : ([] as [number, number][]); + this.connections.value.flatMap((conn, index): [number, ObjectID][] => { + return ( + typeof conn === "object" && + "CableNetwork" in conn && + typeof conn.CableNetwork.net !== "undefined" + ? ([[index, conn.CableNetwork.net]]) + : ([]) + ); }), ); } @@ -476,7 +486,6 @@ export class VmObjectTemplate extends VMObjectMixin(BaseElement) { const template: FrozenObject = { obj_info: objInfo, database_template: true, - template: undefined, }; await window.VM.vm.addObjectFrozen(template); diff --git a/www/src/ts/virtualMachine/index.ts b/www/src/ts/virtualMachine/index.ts index f14c7ec..37ab4ad 100644 --- a/www/src/ts/virtualMachine/index.ts +++ b/www/src/ts/virtualMachine/index.ts @@ -44,35 +44,34 @@ Comlink.transferHandlers.set("SpecialJson", comlinkSpecialJsonTransferHandler); const jsonErrorRegex = /((invalid type: .*)|(missing field .*)) at line (?\d+) column (?\d+)/; -class VirtualMachine extends TypedEventTarget() { +class VirtualMachine extends TypedEventTarget(EventTarget) { ic10vm: Comlink.Remote; templateDBPromise: Promise; state: VMState = new VMState(); - private vm_worker: Worker; - + private vmWorker: Worker; private app: App; constructor(app: App) { super(); this.app = app; this.setupVM(); + this.app.session.vmState.value = this.state; } async setupVM() { - this.vm_worker = new Worker(new URL("./vmWorker.ts", import.meta.url)); + this.vmWorker = new Worker(new URL("./vmWorker.ts", import.meta.url)); const loaded = (w: Worker) => new Promise((r) => w.addEventListener("message", r, { once: true })); - await Promise.all([loaded(this.vm_worker)]); + await Promise.all([loaded(this.vmWorker)]); console.info("VM Worker loaded"); - const vm = Comlink.wrap(this.vm_worker); + const vm = Comlink.wrap(this.vmWorker); this.ic10vm = vm; this.state.vm.value = await this.ic10vm.saveVMState(); this.templateDBPromise = this.ic10vm.getTemplateDatabase(); this.templateDBPromise.then((db) => this.setupTemplateDatabase(db)); - this.updateCode(); window.VM.set(this); } @@ -88,38 +87,11 @@ class VirtualMachine extends TypedEventTarget() { return ids; } - async updateCode() { - const progs = this.app.session.programs; - for (const id of progs.keys()) { - const attempt = Date.now().toString(16); - const vmProg = this.state.getObjectProgramSource(id).peek(); - const prog = progs.get(id).peek(); - if ( - vmProg && - prog && - vmProg !== prog - ) { - try { - console.time(`CompileProgram_${id}_${attempt}`); - await this.ic10vm.setCodeInvalid(id, prog); - const errors = await this.ic10vm.getCompileErrors(id); - this.app.session.setProgramErrors(id, errors); - this.dispatchCustomEvent("vm-object-modified", id); - } catch (err) { - this.handleVmError(err); - } finally { - console.timeEnd(`CompileProgram_${id}_${attempt}`); - } - } - } - this.update(false); - } - - async step() { + async step(ignoreError: boolean = false) { const ic = this.activeIC.peek(); if (ic) { try { - await this.ic10vm.stepProgrammable(ic, false); + await this.ic10vm.stepProgrammable(ic, ignoreError); } catch (err) { this.handleVmError(err); } @@ -204,36 +176,51 @@ class VirtualMachine extends TypedEventTarget() { old: oldID, new: newID, }); - this.app.session.changeID(oldID, newID); return true; } - async setRegister(index: number, val: number): Promise { - const ic = this.activeIC.peek(); - if (ic) { + async setCode(id: ObjectID, prog: string): Promise { + const attempt = Date.now().toString(16); + const vmProg = this.state.getObjectProgramSource(id).peek(); + if ( + vmProg && + prog && + vmProg !== prog + ) { try { - await this.ic10vm.setRegister(ic, index, val); + console.time(`CompileProgram_${id}_${attempt}`); + await this.ic10vm.setCodeInvalid(id, prog); } catch (err) { this.handleVmError(err); return false; + } finally { + console.timeEnd(`CompileProgram_${id}_${attempt}`); } await this.update(); - return true; } + return true; } - async setStack(addr: number, val: number): Promise { - const ic = this.activeIC.peek(); - if (ic) { - try { - await this.ic10vm.setMemory(ic, addr, val); - } catch (err) { - this.handleVmError(err); - return false; - } - await this.update(); - return true; + async setRegister(id: ObjectID, index: number, val: number): Promise { + try { + await this.ic10vm.setRegister(id, index, val); + } catch (err) { + this.handleVmError(err); + return false; } + await this.update(); + return true; + } + + async setStack(id: ObjectID, addr: number, val: number): Promise { + try { + await this.ic10vm.setMemory(id, addr, val); + } catch (err) { + this.handleVmError(err); + return false; + } + await this.update(); + return true; } async setObjectName(id: number, name: string): Promise { diff --git a/www/src/ts/virtualMachine/registers.ts b/www/src/ts/virtualMachine/registers.ts index 54acd23..78f2903 100644 --- a/www/src/ts/virtualMachine/registers.ts +++ b/www/src/ts/virtualMachine/registers.ts @@ -124,6 +124,6 @@ export class VMICRegisters extends VMObjectMixin(BaseElement) { const input = e.target as SlInput; const index = parseInt(input.getAttribute("key")!); const val = parseNumber(input.value); - window.VM.vm.setRegister(index, val); + window.VM.vm.setRegister(this.vm.value?.activeIC.value, index, val); } } diff --git a/www/src/ts/virtualMachine/stack.ts b/www/src/ts/virtualMachine/stack.ts index ade1418..0c820ca 100644 --- a/www/src/ts/virtualMachine/stack.ts +++ b/www/src/ts/virtualMachine/stack.ts @@ -103,6 +103,6 @@ export class VMICStack extends VMObjectMixin(BaseElement) { const input = e.target as SlInput; const index = parseInt(input.getAttribute("key")!); const val = parseNumber(input.value); - window.VM.get().then(vm => vm.setStack(index, val)); + window.VM.get().then(vm => vm.setStack(this.vm.value?.activeIC.value, index, val)); } } diff --git a/www/src/ts/virtualMachine/state.ts b/www/src/ts/virtualMachine/state.ts index aba2540..b2692e0 100644 --- a/www/src/ts/virtualMachine/state.ts +++ b/www/src/ts/virtualMachine/state.ts @@ -1,7 +1,6 @@ import { computed, ReadonlySignal, signal, Signal } from "@lit-labs/preact-signals"; -import { Obj } from "@popperjs/core"; -import { Class, Connection, FrozenCableNetwork, FrozenNetworks, FrozenObject, FrozenObjectFull, FrozenVM, ICInfo, LogicField, LogicSlotType, LogicType, ObjectID, Operand, Slot, TemplateDatabase } from "ic10emu_wasm"; -import { fromJson, isSome, structuralEqual } from "utils"; +import { Class, Connection, FrozenCableNetwork, FrozenObject, FrozenVM, ICInfo, ICState, LineError, LogicField, LogicSlotType, LogicType, ObjectID, Operand, Slot, TemplateDatabase } from "ic10emu_wasm"; +import { isSome, structuralEqual } from "utils"; export interface ObjectSlotInfo { @@ -18,12 +17,78 @@ export class VMState { vm: Signal = signal(null); templateDB: Signal = signal(null); - objectIds: ReadonlySignal = computed(() => this.vm.value?.objects.map((obj) => obj.obj_info.id) ?? []); - circuitHolderIds: ReadonlySignal = computed(() => this.vm.value?.circuit_holders ?? []); - programHolderIds: ReadonlySignal = computed(() => this.vm.value?.program_holders ?? []); - networkIds: ReadonlySignal = computed(() => this.vm.value?.networks.map((net) => net.id) ?? []); - wirelessTransmitterIds: ReadonlySignal = computed(() => this.vm.value?.wireless_transmitters ?? []); - wirelessReceivers: ReadonlySignal = computed(() => this.vm.value?.wireless_receivers ?? []); + objectIds: ReadonlySignal = (() => { + let last: ObjectID[] = null; + return computed(() => { + const ids = this.vm.value?.objects.map((obj) => obj.obj_info.id) ?? []; + if (structuralEqual(last, ids)) { + return last; + } + last = ids; + return ids; + }); + })(); + + circuitHolderIds: ReadonlySignal = (() => { + let last: ObjectID[] = null; + return computed(() => { + const ids = this.vm.value?.circuit_holders ?? []; + if (structuralEqual(last, ids)) { + return last; + } + last = ids; + return ids; + }); + })(); + + programHolderIds: ReadonlySignal = (() => { + let last: ObjectID[] = null; + return computed(() => { + const ids = this.vm.value?.program_holders ?? []; + if (structuralEqual(last, ids)) { + return last; + } + last = ids; + return ids; + }); + })(); + + networkIds: ReadonlySignal = (() => { + let last: ObjectID[] = null; + return computed(() => { + const ids = this.vm.value?.networks.map((net) => net.id) ?? []; + if (structuralEqual(last, ids)) { + return last; + } + last = ids; + return ids; + }); + })(); + + wirelessTransmitterIds: ReadonlySignal = (() => { + let last: ObjectID[] = null; + return computed(() => { + const ids = this.vm.value?.wireless_transmitters ?? []; + if (structuralEqual(last, ids)) { + return last; + } + last = ids; + return ids; + }); + })(); + + wirelessReceivers: ReadonlySignal = (() => { + let last: ObjectID[] = null; + return computed(() => { + const ids = this.vm.value?.wireless_receivers ?? []; + if (structuralEqual(last, ids)) { + return last; + } + last = ids; + return ids; + }); + })(); + defaultNetworkId: ReadonlySignal = computed(() => this.vm.value?.default_network_key ?? null); private _signalCache: Map>> = new Map(); @@ -521,6 +586,54 @@ export class VMState { return this.signalCacheGet(key) } + getCircuitDefines(id: ObjectID): ReadonlySignal> { + const key = `obj:${id},circuitDefines`; + if (!this.signalCacheHas(key)) { + let last: Record = null; + const s = computed((): Record => { + const circuit = this.getCircuitInfo(id).value; + const defines = circuit?.defines + const next = Object.fromEntries(defines?.entries() ?? []) + if (structuralEqual(last, next)) { + return last; + } + last = next; + return next; + }); + this.signalCacheSet(key, s); + return s; + } + return this.signalCacheGet(key); + } + + getCircuitInstructionPointer(id: ObjectID): ReadonlySignal { + const key = `obj:${id},circuitInstructionPointer`; + if (!this.signalCacheHas(key)) { + const s = computed((): number => { + const circuit = this.getCircuitInfo(id).value; + const pointer = circuit?.instruction_pointer + return pointer ?? 0; + }); + this.signalCacheSet(key, s); + return s; + } + return this.signalCacheGet(key); + } + + getCircuitYieldInstructionCount(id: ObjectID): ReadonlySignal { + const key = `obj:${id},circuitYieldInstructionCount`; + if (!this.signalCacheHas(key)) { + const s = computed((): number => { + const circuit = this.getCircuitInfo(id).value; + const count = circuit?.yield_instruction_count + return count ?? 0; + }); + this.signalCacheSet(key, s); + return s; + } + return this.signalCacheGet(key); + } + getDeviceNumPins(id: ObjectID): ReadonlySignal { const key = `obj:${id},numPins`; if (!this.signalCacheHas(key)) { @@ -610,5 +723,83 @@ export class VMState { return this.signalCacheGet(key) } + getProgramErrors(id: ObjectID): ReadonlySignal { + const key = `obj:${id},programErrors` + if (!this.signalCacheHas(key)) { + let last: LineError[] = null; + const s = computed((): LineError[] => { + let ic = null; + if (this.circuitHolderIds.value?.includes(id)) { + const circuit = this.getObject(id).value; + ic = this.getObject(circuit?.obj_info.socketed_ic).value ?? null; + } else if (this.programHolderIds.value?.includes(id)) { + ic = this.getObject(id).value ?? null; + } else { + console.error(`(objectId: ${id}) does not refer to a object with a known program interface`) + return null; + } + const errors = ic?.obj_info.compile_errors?.flatMap((error): LineError[] => { + if (error.typ === "ParseError") { + return [{ + error, + line: error.line, + msg: error.msg, + }]; + } else if (error.typ === "DuplicateLabel") { + return [{ + error, + line: error.line, + msg: `duplicate label ${error.label}: first encountered on line ${error.source_line}` + }]; + } else { + return []; + } + }) ?? []; + const icState: ICState = ic?.obj_info.circuit.state; + if (typeof icState === "object" && "Error" in icState) { + errors.push(icState.Error); + } + if (structuralEqual(last, errors)) { + return last; + } + last = errors; + return errors + }); + this.signalCacheSet(key, s); + return s; + } + return this.signalCacheGet(key); + } + + circuitHolderErrors: ReadonlySignal> = (() => { + let last: Record = null; + return computed((): Record => { + const errors: Record = {} + this.circuitHolderIds.value.forEach(id => { + errors[id] = this.getProgramErrors(id).value + }) + if (structuralEqual(last, errors)) { + return last; + } + last = errors; + return errors; + }) + })(); + + circuitHolderActiveLines: ReadonlySignal> = (() => { + let last: Record = null; + return computed((): Record => { + const activeLines: Record = {} + this.circuitHolderIds.value.forEach(id => { + activeLines[id] = this.getCircuitInstructionPointer(id).value + }) + if (structuralEqual(last, activeLines)) { + return last; + } + last = activeLines; + return activeLines; + }) + })(); + } diff --git a/www/src/ts/virtualMachine/vmWorker.ts b/www/src/ts/virtualMachine/vmWorker.ts index 9f38b0b..fccde20 100644 --- a/www/src/ts/virtualMachine/vmWorker.ts +++ b/www/src/ts/virtualMachine/vmWorker.ts @@ -5,8 +5,8 @@ import type { import * as Comlink from "comlink"; -import prefabDatabase from "./prefabDatabase"; -import { comlinkSpecialJsonTransferHandler, parseNumber } from "utils"; +import prefabDatabase from "../database/prefabDatabase"; +import { comlinkSpecialJsonTransferHandler } from "utils"; Comlink.transferHandlers.set("SpecialJson", comlinkSpecialJsonTransferHandler);