diff --git a/src/App.tsx b/src/App.tsx index 6c1ffd9..95efada 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,7 +1,7 @@ import { computed, defineComponent } from 'vue' import { RouterView } from 'vue-router' import { useI18n } from 'vue-i18n' -import { useColorMode } from '@vueuse/core' +import { syncRef, useColorMode, useLocalStorage } from '@vueuse/core' import { darkTheme, dateZhCN, @@ -14,6 +14,9 @@ export default defineComponent({ setup() { const { locale } = useI18n() + const _locale = useLocalStorage('locale', locale.value) + syncRef(locale, _locale) + const colorMode = useColorMode() const isDark = computed(() => { diff --git a/src/components/ItemRecipeSelect.tsx b/src/components/ItemRecipeSelect.tsx index a52c1c5..ef81e79 100644 --- a/src/components/ItemRecipeSelect.tsx +++ b/src/components/ItemRecipeSelect.tsx @@ -8,7 +8,8 @@ import { } from 'naive-ui' import type { Id } from '@/types' -import { getRecipeById, recipes } from '@/data' +import { getBuildingById, getItemById, getRecipeById, recipes } from '@/data' +import { calculatePerMinute } from '@/utils/dataCalculators' import BuildingImage from './BuildingImage' import ItemImage from './ItemImage' @@ -16,10 +17,12 @@ import ItemImage from './ItemImage' const renderItem = (itemId: Id, quantity: number, perMinute: number) => { const { t } = useI18n() + const item = getItemById(itemId) + return ( @@ -29,7 +32,7 @@ const renderItem = (itemId: Id, quantity: number, perMinute: number) => { vertical >
- {quantity}×{t(`items.${itemId}`)} + {quantity}×{t(`items.${item.key}`)}
{perMinute} @@ -44,25 +47,30 @@ const renderLabel: SelectRenderLabel = (option) => { const { t } = useI18n() const recipe = getRecipeById(option.value as Id) + const building = getBuildingById(recipe.producedInId) return (
- {t(`buildings.${recipe.producedIn}`)} + {t(`buildings.${building.key}`)}
{option.label}
- {recipe.inputs.map(({ itemId, quantity, quantityPerMinute }) => - renderItem(itemId, quantity, quantityPerMinute), + {recipe.inputs.map(({ itemId, quantity }) => + renderItem( + itemId, + quantity, + calculatePerMinute(quantity, recipe.productionDuration), + ), )} {
- {recipe.outputs.map(({ itemId, quantity, quantityPerMinute }) => - renderItem(itemId, quantity, quantityPerMinute), + {recipe.outputs.map(({ itemId, quantity }) => + renderItem( + itemId, + quantity, + calculatePerMinute(quantity, recipe.productionDuration), + ), )} @@ -92,14 +104,11 @@ const renderTag: SelectRenderTag = ({ option }) => option.label as string export default defineComponent({ props: { - value: String as PropType, - itemId: String as PropType, - }, - emits: { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - 'update:value': (value: Id | null) => true, + itemId: Number as PropType, + value: Number as PropType, + onUpdateValue: Function as PropType<(value: Id | null) => void>, }, - setup(props, { emit }) { + setup(props) { const { t } = useI18n() const options = computed(() => { @@ -108,9 +117,9 @@ export default defineComponent({ .filter(({ outputs }) => { return outputs.some(({ itemId }) => itemId === props.itemId) }) - .map(({ id }) => { + .map(({ id, key }) => { return { - label: t(`recipes.${id}`), + label: t(`recipes.${key}`), value: id, } }) @@ -121,18 +130,16 @@ export default defineComponent({ watch(options, (options) => { if (options.length === 0) { - emit('update:value', null) + props.onUpdateValue?.(null) } else { - emit('update:value', options[0].value) + props.onUpdateValue?.(options[0].value) } }) return () => ( { - emit('update:value', newValue) - }} + onUpdateValue={props.onUpdateValue} options={options.value} consistent-menu-width={false} renderLabel={renderLabel} diff --git a/src/components/ItemSelect.tsx b/src/components/ItemSelect.tsx index dde06fc..e62ecf4 100644 --- a/src/components/ItemSelect.tsx +++ b/src/components/ItemSelect.tsx @@ -3,15 +3,17 @@ import { useI18n } from 'vue-i18n' import { NFlex, NSelect, type SelectRenderLabel } from 'naive-ui' import type { Id } from '@/types' -import { items, recipes } from '@/data' +import { getItemById, items, recipes } from '@/data' import ItemImage from './ItemImage' const renderLabel: SelectRenderLabel = (option) => { + const item = getItemById(option.value as Id) + return ( { export default defineComponent({ props: { - value: String as PropType, - }, - emits: { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - 'update:value': (value: Id | null) => true, + value: Number as PropType, + onUpdateValue: Function as PropType<(value: Id | null) => void>, }, - setup(props, { emit }) { + setup(props) { const { t } = useI18n() const options = computed(() => @@ -40,9 +39,9 @@ export default defineComponent({ return outputs.some(({ itemId }) => itemId === id) }) }) - .map(({ id }) => { + .map(({ id, key }) => { return { - label: t(`items.${id}`), + label: t(`items.${key}`), value: id, } }), @@ -51,9 +50,7 @@ export default defineComponent({ return () => ( { - emit('update:value', newValue) - }} + onUpdateValue={props.onUpdateValue} options={options.value} consistent-menu-width={false} renderLabel={renderLabel} diff --git a/src/components/ModularFactoryDrawer.tsx b/src/components/ModularFactoryDrawer.tsx new file mode 100644 index 0000000..29ba31c --- /dev/null +++ b/src/components/ModularFactoryDrawer.tsx @@ -0,0 +1,55 @@ +import { defineComponent, ref } from 'vue' +import { useI18n } from 'vue-i18n' +import { useWindowSize } from '@vueuse/core' +import { NDrawer, NDrawerContent } from 'naive-ui' + +import type { Id } from '@/types' + +import ModularFactoryDrawerContent from './ModularFactoryDrawerContent' + +export interface Exposed { + open: (id: Id) => void +} + +export default defineComponent({ + setup(props, { expose }) { + const { t } = useI18n() + + const { height: windowHeight } = useWindowSize() + + const show = ref(false) + const modularFactoryId = ref() + + function open(id: Id) { + modularFactoryId.value = id + show.value = true + } + + expose({ + open, + } satisfies Exposed) + + return () => ( + { + show.value = value + }} + height={windowHeight.value - 64} + placement="bottom" + > + + {modularFactoryId.value && ( + + )} + + + ) + }, +}) diff --git a/src/components/ModularFactoryDrawerContent.tsx b/src/components/ModularFactoryDrawerContent.tsx new file mode 100644 index 0000000..9aef0f3 --- /dev/null +++ b/src/components/ModularFactoryDrawerContent.tsx @@ -0,0 +1,193 @@ +import { computed, defineComponent, type PropType } from 'vue' +import { useI18n } from 'vue-i18n' +import { + NButton, + NDataTable, + NFlex, + NForm, + NFormItem, + NInput, + NInputNumber, + NPopconfirm, + type DataTableColumns, +} from 'naive-ui' + +import type { AssemblyLine, Id } from '@/types' +import { useModularFactoryList } from '@/stores/modularFactoryList' + +import ItemSelect from './ItemSelect' +import ItemRecipeSelect from './ItemRecipeSelect' + +function createColumns({ + onDelete, +}: { + onDelete: (id: Id) => void +}): DataTableColumns { + const { t } = useI18n() + + return [ + { + title: t('targetItem'), + key: 'targetItem', + minWidth: 160, + render(row) { + return ( + { + row.targetItemId = value //todo + }} + /> + ) + }, + }, + { + title: t('recipe'), + key: 'recipe', + minWidth: 160, + render(row) { + return ( + { + row.recipeId = value // todo + }} + itemId={row.targetItemId} + /> + ) + }, + }, + { + title: t('targetItemSpeed'), + key: 'targetItemSpeed', + minWidth: 180, + width: 200, + render(row) { + return ( + { + row.targetItemSpeed = value // todo + }} + min={0} + max={1000000} + > + {{ + suffix: () => t('perMinute'), + }} + + ) + }, + }, + { + title: t('building'), + key: 'building', + minWidth: 160, + }, + { + title: t('power'), + key: 'power', + minWidth: 80, + }, + { + title: t('inputs'), + key: 'inputs', + minWidth: 160, + }, + { + title: t('outputs'), + key: 'outputs', + minWidth: 160, + }, + { + title: t('action'), + key: 'action', + width: 100, + render(row) { + return ( + + { + onDelete(row.id) + }} + > + {{ + default: () => t('deleteConfirm'), + trigger: () => ( + + {t('delete')} + + ), + }} + + + ) + }, + }, + ] +} + +export default defineComponent({ + props: { + modularFactoryId: { + type: Number as PropType, + required: true, + }, + }, + setup(props) { + const { t } = useI18n() + + const modularFactoryList = useModularFactoryList() + + const modularFactory = computed(() => { + return modularFactoryList.getModularFactory(props.modularFactoryId) + }) + + return () => ( + + + + { + modularFactory.value.name = value // todo + }} + maxlength={20} + showCount + /> + + + { + modularFactory.value.remark = value // todo + }} + maxlength={100} + showCount + /> + + + + + { + modularFactoryList.newAssemblyLine(modularFactory.value.id) + }} + > + {t('newAssemblyLine')} + + + + { + modularFactoryList.deleteAssemblyLine(modularFactory.value.id, id) + }, + })} + data={modularFactory.value.data} + /> + + ) + }, +}) diff --git a/src/components/ModuleFactoryDrawer.tsx b/src/components/ModuleFactoryDrawer.tsx deleted file mode 100644 index e929586..0000000 --- a/src/components/ModuleFactoryDrawer.tsx +++ /dev/null @@ -1,247 +0,0 @@ -import { defineComponent, ref } from 'vue' -import { useI18n } from 'vue-i18n' -import { useWindowSize } from '@vueuse/core' -import { - NButton, - NDataTable, - NDrawer, - NDrawerContent, - NFlex, - NForm, - NFormItem, - NInput, - NInputNumber, - NPopconfirm, - type DataTableColumns, -} from 'naive-ui' - -import type { AssemblyLine, Id, ModuleFactory } from '@/types' -import { getModuleFactory, newAssemblyLine, removeAssemblyLine } from '@/store' - -import ItemSelect from './ItemSelect' -import ItemRecipeSelect from './ItemRecipeSelect' - -function createColumns({ - remove, -}: { - remove: (id: Id) => void -}): DataTableColumns { - const { t } = useI18n() - - return [ - { - title: t('targetItem'), - key: 'targetItem', - minWidth: 160, - render(row) { - return ( - { - row.outputItemId = value - }} - /> - ) - }, - }, - { - title: t('recipe'), - key: 'recipe', - minWidth: 160, - render(row) { - return ( - (row.recipeId = value)} - itemId={row.outputItemId} - /> - ) - }, - }, - { - title: t('targetItemSpeed'), - key: 'targetItemSpeed', - minWidth: 180, - width: 200, - render(row) { - return ( - { - row.outputsPerMinute = value - }} - min={0} - max={1000000} - > - {{ - suffix: () => t('perMinute'), - }} - - ) - }, - }, - { - title: t('building'), - key: 'building', - minWidth: 160, - // render(row) { - // return h(AssemblyLinePowerDisplay, { - // buildingOrPower: 'building', - // outputItemId: row.outputItemId, - // outputsPerMinute: row.outputsPerMinute, - // recipeId: row.recipeId, - // }) - // }, - }, - { - title: t('power'), - key: 'power', - minWidth: 80, - // render(row) { - // return h(AssemblyLinePowerDisplay, { - // buildingOrPower: 'power', - // outputItemId: row.outputItemId, - // outputsPerMinute: row.outputsPerMinute, - // recipeId: row.recipeId, - // }) - // }, - }, - { - title: t('inputs'), - key: 'inputs', - minWidth: 160, - // render(row) { - // return h(AssemblyLineItemDisplay, { - // inputOrOutput: 'input', - // outputItemId: row.outputItemId, - // outputsPerMinute: row.outputsPerMinute, - // recipeId: row.recipeId, - // }) - // }, - }, - { - title: t('outputs'), - key: 'outputs', - minWidth: 160, - // render(row) { - // return h(AssemblyLineItemDisplay, { - // inputOrOutput: 'output', - // outputItemId: row.outputItemId, - // outputsPerMinute: row.outputsPerMinute, - // recipeId: row.recipeId, - // }) - // }, - }, - { - title: t('action'), - key: 'action', - width: 100, - render(row) { - return ( - - { - remove(row.id) - }} - > - {{ - default: () => t('deleteConfirm'), - trigger: () => ( - - {t('delete')} - - ), - }} - - - ) - }, - }, - ] -} - -export interface Exposed { - open: (id: Id) => void -} - -export default defineComponent({ - setup(props, { expose }) { - const { t } = useI18n() - - const { height: windowHeight } = useWindowSize() - - const show = ref(false) - const moduleFactory = ref() - - function open(id: Id) { - moduleFactory.value = getModuleFactory(id) - show.value = true - } - - expose({ - open, - } satisfies Exposed) - - return () => ( - { - show.value = value - }} - height={windowHeight.value - 64} - placement="bottom" - > - - - - - { - moduleFactory.value!.name = value - }} - maxlength={20} - showCount - /> - - - { - moduleFactory.value!.remark = value - }} - maxlength={100} - showCount - /> - - - - - { - newAssemblyLine(moduleFactory.value!.id) - }} - > - {t('newAssemblyLine')} - - - - { - removeAssemblyLine(id) - }, - })} - data={moduleFactory.value!.data} - /> - - - - ) - }, -}) diff --git a/src/data/buildings.json b/src/data/buildings.json index 61ef5e7..470c826 100644 --- a/src/data/buildings.json +++ b/src/data/buildings.json @@ -1,46 +1,13 @@ [ - { - "id": "Constructor", - "powerUsage": 4 - }, - { - "id": "Assembler", - "powerUsage": 15 - }, - { - "id": "Manufacturer", - "powerUsage": 55 - }, - { - "id": "Packager", - "powerUsage": 10 - }, - { - "id": "Refinery", - "powerUsage": 30 - }, - { - "id": "Blender", - "powerUsage": 75 - }, - { - "id": "Particle_Accelerator", - "powerUsage": "variable" - }, - { - "id": "Converter", - "powerUsage": "variable" - }, - { - "id": "Quantum_Encoder", - "powerUsage": "variable" - }, - { - "id": "Smelter", - "powerUsage": 4 - }, - { - "id": "Foundry", - "powerUsage": 16 - } + { "id": 1, "key": "Constructor", "powerUsage": 4 }, + { "id": 2, "key": "Assembler", "powerUsage": 15 }, + { "id": 3, "key": "Manufacturer", "powerUsage": 55 }, + { "id": 4, "key": "Packager", "powerUsage": 10 }, + { "id": 5, "key": "Refinery", "powerUsage": 30 }, + { "id": 6, "key": "Blender", "powerUsage": 75 }, + { "id": 7, "key": "Particle_Accelerator", "powerUsage": "variable" }, + { "id": 8, "key": "Converter", "powerUsage": "variable" }, + { "id": 9, "key": "Quantum_Encoder", "powerUsage": "variable" }, + { "id": 10, "key": "Smelter", "powerUsage": 4 }, + { "id": 11, "key": "Foundry", "powerUsage": 16 } ] diff --git a/src/data/index.ts b/src/data/index.ts index 0105c9d..4098836 100644 --- a/src/data/index.ts +++ b/src/data/index.ts @@ -1,6 +1,4 @@ -import { Decimal } from 'decimal.js' - -import type { Building, Id, Item, PowerUsage, Recipe } from '@/types' +import type { Building, Id, Item, Recipe } from '@/types' import buildingsJson from './buildings.json' import itemsJson from './items.json' @@ -8,41 +6,17 @@ import recipesJson from './recipes.json' export const buildings: Building[] = buildingsJson as Building[] export const items: Item[] = itemsJson as Item[] -export const recipes = recipesJson.map( - ({ - id, - inputs, - outputs, - producedIn, - productionDuration, - powerUsage, - }): Recipe => { - return { - id, - inputs: inputs.map(({ itemId, quantity }) => { - return { - itemId, - quantity, - quantityPerMinute: new Decimal(quantity) - .div(new Decimal(productionDuration).div(60)) - .toNumber(), - } - }), - outputs: outputs.map(({ itemId, quantity }) => { - return { - itemId, - quantity, - quantityPerMinute: new Decimal(quantity) - .div(new Decimal(productionDuration).div(60)) - .toNumber(), - } - }), - producedIn, - productionDuration, - powerUsage: powerUsage as PowerUsage | undefined, - } - }, -) +export const recipes: Recipe[] = recipesJson as Recipe[] + +// ID 映射表 +const buildingMap = new Map() +const itemMap = new Map() +const recipeMap = new Map() + +// 在导入数据后,将数据放入 Map 中 +buildings.forEach((building) => buildingMap.set(building.id, building)) +items.forEach((item) => itemMap.set(item.id, item)) +recipes.forEach((recipe) => recipeMap.set(recipe.id, recipe)) /** * 获取建筑 @@ -51,11 +25,10 @@ export const recipes = recipesJson.map( * @throws {Error} 建筑不存在 */ export function getBuildingById(buildingId: Id): Building { - const building = buildings.find(({ id }) => id === buildingId) - if (!building) { - throw new Error(`建筑不存在: ${buildingId}`) + if (buildingMap.has(buildingId)) { + return buildingMap.get(buildingId)! } - return building + throw new Error(`建筑不存在: ${buildingId}`) } /** @@ -65,11 +38,10 @@ export function getBuildingById(buildingId: Id): Building { * @throws {Error} 物品不存在 */ export function getItemById(itemId: Id): Item { - const item = items.find(({ id }) => id === itemId) - if (!item) { - throw new Error(`物品不存在: ${itemId}`) + if (itemMap.has(itemId)) { + return itemMap.get(itemId)! } - return item + throw new Error(`物品不存在: ${itemId}`) } /** @@ -79,9 +51,8 @@ export function getItemById(itemId: Id): Item { * @throws {Error} 配方不存在 */ export function getRecipeById(recipeId: Id): Recipe { - const recipe = recipes.find(({ id }) => id === recipeId) - if (!recipe) { - throw new Error(`配方不存在: ${recipeId}`) + if (recipeMap.has(recipeId)) { + return recipeMap.get(recipeId)! } - return recipe + throw new Error(`配方不存在: ${recipeId}`) } diff --git a/src/data/items.json b/src/data/items.json index 68f4da1..a6a6105 100644 --- a/src/data/items.json +++ b/src/data/items.json @@ -1,461 +1,155 @@ [ - { - "id": "Iron_Ingot" - }, - { - "id": "Iron_Ore" - }, - { - "id": "Iron_Plate" - }, - { - "id": "Iron_Rod" - }, - { - "id": "Reinforced_Iron_Plate" - }, - { - "id": "Cable" - }, - { - "id": "Wire" - }, - { - "id": "Copper_Ingot" - }, - { - "id": "Copper_Ore" - }, - { - "id": "Concrete" - }, - { - "id": "Limestone" - }, - { - "id": "Screw" - }, - { - "id": "Biomass" - }, - { - "id": "Wood" - }, - { - "id": "Leaves" - }, - { - "id": "Alien_Protein" - }, - { - "id": "Hog_Remains" - }, - { - "id": "Solid_Biofuel" - }, - { - "id": "Rotor" - }, - { - "id": "Copper_Sheet" - }, - { - "id": "Modular_Frame" - }, - { - "id": "Smart_Plating" - }, - { - "id": "Power_Shard" - }, - { - "id": "Blue_Power_Slug" - }, - { - "id": "Mycelia" - }, - { - "id": "Steel_Ingot" - }, - { - "id": "Coal" - }, - { - "id": "Steel_Beam" - }, - { - "id": "Steel_Pipe" - }, - { - "id": "Versatile_Framework" - }, - { - "id": "Stinger_Remains" - }, - { - "id": "Silica" - }, - { - "id": "Raw_Quartz" - }, - { - "id": "Yellow_Power_Slug" - }, - { - "id": "Hatcher_Remains" - }, - { - "id": "Spitter_Remains" - }, - { - "id": "Alien_DNA_Capsule" - }, - { - "id": "Black_Powder" - }, - { - "id": "Sulfur" - }, - { - "id": "Fabric" - }, - { - "id": "Iron_Rebar" - }, - { - "id": "Gas_Filter" - }, - { - "id": "Nobelisk" - }, - { - "id": "Quartz_Crystal" - }, - { - "id": "Crystal_Oscillator" - }, - { - "id": "Shatter_Rebar" - }, - { - "id": "Encased_Industrial_Beam" - }, - { - "id": "Stator" - }, - { - "id": "Motor" - }, - { - "id": "Automated_Wiring" - }, - { - "id": "Gas_Nobelisk" - }, - { - "id": "Purple_Power_Slug" - }, - { - "id": "Reanimated_SAM" - }, - { - "id": "SAM" - }, - { - "id": "Caterium_Ingot" - }, - { - "id": "Caterium_Ore" - }, - { - "id": "SAM_Fluctuator" - }, - { - "id": "Mercer_Sphere" - }, - { - "id": "Quickwire" - }, - { - "id": "Stun_Rebar" - }, - { - "id": "AI_Limiter" - }, - { - "id": "Petroleum_Coke" - }, - { - "id": "Heavy_Oil_Residue" - }, - { - "id": "Circuit_Board" - }, - { - "id": "Plastic" - }, - { - "id": "Polymer_Resin" - }, - { - "id": "Water" - }, - { - "id": "Rubber" - }, - { - "id": "Fuel" - }, - { - "id": "Crude_Oil" - }, - { - "id": "High-Speed_Connector" - }, - { - "id": "Empty_Canister" - }, - { - "id": "Packaged_Water" - }, - { - "id": "Packaged_Oil" - }, - { - "id": "Packaged_Fuel" - }, - { - "id": "Packaged_Heavy_Oil_Residue" - }, - { - "id": "Packaged_Liquid_Biofuel" - }, - { - "id": "Liquid_Biofuel" - }, - { - "id": "Computer" - }, - { - "id": "Heavy_Modular_Frame" - }, - { - "id": "Modular_Engine" - }, - { - "id": "Adaptive_Control_Unit" - }, - { - "id": "Smokeless_Powder" - }, - { - "id": "Somersloop" - }, - { - "id": "Pulse_Nobelisk" - }, - { - "id": "Rifle_Ammo" - }, - { - "id": "Alclad_Aluminum_Sheet" - }, - { - "id": "Iodine-Infused_Filter" - }, - { - "id": "Aluminum_Casing" - }, - { - "id": "Cluster_Nobelisk" - }, - { - "id": "Homing_Rifle_Ammo" - }, - { - "id": "Alumina_Solution" - }, - { - "id": "Bauxite" - }, - { - "id": "Packaged_Alumina_Solution" - }, - { - "id": "Aluminum_Scrap" - }, - { - "id": "Aluminum_Ingot" - }, - { - "id": "Sulfuric_Acid" - }, - { - "id": "Packaged_Sulfuric_Acid" - }, - { - "id": "Battery" - }, - { - "id": "Radio_Control_Unit" - }, - { - "id": "Supercomputer" - }, - { - "id": "Assembly_Director_System" - }, - { - "id": "Empty_Fluid_Tank" - }, - { - "id": "Packaged_Nitrogen_Gas" - }, - { - "id": "Nitrogen_Gas" - }, - { - "id": "Heat_Sink" - }, - { - "id": "Cooling_System" - }, - { - "id": "Fused_Modular_Frame" - }, - { - "id": "Dissolved_Silica" - }, - { - "id": "Nitric_Acid" - }, - { - "id": "Encased_Uranium_Cell" - }, - { - "id": "Uranium" - }, - { - "id": "Electromagnetic_Control_Rod" - }, - { - "id": "Uranium_Fuel_Rod" - }, - { - "id": "Magnetic_Field_Generator" - }, - { - "id": "Packaged_Nitric_Acid" - }, - { - "id": "Non-Fissile_Uranium" - }, - { - "id": "Uranium_Waste" - }, - { - "id": "Plutonium_Pellet" - }, - { - "id": "Encased_Plutonium_Cell" - }, - { - "id": "Plutonium_Fuel_Rod" - }, - { - "id": "Turbo_Motor" - }, - { - "id": "Copper_Powder" - }, - { - "id": "Pressure_Conversion_Cube" - }, - { - "id": "Nuclear_Pasta" - }, - { - "id": "Thermal_Propulsion_Rocket" - }, - { - "id": "Turbofuel" - }, - { - "id": "Packaged_Turbofuel" - }, - { - "id": "Ficsite_Ingot" - }, - { - "id": "Ficsite_Trigon" - }, - { - "id": "Diamonds" - }, - { - "id": "Time_Crystal" - }, - { - "id": "Biochemical_Sculptor" - }, - { - "id": "Dark_Matter_Residue" - }, - { - "id": "Dark_Matter_Crystal" - }, - { - "id": "Excited_Photonic_Matter" - }, - { - "id": "Explosive_Rebar" - }, - { - "id": "Compacted_Coal" - }, - { - "id": "Rocket_Fuel" - }, - { - "id": "Packaged_Rocket_Fuel" - }, - { - "id": "Ionized_Fuel" - }, - { - "id": "Packaged_Ionized_Fuel" - }, - { - "id": "Turbo_Rifle_Ammo" - }, - { - "id": "Superposition_Oscillator" - }, - { - "id": "Neural-Quantum_Processor" - }, - { - "id": "AI_Expansion_Server" - }, - { - "id": "Nuke_Nobelisk" - }, - { - "id": "Ficsonium" - }, - { - "id": "Plutonium_Waste" - }, - { - "id": "Singularity_Cell" - }, - { - "id": "Ficsonium_Fuel_Rod" - }, - { - "id": "Ballistic_Warp_Drive" - }, - { - "id": "Alien_Power_Matrix" - } + { "id": 1, "key": "Iron_Ingot" }, + { "id": 2, "key": "Iron_Ore" }, + { "id": 3, "key": "Iron_Plate" }, + { "id": 4, "key": "Iron_Rod" }, + { "id": 5, "key": "Reinforced_Iron_Plate" }, + { "id": 6, "key": "Cable" }, + { "id": 7, "key": "Wire" }, + { "id": 8, "key": "Copper_Ingot" }, + { "id": 9, "key": "Copper_Ore" }, + { "id": 10, "key": "Concrete" }, + { "id": 11, "key": "Limestone" }, + { "id": 12, "key": "Screw" }, + { "id": 13, "key": "Biomass" }, + { "id": 14, "key": "Wood" }, + { "id": 15, "key": "Leaves" }, + { "id": 16, "key": "Alien_Protein" }, + { "id": 17, "key": "Hog_Remains" }, + { "id": 18, "key": "Solid_Biofuel" }, + { "id": 19, "key": "Rotor" }, + { "id": 20, "key": "Copper_Sheet" }, + { "id": 21, "key": "Modular_Frame" }, + { "id": 22, "key": "Smart_Plating" }, + { "id": 23, "key": "Power_Shard" }, + { "id": 24, "key": "Blue_Power_Slug" }, + { "id": 25, "key": "Mycelia" }, + { "id": 26, "key": "Steel_Ingot" }, + { "id": 27, "key": "Coal" }, + { "id": 28, "key": "Steel_Beam" }, + { "id": 29, "key": "Steel_Pipe" }, + { "id": 30, "key": "Versatile_Framework" }, + { "id": 31, "key": "Stinger_Remains" }, + { "id": 32, "key": "Silica" }, + { "id": 33, "key": "Raw_Quartz" }, + { "id": 34, "key": "Yellow_Power_Slug" }, + { "id": 35, "key": "Hatcher_Remains" }, + { "id": 36, "key": "Spitter_Remains" }, + { "id": 37, "key": "Alien_DNA_Capsule" }, + { "id": 38, "key": "Black_Powder" }, + { "id": 39, "key": "Sulfur" }, + { "id": 40, "key": "Fabric" }, + { "id": 41, "key": "Iron_Rebar" }, + { "id": 42, "key": "Gas_Filter" }, + { "id": 43, "key": "Nobelisk" }, + { "id": 44, "key": "Quartz_Crystal" }, + { "id": 45, "key": "Crystal_Oscillator" }, + { "id": 46, "key": "Shatter_Rebar" }, + { "id": 47, "key": "Encased_Industrial_Beam" }, + { "id": 48, "key": "Stator" }, + { "id": 49, "key": "Motor" }, + { "id": 50, "key": "Automated_Wiring" }, + { "id": 51, "key": "Gas_Nobelisk" }, + { "id": 52, "key": "Purple_Power_Slug" }, + { "id": 53, "key": "Reanimated_SAM" }, + { "id": 54, "key": "SAM" }, + { "id": 55, "key": "Caterium_Ingot" }, + { "id": 56, "key": "Caterium_Ore" }, + { "id": 57, "key": "SAM_Fluctuator" }, + { "id": 58, "key": "Mercer_Sphere" }, + { "id": 59, "key": "Quickwire" }, + { "id": 60, "key": "Stun_Rebar" }, + { "id": 61, "key": "AI_Limiter" }, + { "id": 62, "key": "Petroleum_Coke" }, + { "id": 63, "key": "Heavy_Oil_Residue" }, + { "id": 64, "key": "Circuit_Board" }, + { "id": 65, "key": "Plastic" }, + { "id": 66, "key": "Polymer_Resin" }, + { "id": 67, "key": "Water" }, + { "id": 68, "key": "Rubber" }, + { "id": 69, "key": "Fuel" }, + { "id": 70, "key": "Crude_Oil" }, + { "id": 71, "key": "High-Speed_Connector" }, + { "id": 72, "key": "Empty_Canister" }, + { "id": 73, "key": "Packaged_Water" }, + { "id": 74, "key": "Packaged_Oil" }, + { "id": 75, "key": "Packaged_Fuel" }, + { "id": 76, "key": "Packaged_Heavy_Oil_Residue" }, + { "id": 77, "key": "Packaged_Liquid_Biofuel" }, + { "id": 78, "key": "Liquid_Biofuel" }, + { "id": 79, "key": "Computer" }, + { "id": 80, "key": "Heavy_Modular_Frame" }, + { "id": 81, "key": "Modular_Engine" }, + { "id": 82, "key": "Adaptive_Control_Unit" }, + { "id": 83, "key": "Smokeless_Powder" }, + { "id": 84, "key": "Somersloop" }, + { "id": 85, "key": "Pulse_Nobelisk" }, + { "id": 86, "key": "Rifle_Ammo" }, + { "id": 87, "key": "Alclad_Aluminum_Sheet" }, + { "id": 88, "key": "Iodine-Infused_Filter" }, + { "id": 89, "key": "Aluminum_Casing" }, + { "id": 90, "key": "Cluster_Nobelisk" }, + { "id": 91, "key": "Homing_Rifle_Ammo" }, + { "id": 92, "key": "Alumina_Solution" }, + { "id": 93, "key": "Bauxite" }, + { "id": 94, "key": "Packaged_Alumina_Solution" }, + { "id": 95, "key": "Aluminum_Scrap" }, + { "id": 96, "key": "Aluminum_Ingot" }, + { "id": 97, "key": "Sulfuric_Acid" }, + { "id": 98, "key": "Packaged_Sulfuric_Acid" }, + { "id": 99, "key": "Battery" }, + { "id": 100, "key": "Radio_Control_Unit" }, + { "id": 101, "key": "Supercomputer" }, + { "id": 102, "key": "Assembly_Director_System" }, + { "id": 103, "key": "Empty_Fluid_Tank" }, + { "id": 104, "key": "Packaged_Nitrogen_Gas" }, + { "id": 105, "key": "Nitrogen_Gas" }, + { "id": 106, "key": "Heat_Sink" }, + { "id": 107, "key": "Cooling_System" }, + { "id": 108, "key": "Fused_Modular_Frame" }, + { "id": 109, "key": "Dissolved_Silica" }, + { "id": 110, "key": "Nitric_Acid" }, + { "id": 111, "key": "Encased_Uranium_Cell" }, + { "id": 112, "key": "Uranium" }, + { "id": 113, "key": "Electromagnetic_Control_Rod" }, + { "id": 114, "key": "Uranium_Fuel_Rod" }, + { "id": 115, "key": "Magnetic_Field_Generator" }, + { "id": 116, "key": "Packaged_Nitric_Acid" }, + { "id": 117, "key": "Non-Fissile_Uranium" }, + { "id": 118, "key": "Uranium_Waste" }, + { "id": 119, "key": "Plutonium_Pellet" }, + { "id": 120, "key": "Encased_Plutonium_Cell" }, + { "id": 121, "key": "Plutonium_Fuel_Rod" }, + { "id": 122, "key": "Turbo_Motor" }, + { "id": 123, "key": "Copper_Powder" }, + { "id": 124, "key": "Pressure_Conversion_Cube" }, + { "id": 125, "key": "Nuclear_Pasta" }, + { "id": 126, "key": "Thermal_Propulsion_Rocket" }, + { "id": 127, "key": "Turbofuel" }, + { "id": 128, "key": "Packaged_Turbofuel" }, + { "id": 129, "key": "Ficsite_Ingot" }, + { "id": 130, "key": "Ficsite_Trigon" }, + { "id": 131, "key": "Diamonds" }, + { "id": 132, "key": "Time_Crystal" }, + { "id": 133, "key": "Biochemical_Sculptor" }, + { "id": 134, "key": "Dark_Matter_Residue" }, + { "id": 135, "key": "Dark_Matter_Crystal" }, + { "id": 136, "key": "Excited_Photonic_Matter" }, + { "id": 137, "key": "Explosive_Rebar" }, + { "id": 138, "key": "Compacted_Coal" }, + { "id": 139, "key": "Rocket_Fuel" }, + { "id": 140, "key": "Packaged_Rocket_Fuel" }, + { "id": 141, "key": "Ionized_Fuel" }, + { "id": 142, "key": "Packaged_Ionized_Fuel" }, + { "id": 143, "key": "Turbo_Rifle_Ammo" }, + { "id": 144, "key": "Superposition_Oscillator" }, + { "id": 145, "key": "Neural-Quantum_Processor" }, + { "id": 146, "key": "AI_Expansion_Server" }, + { "id": 147, "key": "Nuke_Nobelisk" }, + { "id": 148, "key": "Ficsonium" }, + { "id": 149, "key": "Plutonium_Waste" }, + { "id": 150, "key": "Singularity_Cell" }, + { "id": 151, "key": "Ficsonium_Fuel_Rod" }, + { "id": 152, "key": "Ballistic_Warp_Drive" }, + { "id": 153, "key": "Alien_Power_Matrix" } ] diff --git a/src/data/recipes.json b/src/data/recipes.json index 01e9ded..654fa26 100644 --- a/src/data/recipes.json +++ b/src/data/recipes.json @@ -1,2777 +1,3052 @@ [ { - "id": "Iron_Ingot", - "inputs": [{ "itemId": "Iron_Ore", "quantity": 1 }], - "outputs": [{ "itemId": "Iron_Ingot", "quantity": 1 }], - "producedIn": "Smelter", + "id": 1, + "key": "Iron_Ingot", + "inputs": [{ "itemId": 2, "quantity": 1 }], + "outputs": [{ "itemId": 1, "quantity": 1 }], + "producedInId": 10, "productionDuration": 2 }, { - "id": "Pure_Iron_Ingot", + "id": 2, + "key": "Pure_Iron_Ingot", "inputs": [ - { "itemId": "Iron_Ore", "quantity": 7 }, - { "itemId": "Water", "quantity": 4 } + { "itemId": 2, "quantity": 7 }, + { "itemId": 67, "quantity": 4 } ], - "outputs": [{ "itemId": "Iron_Ingot", "quantity": 13 }], - "producedIn": "Refinery", + "outputs": [{ "itemId": 1, "quantity": 13 }], + "producedInId": 5, "productionDuration": 12 }, { - "id": "Basic_Iron_Ingot", + "id": 3, + "key": "Basic_Iron_Ingot", "inputs": [ - { "itemId": "Iron_Ore", "quantity": 5 }, - { "itemId": "Limestone", "quantity": 8 } + { "itemId": 2, "quantity": 5 }, + { "itemId": 11, "quantity": 8 } ], - "outputs": [{ "itemId": "Iron_Ingot", "quantity": 10 }], - "producedIn": "Foundry", + "outputs": [{ "itemId": 1, "quantity": 10 }], + "producedInId": 11, "productionDuration": 12 }, { - "id": "Iron_Alloy_Ingot", + "id": 4, + "key": "Iron_Alloy_Ingot", "inputs": [ - { "itemId": "Iron_Ore", "quantity": 8 }, - { "itemId": "Copper_Ore", "quantity": 2 } + { "itemId": 2, "quantity": 8 }, + { "itemId": 9, "quantity": 2 } ], - "outputs": [{ "itemId": "Iron_Ingot", "quantity": 15 }], - "producedIn": "Foundry", + "outputs": [{ "itemId": 1, "quantity": 15 }], + "producedInId": 11, "productionDuration": 12 }, { - "id": "Leached_Iron_Ingot", + "id": 5, + "key": "Leached_Iron_Ingot", "inputs": [ - { "itemId": "Iron_Ore", "quantity": 5 }, - { "itemId": "Sulfuric_Acid", "quantity": 1 } + { "itemId": 2, "quantity": 5 }, + { "itemId": 97, "quantity": 1 } ], - "outputs": [{ "itemId": "Iron_Ingot", "quantity": 10 }], - "producedIn": "Refinery", + "outputs": [{ "itemId": 1, "quantity": 10 }], + "producedInId": 5, "productionDuration": 6 }, { - "id": "Iron_Ore_(Limestone)", + "id": 6, + "key": "Iron_Ore_(Limestone)", "inputs": [ - { "itemId": "Reanimated_SAM", "quantity": 1 }, - { "itemId": "Limestone", "quantity": 24 } + { "itemId": 53, "quantity": 1 }, + { "itemId": 11, "quantity": 24 } ], - "outputs": [{ "itemId": "Iron_Ore", "quantity": 12 }], - "producedIn": "Converter", + "outputs": [{ "itemId": 2, "quantity": 12 }], + "producedInId": 8, "productionDuration": 6, "powerUsage": [100, 400] }, { - "id": "Iron_Plate", - "inputs": [{ "itemId": "Iron_Ingot", "quantity": 3 }], - "outputs": [{ "itemId": "Iron_Plate", "quantity": 2 }], - "producedIn": "Constructor", + "id": 7, + "key": "Iron_Plate", + "inputs": [{ "itemId": 1, "quantity": 3 }], + "outputs": [{ "itemId": 3, "quantity": 2 }], + "producedInId": 1, "productionDuration": 6 }, { - "id": "Coated_Iron_Plate", + "id": 8, + "key": "Coated_Iron_Plate", "inputs": [ - { "itemId": "Iron_Ingot", "quantity": 5 }, - { "itemId": "Plastic", "quantity": 1 } + { "itemId": 1, "quantity": 5 }, + { "itemId": 65, "quantity": 1 } ], - "outputs": [{ "itemId": "Iron_Plate", "quantity": 10 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 3, "quantity": 10 }], + "producedInId": 2, "productionDuration": 8 }, { - "id": "Steel_Cast_Plate", + "id": 9, + "key": "Steel_Cast_Plate", "inputs": [ - { "itemId": "Iron_Ingot", "quantity": 1 }, - { "itemId": "Steel_Ingot", "quantity": 1 } + { "itemId": 1, "quantity": 1 }, + { "itemId": 26, "quantity": 1 } ], - "outputs": [{ "itemId": "Iron_Plate", "quantity": 3 }], - "producedIn": "Foundry", + "outputs": [{ "itemId": 3, "quantity": 3 }], + "producedInId": 11, "productionDuration": 4 }, { - "id": "Iron_Rod", - "inputs": [{ "itemId": "Iron_Ingot", "quantity": 1 }], - "outputs": [{ "itemId": "Iron_Rod", "quantity": 1 }], - "producedIn": "Constructor", + "id": 10, + "key": "Iron_Rod", + "inputs": [{ "itemId": 1, "quantity": 1 }], + "outputs": [{ "itemId": 4, "quantity": 1 }], + "producedInId": 1, "productionDuration": 4 }, { - "id": "Steel_Rod", - "inputs": [{ "itemId": "Steel_Ingot", "quantity": 1 }], - "outputs": [{ "itemId": "Iron_Rod", "quantity": 4 }], - "producedIn": "Constructor", + "id": 11, + "key": "Steel_Rod", + "inputs": [{ "itemId": 26, "quantity": 1 }], + "outputs": [{ "itemId": 4, "quantity": 4 }], + "producedInId": 1, "productionDuration": 5 }, { - "id": "Aluminum_Rod", - "inputs": [{ "itemId": "Aluminum_Ingot", "quantity": 1 }], - "outputs": [{ "itemId": "Iron_Rod", "quantity": 7 }], - "producedIn": "Constructor", + "id": 12, + "key": "Aluminum_Rod", + "inputs": [{ "itemId": 96, "quantity": 1 }], + "outputs": [{ "itemId": 4, "quantity": 7 }], + "producedInId": 1, "productionDuration": 8 }, { - "id": "Reinforced_Iron_Plate", + "id": 13, + "key": "Reinforced_Iron_Plate", "inputs": [ - { "itemId": "Iron_Plate", "quantity": 6 }, - { "itemId": "Screw", "quantity": 12 } + { "itemId": 3, "quantity": 6 }, + { "itemId": 12, "quantity": 12 } ], - "outputs": [{ "itemId": "Reinforced_Iron_Plate", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 5, "quantity": 1 }], + "producedInId": 2, "productionDuration": 12 }, { - "id": "Stitched_Iron_Plate", + "id": 14, + "key": "Stitched_Iron_Plate", "inputs": [ - { "itemId": "Iron_Plate", "quantity": 10 }, - { "itemId": "Wire", "quantity": 20 } + { "itemId": 3, "quantity": 10 }, + { "itemId": 7, "quantity": 20 } ], - "outputs": [{ "itemId": "Reinforced_Iron_Plate", "quantity": 3 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 5, "quantity": 3 }], + "producedInId": 2, "productionDuration": 32 }, { - "id": "Adhered_Iron_Plate", + "id": 15, + "key": "Adhered_Iron_Plate", "inputs": [ - { "itemId": "Iron_Plate", "quantity": 3 }, - { "itemId": "Rubber", "quantity": 1 } + { "itemId": 3, "quantity": 3 }, + { "itemId": 68, "quantity": 1 } ], - "outputs": [{ "itemId": "Reinforced_Iron_Plate", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 5, "quantity": 1 }], + "producedInId": 2, "productionDuration": 16 }, { - "id": "Bolted_Iron_Plate", + "id": 16, + "key": "Bolted_Iron_Plate", "inputs": [ - { "itemId": "Iron_Plate", "quantity": 18 }, - { "itemId": "Screw", "quantity": 50 } + { "itemId": 3, "quantity": 18 }, + { "itemId": 12, "quantity": 50 } ], - "outputs": [{ "itemId": "Reinforced_Iron_Plate", "quantity": 3 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 5, "quantity": 3 }], + "producedInId": 2, "productionDuration": 12 }, { - "id": "Cable", - "inputs": [{ "itemId": "Wire", "quantity": 2 }], - "outputs": [{ "itemId": "Cable", "quantity": 1 }], - "producedIn": "Constructor", + "id": 17, + "key": "Cable", + "inputs": [{ "itemId": 7, "quantity": 2 }], + "outputs": [{ "itemId": 6, "quantity": 1 }], + "producedInId": 1, "productionDuration": 2 }, { - "id": "Quickwire_Cable", + "id": 18, + "key": "Quickwire_Cable", "inputs": [ - { "itemId": "Quickwire", "quantity": 3 }, - { "itemId": "Rubber", "quantity": 2 } + { "itemId": 59, "quantity": 3 }, + { "itemId": 68, "quantity": 2 } ], - "outputs": [{ "itemId": "Cable", "quantity": 11 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 6, "quantity": 11 }], + "producedInId": 2, "productionDuration": 24 }, { - "id": "Insulated_Cable", + "id": 19, + "key": "Insulated_Cable", "inputs": [ - { "itemId": "Wire", "quantity": 9 }, - { "itemId": "Rubber", "quantity": 6 } + { "itemId": 7, "quantity": 9 }, + { "itemId": 68, "quantity": 6 } ], - "outputs": [{ "itemId": "Cable", "quantity": 20 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 6, "quantity": 20 }], + "producedInId": 2, "productionDuration": 12 }, { - "id": "Coated_Cable", + "id": 20, + "key": "Coated_Cable", "inputs": [ - { "itemId": "Wire", "quantity": 5 }, - { "itemId": "Heavy_Oil_Residue", "quantity": 2 } + { "itemId": 7, "quantity": 5 }, + { "itemId": 63, "quantity": 2 } ], - "outputs": [{ "itemId": "Cable", "quantity": 9 }], - "producedIn": "Refinery", + "outputs": [{ "itemId": 6, "quantity": 9 }], + "producedInId": 5, "productionDuration": 8 }, { - "id": "Wire", - "inputs": [{ "itemId": "Copper_Ingot", "quantity": 1 }], - "outputs": [{ "itemId": "Wire", "quantity": 2 }], - "producedIn": "Constructor", + "id": 21, + "key": "Wire", + "inputs": [{ "itemId": 8, "quantity": 1 }], + "outputs": [{ "itemId": 7, "quantity": 2 }], + "producedInId": 1, "productionDuration": 4 }, { - "id": "Caterium_Wire", - "inputs": [{ "itemId": "Caterium_Ingot", "quantity": 1 }], - "outputs": [{ "itemId": "Wire", "quantity": 8 }], - "producedIn": "Constructor", + "id": 22, + "key": "Caterium_Wire", + "inputs": [{ "itemId": 55, "quantity": 1 }], + "outputs": [{ "itemId": 7, "quantity": 8 }], + "producedInId": 1, "productionDuration": 4 }, { - "id": "Iron_Wire", - "inputs": [{ "itemId": "Iron_Ingot", "quantity": 5 }], - "outputs": [{ "itemId": "Wire", "quantity": 9 }], - "producedIn": "Constructor", + "id": 23, + "key": "Iron_Wire", + "inputs": [{ "itemId": 1, "quantity": 5 }], + "outputs": [{ "itemId": 7, "quantity": 9 }], + "producedInId": 1, "productionDuration": 24 }, { - "id": "Fused_Wire", + "id": 24, + "key": "Fused_Wire", "inputs": [ - { "itemId": "Copper_Ingot", "quantity": 4 }, - { "itemId": "Caterium_Ingot", "quantity": 1 } + { "itemId": 8, "quantity": 4 }, + { "itemId": 55, "quantity": 1 } ], - "outputs": [{ "itemId": "Wire", "quantity": 30 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 7, "quantity": 30 }], + "producedInId": 2, "productionDuration": 20 }, { - "id": "Copper_Ingot", - "inputs": [{ "itemId": "Copper_Ore", "quantity": 1 }], - "outputs": [{ "itemId": "Copper_Ingot", "quantity": 1 }], - "producedIn": "Smelter", + "id": 25, + "key": "Copper_Ingot", + "inputs": [{ "itemId": 9, "quantity": 1 }], + "outputs": [{ "itemId": 8, "quantity": 1 }], + "producedInId": 10, "productionDuration": 2 }, { - "id": "Tempered_Copper_Ingot", + "id": 26, + "key": "Tempered_Copper_Ingot", "inputs": [ - { "itemId": "Copper_Ore", "quantity": 5 }, - { "itemId": "Petroleum_Coke", "quantity": 8 } + { "itemId": 9, "quantity": 5 }, + { "itemId": 62, "quantity": 8 } ], - "outputs": [{ "itemId": "Copper_Ingot", "quantity": 12 }], - "producedIn": "Foundry", + "outputs": [{ "itemId": 8, "quantity": 12 }], + "producedInId": 11, "productionDuration": 12 }, { - "id": "Pure_Copper_Ingot", + "id": 27, + "key": "Pure_Copper_Ingot", "inputs": [ - { "itemId": "Copper_Ore", "quantity": 6 }, - { "itemId": "Water", "quantity": 4 } + { "itemId": 9, "quantity": 6 }, + { "itemId": 67, "quantity": 4 } ], - "outputs": [{ "itemId": "Copper_Ingot", "quantity": 15 }], - "producedIn": "Refinery", + "outputs": [{ "itemId": 8, "quantity": 15 }], + "producedInId": 5, "productionDuration": 24 }, { - "id": "Leached_Copper_Ingot", + "id": 28, + "key": "Leached_Copper_Ingot", "inputs": [ - { "itemId": "Copper_Ore", "quantity": 9 }, - { "itemId": "Sulfuric_Acid", "quantity": 5 } + { "itemId": 9, "quantity": 9 }, + { "itemId": 97, "quantity": 5 } ], - "outputs": [{ "itemId": "Copper_Ingot", "quantity": 22 }], - "producedIn": "Refinery", + "outputs": [{ "itemId": 8, "quantity": 22 }], + "producedInId": 5, "productionDuration": 12 }, { - "id": "Copper_Alloy_Ingot", + "id": 29, + "key": "Copper_Alloy_Ingot", "inputs": [ - { "itemId": "Copper_Ore", "quantity": 5 }, - { "itemId": "Iron_Ore", "quantity": 5 } + { "itemId": 9, "quantity": 5 }, + { "itemId": 2, "quantity": 5 } ], - "outputs": [{ "itemId": "Copper_Ingot", "quantity": 10 }], - "producedIn": "Foundry", + "outputs": [{ "itemId": 8, "quantity": 10 }], + "producedInId": 11, "productionDuration": 6 }, { - "id": "Copper_Ore_(Quartz)", + "id": 30, + "key": "Copper_Ore_(Quartz)", "inputs": [ - { "itemId": "Reanimated_SAM", "quantity": 1 }, - { "itemId": "Raw_Quartz", "quantity": 10 } + { "itemId": 53, "quantity": 1 }, + { "itemId": 33, "quantity": 10 } ], - "outputs": [{ "itemId": "Copper_Ore", "quantity": 12 }], - "producedIn": "Converter", + "outputs": [{ "itemId": 9, "quantity": 12 }], + "producedInId": 8, "productionDuration": 6, "powerUsage": [100, 400] }, { - "id": "Copper_Ore_(Sulfur)", + "id": 31, + "key": "Copper_Ore_(Sulfur)", "inputs": [ - { "itemId": "Reanimated_SAM", "quantity": 1 }, - { "itemId": "Sulfur", "quantity": 12 } + { "itemId": 53, "quantity": 1 }, + { "itemId": 39, "quantity": 12 } ], - "outputs": [{ "itemId": "Copper_Ore", "quantity": 12 }], - "producedIn": "Converter", + "outputs": [{ "itemId": 9, "quantity": 12 }], + "producedInId": 8, "productionDuration": 6, "powerUsage": [100, 400] }, { - "id": "Concrete", - "inputs": [{ "itemId": "Limestone", "quantity": 3 }], - "outputs": [{ "itemId": "Concrete", "quantity": 1 }], - "producedIn": "Constructor", + "id": 32, + "key": "Concrete", + "inputs": [{ "itemId": 11, "quantity": 3 }], + "outputs": [{ "itemId": 10, "quantity": 1 }], + "producedInId": 1, "productionDuration": 4 }, { - "id": "Wet_Concrete", + "id": 33, + "key": "Wet_Concrete", "inputs": [ - { "itemId": "Limestone", "quantity": 6 }, - { "itemId": "Water", "quantity": 5 } + { "itemId": 11, "quantity": 6 }, + { "itemId": 67, "quantity": 5 } ], - "outputs": [{ "itemId": "Concrete", "quantity": 4 }], - "producedIn": "Refinery", + "outputs": [{ "itemId": 10, "quantity": 4 }], + "producedInId": 5, "productionDuration": 3 }, { - "id": "Fine_Concrete", + "id": 34, + "key": "Fine_Concrete", "inputs": [ - { "itemId": "Silica", "quantity": 3 }, - { "itemId": "Limestone", "quantity": 12 } + { "itemId": 32, "quantity": 3 }, + { "itemId": 11, "quantity": 12 } ], - "outputs": [{ "itemId": "Concrete", "quantity": 10 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 10, "quantity": 10 }], + "producedInId": 2, "productionDuration": 12 }, { - "id": "Rubber_Concrete", + "id": 35, + "key": "Rubber_Concrete", "inputs": [ - { "itemId": "Limestone", "quantity": 10 }, - { "itemId": "Rubber", "quantity": 2 } + { "itemId": 11, "quantity": 10 }, + { "itemId": 68, "quantity": 2 } ], - "outputs": [{ "itemId": "Concrete", "quantity": 9 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 10, "quantity": 9 }], + "producedInId": 2, "productionDuration": 6 }, { - "id": "Limestone_(Sulfur)", + "id": 36, + "key": "Limestone_(Sulfur)", "inputs": [ - { "itemId": "Reanimated_SAM", "quantity": 1 }, - { "itemId": "Sulfur", "quantity": 2 } + { "itemId": 53, "quantity": 1 }, + { "itemId": 39, "quantity": 2 } ], - "outputs": [{ "itemId": "Limestone", "quantity": 12 }], - "producedIn": "Converter", + "outputs": [{ "itemId": 11, "quantity": 12 }], + "producedInId": 8, "productionDuration": 6, "powerUsage": [100, 400] }, { - "id": "Screw", - "inputs": [{ "itemId": "Iron_Rod", "quantity": 1 }], - "outputs": [{ "itemId": "Screw", "quantity": 4 }], - "producedIn": "Constructor", + "id": 37, + "key": "Screw", + "inputs": [{ "itemId": 4, "quantity": 1 }], + "outputs": [{ "itemId": 12, "quantity": 4 }], + "producedInId": 1, "productionDuration": 6 }, { - "id": "Cast_Screw", - "inputs": [{ "itemId": "Iron_Ingot", "quantity": 5 }], - "outputs": [{ "itemId": "Screw", "quantity": 20 }], - "producedIn": "Constructor", + "id": 38, + "key": "Cast_Screw", + "inputs": [{ "itemId": 1, "quantity": 5 }], + "outputs": [{ "itemId": 12, "quantity": 20 }], + "producedInId": 1, "productionDuration": 24 }, { - "id": "Steel_Screw", - "inputs": [{ "itemId": "Steel_Beam", "quantity": 1 }], - "outputs": [{ "itemId": "Screw", "quantity": 52 }], - "producedIn": "Constructor", + "id": 39, + "key": "Steel_Screw", + "inputs": [{ "itemId": 28, "quantity": 1 }], + "outputs": [{ "itemId": 12, "quantity": 52 }], + "producedInId": 1, "productionDuration": 12 }, { - "id": "Biomass_(Wood)", - "inputs": [{ "itemId": "Wood", "quantity": 4 }], - "outputs": [{ "itemId": "Biomass", "quantity": 20 }], - "producedIn": "Constructor", + "id": 40, + "key": "Biomass_(Wood)", + "inputs": [{ "itemId": 14, "quantity": 4 }], + "outputs": [{ "itemId": 13, "quantity": 20 }], + "producedInId": 1, "productionDuration": 4 }, { - "id": "Biomass_(Leaves)", - "inputs": [{ "itemId": "Leaves", "quantity": 10 }], - "outputs": [{ "itemId": "Biomass", "quantity": 5 }], - "producedIn": "Constructor", + "id": 41, + "key": "Biomass_(Leaves)", + "inputs": [{ "itemId": 15, "quantity": 10 }], + "outputs": [{ "itemId": 13, "quantity": 5 }], + "producedInId": 1, "productionDuration": 5 }, { - "id": "Biomass_(Mycelia)", - "inputs": [{ "itemId": "Mycelia", "quantity": 1 }], - "outputs": [{ "itemId": "Biomass", "quantity": 10 }], - "producedIn": "Constructor", + "id": 42, + "key": "Biomass_(Mycelia)", + "inputs": [{ "itemId": 25, "quantity": 1 }], + "outputs": [{ "itemId": 13, "quantity": 10 }], + "producedInId": 1, "productionDuration": 4 }, { - "id": "Biomass_(Alien_Protein)", - "inputs": [{ "itemId": "Alien_Protein", "quantity": 1 }], - "outputs": [{ "itemId": "Biomass", "quantity": 100 }], - "producedIn": "Constructor", + "id": 43, + "key": "Biomass_(Alien_Protein)", + "inputs": [{ "itemId": 16, "quantity": 1 }], + "outputs": [{ "itemId": 13, "quantity": 100 }], + "producedInId": 1, "productionDuration": 4 }, { - "id": "Hog_Protein", - "inputs": [{ "itemId": "Hog_Remains", "quantity": 1 }], - "outputs": [{ "itemId": "Alien_Protein", "quantity": 1 }], - "producedIn": "Constructor", + "id": 44, + "key": "Hog_Protein", + "inputs": [{ "itemId": 17, "quantity": 1 }], + "outputs": [{ "itemId": 16, "quantity": 1 }], + "producedInId": 1, "productionDuration": 3 }, { - "id": "Stinger_Protein", - "inputs": [{ "itemId": "Stinger_Remains", "quantity": 1 }], - "outputs": [{ "itemId": "Alien_Protein", "quantity": 1 }], - "producedIn": "Constructor", + "id": 45, + "key": "Stinger_Protein", + "inputs": [{ "itemId": 31, "quantity": 1 }], + "outputs": [{ "itemId": 16, "quantity": 1 }], + "producedInId": 1, "productionDuration": 3 }, { - "id": "Hatcher_Protein", - "inputs": [{ "itemId": "Hatcher_Remains", "quantity": 1 }], - "outputs": [{ "itemId": "Alien_Protein", "quantity": 1 }], - "producedIn": "Constructor", + "id": 46, + "key": "Hatcher_Protein", + "inputs": [{ "itemId": 35, "quantity": 1 }], + "outputs": [{ "itemId": 16, "quantity": 1 }], + "producedInId": 1, "productionDuration": 3 }, { - "id": "Spitter_Protein", - "inputs": [{ "itemId": "Spitter_Remains", "quantity": 1 }], - "outputs": [{ "itemId": "Alien_Protein", "quantity": 1 }], - "producedIn": "Constructor", + "id": 47, + "key": "Spitter_Protein", + "inputs": [{ "itemId": 36, "quantity": 1 }], + "outputs": [{ "itemId": 16, "quantity": 1 }], + "producedInId": 1, "productionDuration": 3 }, { - "id": "Solid_Biofue", - "inputs": [{ "itemId": "Biomass", "quantity": 8 }], - "outputs": [{ "itemId": "Solid_Biofuel", "quantity": 4 }], - "producedIn": "Constructor", + "id": 48, + "key": "Solid_Biofue", + "inputs": [{ "itemId": 13, "quantity": 8 }], + "outputs": [{ "itemId": 18, "quantity": 4 }], + "producedInId": 1, "productionDuration": 4 }, { - "id": "Rotor", + "id": 49, + "key": "Rotor", "inputs": [ - { "itemId": "Iron_Rod", "quantity": 5 }, - { "itemId": "Screw", "quantity": 25 } + { "itemId": 4, "quantity": 5 }, + { "itemId": 12, "quantity": 25 } ], - "outputs": [{ "itemId": "Rotor", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 19, "quantity": 1 }], + "producedInId": 2, "productionDuration": 15 }, { - "id": "Copper_Rotor", + "id": 50, + "key": "Copper_Rotor", "inputs": [ - { "itemId": "Copper_Sheet", "quantity": 6 }, - { "itemId": "Screw", "quantity": 52 } + { "itemId": 20, "quantity": 6 }, + { "itemId": 12, "quantity": 52 } ], - "outputs": [{ "itemId": "Rotor", "quantity": 3 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 19, "quantity": 3 }], + "producedInId": 2, "productionDuration": 16 }, { - "id": "Steel_Rotor", + "id": 51, + "key": "Steel_Rotor", "inputs": [ - { "itemId": "Steel_Pipe", "quantity": 2 }, - { "itemId": "Wire", "quantity": 6 } + { "itemId": 29, "quantity": 2 }, + { "itemId": 7, "quantity": 6 } ], - "outputs": [{ "itemId": "Rotor", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 19, "quantity": 1 }], + "producedInId": 2, "productionDuration": 12 }, { - "id": "Copper_Sheet", - "inputs": [{ "itemId": "Copper_Ingot", "quantity": 2 }], - "outputs": [{ "itemId": "Copper_Sheet", "quantity": 1 }], - "producedIn": "Constructor", + "id": 52, + "key": "Copper_Sheet", + "inputs": [{ "itemId": 8, "quantity": 2 }], + "outputs": [{ "itemId": 20, "quantity": 1 }], + "producedInId": 1, "productionDuration": 6 }, { - "id": "Steamed_Copper_Sheet", + "id": 53, + "key": "Steamed_Copper_Sheet", "inputs": [ - { "itemId": "Copper_Ingot", "quantity": 3 }, - { "itemId": "Water", "quantity": 3 } + { "itemId": 8, "quantity": 3 }, + { "itemId": 67, "quantity": 3 } ], - "outputs": [{ "itemId": "Copper_Sheet", "quantity": 3 }], - "producedIn": "Refinery", + "outputs": [{ "itemId": 20, "quantity": 3 }], + "producedInId": 5, "productionDuration": 8 }, { - "id": "Modular_Frame", + "id": 54, + "key": "Modular_Frame", "inputs": [ - { "itemId": "Reinforced_Iron_Plate", "quantity": 3 }, - { "itemId": "Iron_Rod", "quantity": 12 } + { "itemId": 5, "quantity": 3 }, + { "itemId": 4, "quantity": 12 } ], - "outputs": [{ "itemId": "Modular_Frame", "quantity": 2 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 21, "quantity": 2 }], + "producedInId": 2, "productionDuration": 60 }, { - "id": "Bolted_Frame", + "id": 55, + "key": "Bolted_Frame", "inputs": [ - { "itemId": "Reinforced_Iron_Plate", "quantity": 3 }, - { "itemId": "Screw", "quantity": 56 } + { "itemId": 5, "quantity": 3 }, + { "itemId": 12, "quantity": 56 } ], - "outputs": [{ "itemId": "Modular_Frame", "quantity": 2 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 21, "quantity": 2 }], + "producedInId": 2, "productionDuration": 24 }, { - "id": "Steeled_Frame", + "id": 56, + "key": "Steeled_Frame", "inputs": [ - { "itemId": "Reinforced_Iron_Plate", "quantity": 2 }, - { "itemId": "Steel_Pipe", "quantity": 10 } + { "itemId": 5, "quantity": 2 }, + { "itemId": 29, "quantity": 10 } ], - "outputs": [{ "itemId": "Modular_Frame", "quantity": 3 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 21, "quantity": 3 }], + "producedInId": 2, "productionDuration": 60 }, { - "id": "Smart_Plating", + "id": 57, + "key": "Smart_Plating", "inputs": [ - { "itemId": "Reinforced_Iron_Plate", "quantity": 1 }, - { "itemId": "Rotor", "quantity": 1 } + { "itemId": 5, "quantity": 1 }, + { "itemId": 19, "quantity": 1 } ], - "outputs": [{ "itemId": "Smart_Plating", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 22, "quantity": 1 }], + "producedInId": 2, "productionDuration": 30 }, { - "id": "Plastic_Smart_Plating", + "id": 58, + "key": "Plastic_Smart_Plating", "inputs": [ - { "itemId": "Reinforced_Iron_Plate", "quantity": 1 }, - { "itemId": "Rotor", "quantity": 1 }, - { "itemId": "Plastic", "quantity": 3 } + { "itemId": 5, "quantity": 1 }, + { "itemId": 19, "quantity": 1 }, + { "itemId": 65, "quantity": 3 } ], - "outputs": [{ "itemId": "Smart_Plating", "quantity": 2 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 22, "quantity": 2 }], + "producedInId": 3, "productionDuration": 24 }, { - "id": "Power_Shard_(1)", - "inputs": [{ "itemId": "Blue_Power_Slug", "quantity": 1 }], - "outputs": [{ "itemId": "Power_Shard", "quantity": 1 }], - "producedIn": "Constructor", + "id": 59, + "key": "Power_Shard_(1)", + "inputs": [{ "itemId": 24, "quantity": 1 }], + "outputs": [{ "itemId": 23, "quantity": 1 }], + "producedInId": 1, "productionDuration": 8 }, { - "id": "Power_Shard_(2)", - "inputs": [{ "itemId": "Yellow_Power_Slug", "quantity": 1 }], - "outputs": [{ "itemId": "Power_Shard", "quantity": 2 }], - "producedIn": "Constructor", + "id": 60, + "key": "Power_Shard_(2)", + "inputs": [{ "itemId": 34, "quantity": 1 }], + "outputs": [{ "itemId": 23, "quantity": 2 }], + "producedInId": 1, "productionDuration": 12 }, { - "id": "Power_Shard_(5)", - "inputs": [{ "itemId": "Purple_Power_Slug", "quantity": 1 }], - "outputs": [{ "itemId": "Power_Shard", "quantity": 5 }], - "producedIn": "Constructor", + "id": 61, + "key": "Power_Shard_(5)", + "inputs": [{ "itemId": 52, "quantity": 1 }], + "outputs": [{ "itemId": 23, "quantity": 5 }], + "producedInId": 1, "productionDuration": 24 }, { - "id": "Synthetic_Power_Shard", + "id": 62, + "key": "Synthetic_Power_Shard", "inputs": [ - { "itemId": "Time_Crystal", "quantity": 2 }, - { "itemId": "Dark_Matter_Crystal", "quantity": 2 }, - { "itemId": "Quartz_Crystal", "quantity": 12 }, - { "itemId": "Excited_Photonic_Matter", "quantity": 12 } + { "itemId": 132, "quantity": 2 }, + { "itemId": 135, "quantity": 2 }, + { "itemId": 44, "quantity": 12 }, + { "itemId": 136, "quantity": 12 } ], "outputs": [ - { "itemId": "Power_Shard", "quantity": 1 }, - { "itemId": "Dark_Matter_Residue", "quantity": 12 } + { "itemId": 23, "quantity": 1 }, + { "itemId": 134, "quantity": 12 } ], - "producedIn": "Quantum_Encoder", + "producedInId": 9, "productionDuration": 12, "powerUsage": [0, 2000] }, { - "id": "Steel_Ingot", + "id": 63, + "key": "Steel_Ingot", "inputs": [ - { "itemId": "Iron_Ore", "quantity": 3 }, - { "itemId": "Coal", "quantity": 3 } + { "itemId": 2, "quantity": 3 }, + { "itemId": 27, "quantity": 3 } ], - "outputs": [{ "itemId": "Steel_Ingot", "quantity": 3 }], - "producedIn": "Foundry", + "outputs": [{ "itemId": 26, "quantity": 3 }], + "producedInId": 11, "productionDuration": 4 }, { - "id": "Solid_Steel_Ingot", + "id": 64, + "key": "Solid_Steel_Ingot", "inputs": [ - { "itemId": "Iron_Ingot", "quantity": 2 }, - { "itemId": "Coal", "quantity": 2 } + { "itemId": 1, "quantity": 2 }, + { "itemId": 27, "quantity": 2 } ], - "outputs": [{ "itemId": "Steel_Ingot", "quantity": 3 }], - "producedIn": "Foundry", + "outputs": [{ "itemId": 26, "quantity": 3 }], + "producedInId": 11, "productionDuration": 3 }, { - "id": "Coke_Steel_Ingot", + "id": 65, + "key": "Coke_Steel_Ingot", "inputs": [ - { "itemId": "Iron_Ore", "quantity": 15 }, - { "itemId": "Petroleum_Coke", "quantity": 15 } + { "itemId": 2, "quantity": 15 }, + { "itemId": 62, "quantity": 15 } ], - "outputs": [{ "itemId": "Steel_Ingot", "quantity": 20 }], - "producedIn": "Foundry", + "outputs": [{ "itemId": 26, "quantity": 20 }], + "producedInId": 11, "productionDuration": 12 }, { - "id": "Compacted_Steel_Ingot", + "id": 66, + "key": "Compacted_Steel_Ingot", "inputs": [ - { "itemId": "Iron_Ore", "quantity": 2 }, - { "itemId": "Compacted_Coal", "quantity": 1 } + { "itemId": 2, "quantity": 2 }, + { "itemId": 138, "quantity": 1 } ], - "outputs": [{ "itemId": "Steel_Ingot", "quantity": 4 }], - "producedIn": "Foundry", + "outputs": [{ "itemId": 26, "quantity": 4 }], + "producedInId": 11, "productionDuration": 24 }, { - "id": "Coal_(Iron)", + "id": 67, + "key": "Coal_(Iron)", "inputs": [ - { "itemId": "Reanimated_SAM", "quantity": 1 }, - { "itemId": "Iron_Ore", "quantity": 18 } + { "itemId": 53, "quantity": 1 }, + { "itemId": 2, "quantity": 18 } ], - "outputs": [{ "itemId": "Coal", "quantity": 12 }], - "producedIn": "Converter", + "outputs": [{ "itemId": 27, "quantity": 12 }], + "producedInId": 8, "productionDuration": 6, "powerUsage": [100, 400] }, { - "id": "Coal_(Limestone)", + "id": 68, + "key": "Coal_(Limestone)", "inputs": [ - { "itemId": "Reanimated_SAM", "quantity": 1 }, - { "itemId": "Limestone", "quantity": 36 } + { "itemId": 53, "quantity": 1 }, + { "itemId": 11, "quantity": 36 } ], - "outputs": [{ "itemId": "Coal", "quantity": 12 }], - "producedIn": "Converter", + "outputs": [{ "itemId": 27, "quantity": 12 }], + "producedInId": 8, "productionDuration": 6, "powerUsage": [100, 400] }, { - "id": "Charcoal", - "inputs": [{ "itemId": "Wood", "quantity": 1 }], - "outputs": [{ "itemId": "Coal", "quantity": 10 }], - "producedIn": "Constructor", + "id": 69, + "key": "Charcoal", + "inputs": [{ "itemId": 14, "quantity": 1 }], + "outputs": [{ "itemId": 27, "quantity": 10 }], + "producedInId": 1, "productionDuration": 4 }, { - "id": "Biocoal", - "inputs": [{ "itemId": "Biomass", "quantity": 5 }], - "outputs": [{ "itemId": "Coal", "quantity": 6 }], - "producedIn": "Constructor", + "id": 70, + "key": "Biocoal", + "inputs": [{ "itemId": 13, "quantity": 5 }], + "outputs": [{ "itemId": 27, "quantity": 6 }], + "producedInId": 1, "productionDuration": 8 }, { - "id": "Steel_Beam", - "inputs": [{ "itemId": "Steel_Ingot", "quantity": 4 }], - "outputs": [{ "itemId": "Steel_Beam", "quantity": 1 }], - "producedIn": "Constructor", + "id": 71, + "key": "Steel_Beam", + "inputs": [{ "itemId": 26, "quantity": 4 }], + "outputs": [{ "itemId": 28, "quantity": 1 }], + "producedInId": 1, "productionDuration": 4 }, { - "id": "Molded_Beam", + "id": 72, + "key": "Molded_Beam", "inputs": [ - { "itemId": "Steel_Ingot", "quantity": 24 }, - { "itemId": "Limestone", "quantity": 16 } + { "itemId": 26, "quantity": 24 }, + { "itemId": 11, "quantity": 16 } ], - "outputs": [{ "itemId": "Steel_Beam", "quantity": 9 }], - "producedIn": "Foundry", + "outputs": [{ "itemId": 28, "quantity": 9 }], + "producedInId": 11, "productionDuration": 12 }, { - "id": "Aluminum_Beam", - "inputs": [{ "itemId": "Aluminum_Ingot", "quantity": 3 }], - "outputs": [{ "itemId": "Steel_Beam", "quantity": 3 }], - "producedIn": "Constructor", + "id": 73, + "key": "Aluminum_Beam", + "inputs": [{ "itemId": 96, "quantity": 3 }], + "outputs": [{ "itemId": 28, "quantity": 3 }], + "producedInId": 1, "productionDuration": 8 }, { - "id": "Steel_Pipe", - "inputs": [{ "itemId": "Steel_Ingot", "quantity": 3 }], - "outputs": [{ "itemId": "Steel_Pipe", "quantity": 2 }], - "producedIn": "Constructor", + "id": 74, + "key": "Steel_Pipe", + "inputs": [{ "itemId": 26, "quantity": 3 }], + "outputs": [{ "itemId": 29, "quantity": 2 }], + "producedInId": 1, "productionDuration": 6 }, { - "id": "Molded_Steel_Pipe", + "id": 75, + "key": "Molded_Steel_Pipe", "inputs": [ - { "itemId": "Steel_Ingot", "quantity": 5 }, - { "itemId": "Concrete", "quantity": 3 } + { "itemId": 26, "quantity": 5 }, + { "itemId": 10, "quantity": 3 } ], - "outputs": [{ "itemId": "Steel_Pipe", "quantity": 5 }], - "producedIn": "Foundry", + "outputs": [{ "itemId": 29, "quantity": 5 }], + "producedInId": 11, "productionDuration": 6 }, { - "id": "Iron_Pipe", - "inputs": [{ "itemId": "Iron_Ingot", "quantity": 20 }], - "outputs": [{ "itemId": "Steel_Pipe", "quantity": 5 }], - "producedIn": "Constructor", + "id": 76, + "key": "Iron_Pipe", + "inputs": [{ "itemId": 1, "quantity": 20 }], + "outputs": [{ "itemId": 29, "quantity": 5 }], + "producedInId": 1, "productionDuration": 12 }, { - "id": "Versatile_Framework", + "id": 77, + "key": "Versatile_Framework", "inputs": [ - { "itemId": "Modular_Frame", "quantity": 1 }, - { "itemId": "Steel_Beam", "quantity": 12 } + { "itemId": 21, "quantity": 1 }, + { "itemId": 28, "quantity": 12 } ], - "outputs": [{ "itemId": "Versatile_Framework", "quantity": 2 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 30, "quantity": 2 }], + "producedInId": 2, "productionDuration": 24 }, { - "id": "Flexible_Framework", + "id": 78, + "key": "Flexible_Framework", "inputs": [ - { "itemId": "Modular_Frame", "quantity": 1 }, - { "itemId": "Steel_Beam", "quantity": 6 }, - { "itemId": "Rubber", "quantity": 8 } + { "itemId": 21, "quantity": 1 }, + { "itemId": 28, "quantity": 6 }, + { "itemId": 68, "quantity": 8 } ], - "outputs": [{ "itemId": "Versatile_Framework", "quantity": 2 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 30, "quantity": 2 }], + "producedInId": 3, "productionDuration": 16 }, { - "id": "Silica", - "inputs": [{ "itemId": "Raw_Quartz", "quantity": 3 }], - "outputs": [{ "itemId": "Silica", "quantity": 5 }], - "producedIn": "Constructor", + "id": 79, + "key": "Silica", + "inputs": [{ "itemId": 33, "quantity": 3 }], + "outputs": [{ "itemId": 32, "quantity": 5 }], + "producedInId": 1, "productionDuration": 8 }, { - "id": "Alumina_Solution", + "id": 80, + "key": "Alumina_Solution", "inputs": [ - { "itemId": "Bauxite", "quantity": 12 }, - { "itemId": "Water", "quantity": 18 } + { "itemId": 93, "quantity": 12 }, + { "itemId": 67, "quantity": 18 } ], "outputs": [ - { "itemId": "Alumina_Solution", "quantity": 12 }, - { "itemId": "Silica", "quantity": 5 } + { "itemId": 92, "quantity": 12 }, + { "itemId": 32, "quantity": 5 } ], - "producedIn": "Refinery", + "producedInId": 5, "productionDuration": 6 }, { - "id": "Cheap_Silica", + "id": 81, + "key": "Cheap_Silica", "inputs": [ - { "itemId": "Raw_Quartz", "quantity": 3 }, - { "itemId": "Limestone", "quantity": 5 } + { "itemId": 33, "quantity": 3 }, + { "itemId": 11, "quantity": 5 } ], - "outputs": [{ "itemId": "Silica", "quantity": 7 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 32, "quantity": 7 }], + "producedInId": 2, "productionDuration": 8 }, { - "id": "Distilled_Silica", + "id": 82, + "key": "Distilled_Silica", "inputs": [ - { "itemId": "Dissolved_Silica", "quantity": 12 }, - { "itemId": "Limestone", "quantity": 5 }, - { "itemId": "Water", "quantity": 10 } + { "itemId": 109, "quantity": 12 }, + { "itemId": 11, "quantity": 5 }, + { "itemId": 67, "quantity": 10 } ], "outputs": [ - { "itemId": "Silica", "quantity": 27 }, - { "itemId": "Water", "quantity": 8 } + { "itemId": 32, "quantity": 27 }, + { "itemId": 67, "quantity": 8 } ], - "producedIn": "Blender", + "producedInId": 6, "productionDuration": 6 }, { - "id": "Raw_Quartz_(Bauxite)", + "id": 83, + "key": "Raw_Quartz_(Bauxite)", "inputs": [ - { "itemId": "Reanimated_SAM", "quantity": 1 }, - { "itemId": "Bauxite", "quantity": 10 } + { "itemId": 53, "quantity": 1 }, + { "itemId": 93, "quantity": 10 } ], - "outputs": [{ "itemId": "Raw_Quartz", "quantity": 12 }], - "producedIn": "Converter", + "outputs": [{ "itemId": 33, "quantity": 12 }], + "producedInId": 8, "productionDuration": 6, "powerUsage": [100, 400] }, { - "id": "Raw_Quartz_(Coal)", + "id": 84, + "key": "Raw_Quartz_(Coal)", "inputs": [ - { "itemId": "Reanimated_SAM", "quantity": 1 }, - { "itemId": "Coal", "quantity": 24 } + { "itemId": 53, "quantity": 1 }, + { "itemId": 27, "quantity": 24 } ], - "outputs": [{ "itemId": "Raw_Quartz", "quantity": 12 }], - "producedIn": "Converter", + "outputs": [{ "itemId": 33, "quantity": 12 }], + "producedInId": 8, "productionDuration": 6, "powerUsage": [100, 400] }, { - "id": "Alien_DNA_Capsule", - "inputs": [{ "itemId": "Alien_Protein", "quantity": 1 }], - "outputs": [{ "itemId": "Alien_DNA_Capsule", "quantity": 1 }], - "producedIn": "Constructor", + "id": 85, + "key": "Alien_DNA_Capsule", + "inputs": [{ "itemId": 16, "quantity": 1 }], + "outputs": [{ "itemId": 37, "quantity": 1 }], + "producedInId": 1, "productionDuration": 6 }, { - "id": "Black_Powder", + "id": 86, + "key": "Black_Powder", "inputs": [ - { "itemId": "Coal", "quantity": 1 }, - { "itemId": "Sulfur", "quantity": 1 } + { "itemId": 27, "quantity": 1 }, + { "itemId": 39, "quantity": 1 } ], - "outputs": [{ "itemId": "Black_Powder", "quantity": 2 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 38, "quantity": 2 }], + "producedInId": 2, "productionDuration": 4 }, { - "id": "Fine_Black_Powder", + "id": 87, + "key": "Fine_Black_Powder", "inputs": [ - { "itemId": "Sulfur", "quantity": 1 }, - { "itemId": "Compacted_Coal", "quantity": 2 } + { "itemId": 39, "quantity": 1 }, + { "itemId": 138, "quantity": 2 } ], - "outputs": [{ "itemId": "Black_Powder", "quantity": 6 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 38, "quantity": 6 }], + "producedInId": 2, "productionDuration": 8 }, { - "id": "Sulfur_(Coal)", + "id": 88, + "key": "Sulfur_(Coal)", "inputs": [ - { "itemId": "Reanimated_SAM", "quantity": 1 }, - { "itemId": "Coal", "quantity": 20 } + { "itemId": 53, "quantity": 1 }, + { "itemId": 27, "quantity": 20 } ], - "outputs": [{ "itemId": "Sulfur", "quantity": 12 }], - "producedIn": "Converter", + "outputs": [{ "itemId": 39, "quantity": 12 }], + "producedInId": 8, "productionDuration": 6, "powerUsage": [100, 400] }, { - "id": "Sulfur_(Iron)", + "id": 89, + "key": "Sulfur_(Iron)", "inputs": [ - { "itemId": "Reanimated_SAM", "quantity": 1 }, - { "itemId": "Iron_Ore", "quantity": 30 } + { "itemId": 53, "quantity": 1 }, + { "itemId": 2, "quantity": 30 } ], - "outputs": [{ "itemId": "Sulfur", "quantity": 12 }], - "producedIn": "Converter", + "outputs": [{ "itemId": 39, "quantity": 12 }], + "producedInId": 8, "productionDuration": 6, "powerUsage": [100, 400] }, { - "id": "Fabric", + "id": 90, + "key": "Fabric", "inputs": [ - { "itemId": "Mycelia", "quantity": 1 }, - { "itemId": "Biomass", "quantity": 5 } + { "itemId": 25, "quantity": 1 }, + { "itemId": 13, "quantity": 5 } ], - "outputs": [{ "itemId": "Fabric", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 40, "quantity": 1 }], + "producedInId": 2, "productionDuration": 4 }, { - "id": "Polyester_Fabric", + "id": 91, + "key": "Polyester_Fabric", "inputs": [ - { "itemId": "Polymer_Resin", "quantity": 1 }, - { "itemId": "Water", "quantity": 1 } + { "itemId": 66, "quantity": 1 }, + { "itemId": 67, "quantity": 1 } ], - "outputs": [{ "itemId": "Fabric", "quantity": 1 }], - "producedIn": "Refinery", + "outputs": [{ "itemId": 40, "quantity": 1 }], + "producedInId": 5, "productionDuration": 2 }, { - "id": "Iron_Rebar", - "inputs": [{ "itemId": "Iron_Rod", "quantity": 1 }], - "outputs": [{ "itemId": "Iron_Rebar", "quantity": 1 }], - "producedIn": "Constructor", + "id": 92, + "key": "Iron_Rebar", + "inputs": [{ "itemId": 4, "quantity": 1 }], + "outputs": [{ "itemId": 41, "quantity": 1 }], + "producedInId": 1, "productionDuration": 4 }, { - "id": "Gas_Filter", + "id": 93, + "key": "Gas_Filter", "inputs": [ - { "itemId": "Fabric", "quantity": 2 }, - { "itemId": "Coal", "quantity": 4 }, - { "itemId": "Iron_Plate", "quantity": 2 } + { "itemId": 40, "quantity": 2 }, + { "itemId": 27, "quantity": 4 }, + { "itemId": 3, "quantity": 2 } ], - "outputs": [{ "itemId": "Gas_Filter", "quantity": 1 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 42, "quantity": 1 }], + "producedInId": 3, "productionDuration": 8 }, { - "id": "Nobelisk", + "id": 94, + "key": "Nobelisk", "inputs": [ - { "itemId": "Black_Powder", "quantity": 2 }, - { "itemId": "Steel_Pipe", "quantity": 2 } + { "itemId": 38, "quantity": 2 }, + { "itemId": 29, "quantity": 2 } ], - "outputs": [{ "itemId": "Nobelisk", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 43, "quantity": 1 }], + "producedInId": 2, "productionDuration": 6 }, { - "id": "Quartz_Crystal", - "inputs": [{ "itemId": "Raw_Quartz", "quantity": 5 }], - "outputs": [{ "itemId": "Quartz_Crystal", "quantity": 3 }], - "producedIn": "Constructor", + "id": 95, + "key": "Quartz_Crystal", + "inputs": [{ "itemId": 33, "quantity": 5 }], + "outputs": [{ "itemId": 44, "quantity": 3 }], + "producedInId": 1, "productionDuration": 8 }, { - "id": "Pure_Quartz_Crystal", + "id": 96, + "key": "Pure_Quartz_Crystal", "inputs": [ - { "itemId": "Raw_Quartz", "quantity": 9 }, - { "itemId": "Water", "quantity": 5 } + { "itemId": 33, "quantity": 9 }, + { "itemId": 67, "quantity": 5 } ], - "outputs": [{ "itemId": "Quartz_Crystal", "quantity": 7 }], - "producedIn": "Refinery", + "outputs": [{ "itemId": 44, "quantity": 7 }], + "producedInId": 5, "productionDuration": 8 }, { - "id": "Quartz_Purification", + "id": 97, + "key": "Quartz_Purification", "inputs": [ - { "itemId": "Raw_Quartz", "quantity": 24 }, - { "itemId": "Nitric_Acid", "quantity": 2 } + { "itemId": 33, "quantity": 24 }, + { "itemId": 110, "quantity": 2 } ], "outputs": [ - { "itemId": "Quartz_Crystal", "quantity": 15 }, - { "itemId": "Dissolved_Silica", "quantity": 12 } + { "itemId": 44, "quantity": 15 }, + { "itemId": 109, "quantity": 12 } ], - "producedIn": "Refinery", + "producedInId": 5, "productionDuration": 12 }, { - "id": "Fused_Quartz_Crystal", + "id": 98, + "key": "Fused_Quartz_Crystal", "inputs": [ - { "itemId": "Raw_Quartz", "quantity": 25 }, - { "itemId": "Coal", "quantity": 12 } + { "itemId": 33, "quantity": 25 }, + { "itemId": 27, "quantity": 12 } ], - "outputs": [{ "itemId": "Quartz_Crystal", "quantity": 18 }], - "producedIn": "Foundry", + "outputs": [{ "itemId": 44, "quantity": 18 }], + "producedInId": 11, "productionDuration": 20 }, { - "id": "Crystal_Oscillator", + "id": 99, + "key": "Crystal_Oscillator", "inputs": [ - { "itemId": "Quartz_Crystal", "quantity": 36 }, - { "itemId": "Cable", "quantity": 28 }, - { "itemId": "Reinforced_Iron_Plate", "quantity": 5 } + { "itemId": 44, "quantity": 36 }, + { "itemId": 6, "quantity": 28 }, + { "itemId": 5, "quantity": 5 } ], - "outputs": [{ "itemId": "Crystal_Oscillator", "quantity": 2 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 45, "quantity": 2 }], + "producedInId": 3, "productionDuration": 120 }, { - "id": "Insulated_Crystal_Oscillator", + "id": 100, + "key": "Insulated_Crystal_Oscillator", "inputs": [ - { "itemId": "Quartz_Crystal", "quantity": 10 }, - { "itemId": "Rubber", "quantity": 7 }, - { "itemId": "AI_Limiter", "quantity": 1 } + { "itemId": 44, "quantity": 10 }, + { "itemId": 68, "quantity": 7 }, + { "itemId": 61, "quantity": 1 } ], - "outputs": [{ "itemId": "Crystal_Oscillator", "quantity": 1 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 45, "quantity": 1 }], + "producedInId": 3, "productionDuration": 32 }, { - "id": "Shatter_Rebar", + "id": 101, + "key": "Shatter_Rebar", "inputs": [ - { "itemId": "Iron_Rebar", "quantity": 2 }, - { "itemId": "Quartz_Crystal", "quantity": 3 } + { "itemId": 41, "quantity": 2 }, + { "itemId": 44, "quantity": 3 } ], - "outputs": [{ "itemId": "Shatter_Rebar", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 46, "quantity": 1 }], + "producedInId": 2, "productionDuration": 12 }, { - "id": "Encased_Industrial_Beam", + "id": 102, + "key": "Encased_Industrial_Beam", "inputs": [ - { "itemId": "Steel_Beam", "quantity": 3 }, - { "itemId": "Concrete", "quantity": 6 } + { "itemId": 28, "quantity": 3 }, + { "itemId": 10, "quantity": 6 } ], - "outputs": [{ "itemId": "Encased_Industrial_Beam", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 47, "quantity": 1 }], + "producedInId": 2, "productionDuration": 10 }, { - "id": "Encased_Industrial_Pipe", + "id": 103, + "key": "Encased_Industrial_Pipe", "inputs": [ - { "itemId": "Steel_Pipe", "quantity": 6 }, - { "itemId": "Concrete", "quantity": 5 } + { "itemId": 29, "quantity": 6 }, + { "itemId": 10, "quantity": 5 } ], - "outputs": [{ "itemId": "Encased_Industrial_Beam", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 47, "quantity": 1 }], + "producedInId": 2, "productionDuration": 15 }, { - "id": "Stator", + "id": 104, + "key": "Stator", "inputs": [ - { "itemId": "Steel_Pipe", "quantity": 3 }, - { "itemId": "Wire", "quantity": 8 } + { "itemId": 29, "quantity": 3 }, + { "itemId": 7, "quantity": 8 } ], - "outputs": [{ "itemId": "Stator", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 48, "quantity": 1 }], + "producedInId": 2, "productionDuration": 12 }, { - "id": "Quickwire_Stator", + "id": 105, + "key": "Quickwire_Stator", "inputs": [ - { "itemId": "Steel_Pipe", "quantity": 4 }, - { "itemId": "Quickwire", "quantity": 15 } + { "itemId": 29, "quantity": 4 }, + { "itemId": 59, "quantity": 15 } ], - "outputs": [{ "itemId": "Stator", "quantity": 2 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 48, "quantity": 2 }], + "producedInId": 2, "productionDuration": 15 }, { - "id": "Motor", + "id": 106, + "key": "Motor", "inputs": [ - { "itemId": "Rotor", "quantity": 2 }, - { "itemId": "Stator", "quantity": 2 } + { "itemId": 19, "quantity": 2 }, + { "itemId": 48, "quantity": 2 } ], - "outputs": [{ "itemId": "Motor", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 49, "quantity": 1 }], + "producedInId": 2, "productionDuration": 12 }, { - "id": "Rigor_Motor", + "id": 107, + "key": "Rigor_Motor", "inputs": [ - { "itemId": "Rotor", "quantity": 3 }, - { "itemId": "Stator", "quantity": 3 }, - { "itemId": "Crystal_Oscillator", "quantity": 1 } + { "itemId": 19, "quantity": 3 }, + { "itemId": 48, "quantity": 3 }, + { "itemId": 45, "quantity": 1 } ], - "outputs": [{ "itemId": "Motor", "quantity": 6 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 49, "quantity": 6 }], + "producedInId": 3, "productionDuration": 48 }, { - "id": "Electric_Motor", + "id": 108, + "key": "Electric_Motor", "inputs": [ - { "itemId": "Electromagnetic_Control_Rod", "quantity": 1 }, - { "itemId": "Rotor", "quantity": 2 } + { "itemId": 113, "quantity": 1 }, + { "itemId": 19, "quantity": 2 } ], - "outputs": [{ "itemId": "Motor", "quantity": 2 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 49, "quantity": 2 }], + "producedInId": 2, "productionDuration": 16 }, { - "id": "Automated_Wiring", + "id": 109, + "key": "Automated_Wiring", "inputs": [ - { "itemId": "Stator", "quantity": 1 }, - { "itemId": "Cable", "quantity": 20 } + { "itemId": 48, "quantity": 1 }, + { "itemId": 6, "quantity": 20 } ], - "outputs": [{ "itemId": "Automated_Wiring", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 50, "quantity": 1 }], + "producedInId": 2, "productionDuration": 24 }, { - "id": "Automated_Speed_Wiring", + "id": 110, + "key": "Automated_Speed_Wiring", "inputs": [ - { "itemId": "Stator", "quantity": 2 }, - { "itemId": "Wire", "quantity": 40 }, - { "itemId": "High-Speed_Connector", "quantity": 1 } + { "itemId": 48, "quantity": 2 }, + { "itemId": 7, "quantity": 40 }, + { "itemId": 71, "quantity": 1 } ], - "outputs": [{ "itemId": "Automated_Wiring", "quantity": 4 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 50, "quantity": 4 }], + "producedInId": 3, "productionDuration": 32 }, { - "id": "Gas_Nobelisk", + "id": 111, + "key": "Gas_Nobelisk", "inputs": [ - { "itemId": "Nobelisk", "quantity": 1 }, - { "itemId": "Biomass", "quantity": 10 } + { "itemId": 43, "quantity": 1 }, + { "itemId": 13, "quantity": 10 } ], - "outputs": [{ "itemId": "Gas_Nobelisk", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 51, "quantity": 1 }], + "producedInId": 2, "productionDuration": 12 }, { - "id": "Reanimated_SAM", - "inputs": [{ "itemId": "SAM", "quantity": 4 }], - "outputs": [{ "itemId": "Reanimated_SAM", "quantity": 1 }], - "producedIn": "Constructor", + "id": 112, + "key": "Reanimated_SAM", + "inputs": [{ "itemId": 54, "quantity": 4 }], + "outputs": [{ "itemId": 53, "quantity": 1 }], + "producedInId": 1, "productionDuration": 2 }, { - "id": "Caterium_Ingot", - "inputs": [{ "itemId": "Caterium_Ore", "quantity": 3 }], - "outputs": [{ "itemId": "Caterium_Ingot", "quantity": 1 }], - "producedIn": "Smelter", + "id": 113, + "key": "Caterium_Ingot", + "inputs": [{ "itemId": 56, "quantity": 3 }], + "outputs": [{ "itemId": 55, "quantity": 1 }], + "producedInId": 10, "productionDuration": 4 }, { - "id": "Pure_Caterium_Ingot", + "id": 114, + "key": "Pure_Caterium_Ingot", "inputs": [ - { "itemId": "Caterium_Ore", "quantity": 2 }, - { "itemId": "Water", "quantity": 2 } + { "itemId": 56, "quantity": 2 }, + { "itemId": 67, "quantity": 2 } ], - "outputs": [{ "itemId": "Caterium_Ingot", "quantity": 1 }], - "producedIn": "Refinery", + "outputs": [{ "itemId": 55, "quantity": 1 }], + "producedInId": 5, "productionDuration": 5 }, { - "id": "Leached_Caterium_Ingot", + "id": 115, + "key": "Leached_Caterium_Ingot", "inputs": [ - { "itemId": "Caterium_Ore", "quantity": 9 }, - { "itemId": "Sulfuric_Acid", "quantity": 5 } + { "itemId": 56, "quantity": 9 }, + { "itemId": 97, "quantity": 5 } ], - "outputs": [{ "itemId": "Caterium_Ingot", "quantity": 6 }], - "producedIn": "Refinery", + "outputs": [{ "itemId": 55, "quantity": 6 }], + "producedInId": 5, "productionDuration": 10 }, { - "id": "Tempered_Caterium_Ingot", + "id": 116, + "key": "Tempered_Caterium_Ingot", "inputs": [ - { "itemId": "Caterium_Ore", "quantity": 6 }, - { "itemId": "Petroleum_Coke", "quantity": 2 } + { "itemId": 56, "quantity": 6 }, + { "itemId": 62, "quantity": 2 } ], - "outputs": [{ "itemId": "Caterium_Ingot", "quantity": 3 }], - "producedIn": "Foundry", + "outputs": [{ "itemId": 55, "quantity": 3 }], + "producedInId": 11, "productionDuration": 8 }, { - "id": "Caterium_Ore_(Copper)", + "id": 117, + "key": "Caterium_Ore_(Copper)", "inputs": [ - { "itemId": "Reanimated_SAM", "quantity": 1 }, - { "itemId": "Copper_Ore", "quantity": 15 } + { "itemId": 53, "quantity": 1 }, + { "itemId": 9, "quantity": 15 } ], - "outputs": [{ "itemId": "Caterium_Ore", "quantity": 12 }], - "producedIn": "Converter", + "outputs": [{ "itemId": 56, "quantity": 12 }], + "producedInId": 8, "productionDuration": 6, "powerUsage": [100, 400] }, { - "id": "Caterium_Ore_(Quartz)", + "id": 118, + "key": "Caterium_Ore_(Quartz)", "inputs": [ - { "itemId": "Reanimated_SAM", "quantity": 1 }, - { "itemId": "Raw_Quartz", "quantity": 12 } + { "itemId": 53, "quantity": 1 }, + { "itemId": 33, "quantity": 12 } ], - "outputs": [{ "itemId": "Caterium_Ore", "quantity": 12 }], - "producedIn": "Converter", + "outputs": [{ "itemId": 56, "quantity": 12 }], + "producedInId": 8, "productionDuration": 6, "powerUsage": [100, 400] }, { - "id": "SAM_Fluctuator", + "id": 119, + "key": "SAM_Fluctuator", "inputs": [ - { "itemId": "Reanimated_SAM", "quantity": 6 }, - { "itemId": "Wire", "quantity": 5 }, - { "itemId": "Steel_Pipe", "quantity": 3 } + { "itemId": 53, "quantity": 6 }, + { "itemId": 7, "quantity": 5 }, + { "itemId": 29, "quantity": 3 } ], - "outputs": [{ "itemId": "SAM_Fluctuator", "quantity": 1 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 57, "quantity": 1 }], + "producedInId": 3, "productionDuration": 6 }, { - "id": "Quickwire", - "inputs": [{ "itemId": "Caterium_Ingot", "quantity": 1 }], - "outputs": [{ "itemId": "Quickwire", "quantity": 5 }], - "producedIn": "Constructor", + "id": 120, + "key": "Quickwire", + "inputs": [{ "itemId": 55, "quantity": 1 }], + "outputs": [{ "itemId": 59, "quantity": 5 }], + "producedInId": 1, "productionDuration": 5 }, { - "id": "Fused_Quickwire", + "id": 121, + "key": "Fused_Quickwire", "inputs": [ - { "itemId": "Caterium_Ingot", "quantity": 1 }, - { "itemId": "Copper_Ingot", "quantity": 5 } + { "itemId": 55, "quantity": 1 }, + { "itemId": 8, "quantity": 5 } ], - "outputs": [{ "itemId": "Quickwire", "quantity": 12 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 59, "quantity": 12 }], + "producedInId": 2, "productionDuration": 8 }, { - "id": "Stun_Rebar", + "id": 122, + "key": "Stun_Rebar", "inputs": [ - { "itemId": "Iron_Rebar", "quantity": 1 }, - { "itemId": "Quickwire", "quantity": 5 } + { "itemId": 41, "quantity": 1 }, + { "itemId": 59, "quantity": 5 } ], - "outputs": [{ "itemId": "Stun_Rebar", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 60, "quantity": 1 }], + "producedInId": 2, "productionDuration": 6 }, { - "id": "AI_Limiter", + "id": 123, + "key": "AI_Limiter", "inputs": [ - { "itemId": "Copper_Sheet", "quantity": 5 }, - { "itemId": "Quickwire", "quantity": 20 } + { "itemId": 20, "quantity": 5 }, + { "itemId": 59, "quantity": 20 } ], - "outputs": [{ "itemId": "AI_Limiter", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 61, "quantity": 1 }], + "producedInId": 2, "productionDuration": 12 }, { - "id": "Plastic_AI_Limiter", + "id": 124, + "key": "Plastic_AI_Limiter", "inputs": [ - { "itemId": "Quickwire", "quantity": 30 }, - { "itemId": "Plastic", "quantity": 7 } + { "itemId": 59, "quantity": 30 }, + { "itemId": 65, "quantity": 7 } ], - "outputs": [{ "itemId": "AI_Limiter", "quantity": 2 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 61, "quantity": 2 }], + "producedInId": 2, "productionDuration": 15 }, { - "id": "Petroleum_Coke", - "inputs": [{ "itemId": "Heavy_Oil_Residue", "quantity": 4 }], - "outputs": [{ "itemId": "Petroleum_Coke", "quantity": 12 }], - "producedIn": "Refinery", + "id": 125, + "key": "Petroleum_Coke", + "inputs": [{ "itemId": 63, "quantity": 4 }], + "outputs": [{ "itemId": 62, "quantity": 12 }], + "producedInId": 5, "productionDuration": 6 }, { - "id": "Plastic", - "inputs": [{ "itemId": "Crude_Oil", "quantity": 3 }], + "id": 126, + "key": "Plastic", + "inputs": [{ "itemId": 70, "quantity": 3 }], "outputs": [ - { "itemId": "Plastic", "quantity": 2 }, - { "itemId": "Heavy_Oil_Residue", "quantity": 1 } + { "itemId": 65, "quantity": 2 }, + { "itemId": 63, "quantity": 1 } ], - "producedIn": "Refinery", + "producedInId": 5, "productionDuration": 6 }, { - "id": "Rubber", - "inputs": [{ "itemId": "Crude_Oil", "quantity": 3 }], + "id": 127, + "key": "Rubber", + "inputs": [{ "itemId": 70, "quantity": 3 }], "outputs": [ - { "itemId": "Rubber", "quantity": 2 }, - { "itemId": "Heavy_Oil_Residue", "quantity": 2 } + { "itemId": 68, "quantity": 2 }, + { "itemId": 63, "quantity": 2 } ], - "producedIn": "Refinery", + "producedInId": 5, "productionDuration": 6 }, { - "id": "Unpackage_Heavy_Oil_Residue", - "inputs": [{ "itemId": "Packaged_Heavy_Oil_Residue", "quantity": 2 }], + "id": 128, + "key": "Unpackage_Heavy_Oil_Residue", + "inputs": [{ "itemId": 76, "quantity": 2 }], "outputs": [ - { "itemId": "Heavy_Oil_Residue", "quantity": 2 }, - { "itemId": "Empty_Canister", "quantity": 2 } + { "itemId": 63, "quantity": 2 }, + { "itemId": 72, "quantity": 2 } ], - "producedIn": "Packager", + "producedInId": 4, "productionDuration": 6 }, { - "id": "Polymer_Resin", - "inputs": [{ "itemId": "Crude_Oil", "quantity": 6 }], + "id": 129, + "key": "Polymer_Resin", + "inputs": [{ "itemId": 70, "quantity": 6 }], "outputs": [ - { "itemId": "Polymer_Resin", "quantity": 13 }, - { "itemId": "Heavy_Oil_Residue", "quantity": 2 } + { "itemId": 66, "quantity": 13 }, + { "itemId": 63, "quantity": 2 } ], - "producedIn": "Refinery", + "producedInId": 5, "productionDuration": 6 }, { - "id": "Heavy_Oil_Residue", - "inputs": [{ "itemId": "Crude_Oil", "quantity": 3 }], + "id": 130, + "key": "Heavy_Oil_Residue", + "inputs": [{ "itemId": 70, "quantity": 3 }], "outputs": [ - { "itemId": "Heavy_Oil_Residue", "quantity": 4 }, - { "itemId": "Polymer_Resin", "quantity": 2 } + { "itemId": 63, "quantity": 4 }, + { "itemId": 66, "quantity": 2 } ], - "producedIn": "Refinery", + "producedInId": 5, "productionDuration": 6 }, { - "id": "Circuit_Board", + "id": 131, + "key": "Circuit_Board", "inputs": [ - { "itemId": "Copper_Sheet", "quantity": 2 }, - { "itemId": "Plastic", "quantity": 4 } + { "itemId": 20, "quantity": 2 }, + { "itemId": 65, "quantity": 4 } ], - "outputs": [{ "itemId": "Circuit_Board", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 64, "quantity": 1 }], + "producedInId": 2, "productionDuration": 8 }, { - "id": "Silicon_Circuit_Board", + "id": 132, + "key": "Silicon_Circuit_Board", "inputs": [ - { "itemId": "Copper_Sheet", "quantity": 11 }, - { "itemId": "Silica", "quantity": 11 } + { "itemId": 20, "quantity": 11 }, + { "itemId": 32, "quantity": 11 } ], - "outputs": [{ "itemId": "Circuit_Board", "quantity": 5 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 64, "quantity": 5 }], + "producedInId": 2, "productionDuration": 24 }, { - "id": "Caterium_Circuit_Board", + "id": 133, + "key": "Caterium_Circuit_Board", "inputs": [ - { "itemId": "Plastic", "quantity": 10 }, - { "itemId": "Quickwire", "quantity": 30 } + { "itemId": 65, "quantity": 10 }, + { "itemId": 59, "quantity": 30 } ], - "outputs": [{ "itemId": "Circuit_Board", "quantity": 7 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 64, "quantity": 7 }], + "producedInId": 2, "productionDuration": 48 }, { - "id": "Electrode_Circuit_Board", + "id": 134, + "key": "Electrode_Circuit_Board", "inputs": [ - { "itemId": "Rubber", "quantity": 4 }, - { "itemId": "Petroleum_Coke", "quantity": 8 } + { "itemId": 68, "quantity": 4 }, + { "itemId": 62, "quantity": 8 } ], - "outputs": [{ "itemId": "Circuit_Board", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 64, "quantity": 1 }], + "producedInId": 2, "productionDuration": 12 }, { - "id": "Residual_Plastic", + "id": 135, + "key": "Residual_Plastic", "inputs": [ - { "itemId": "Polymer_Resin", "quantity": 6 }, - { "itemId": "Water", "quantity": 2 } + { "itemId": 66, "quantity": 6 }, + { "itemId": 67, "quantity": 2 } ], - "outputs": [{ "itemId": "Plastic", "quantity": 2 }], - "producedIn": "Refinery", + "outputs": [{ "itemId": 65, "quantity": 2 }], + "producedInId": 5, "productionDuration": 6 }, { - "id": "Recycled_Plastic", + "id": 136, + "key": "Recycled_Plastic", "inputs": [ - { "itemId": "Rubber", "quantity": 6 }, - { "itemId": "Fuel", "quantity": 6 } + { "itemId": 68, "quantity": 6 }, + { "itemId": 69, "quantity": 6 } ], - "outputs": [{ "itemId": "Plastic", "quantity": 12 }], - "producedIn": "Refinery", + "outputs": [{ "itemId": 65, "quantity": 12 }], + "producedInId": 5, "productionDuration": 12 }, { - "id": "Fuel", - "inputs": [{ "itemId": "Crude_Oil", "quantity": 6 }], + "id": 137, + "key": "Fuel", + "inputs": [{ "itemId": 70, "quantity": 6 }], "outputs": [ - { "itemId": "Fuel", "quantity": 4 }, - { "itemId": "Polymer_Resin", "quantity": 3 } + { "itemId": 69, "quantity": 4 }, + { "itemId": 66, "quantity": 3 } ], - "producedIn": "Refinery", + "producedInId": 5, "productionDuration": 6 }, { - "id": "Unpackage_Water", - "inputs": [{ "itemId": "Packaged_Water", "quantity": 2 }], + "id": 138, + "key": "Unpackage_Water", + "inputs": [{ "itemId": 73, "quantity": 2 }], "outputs": [ - { "itemId": "Water", "quantity": 2 }, - { "itemId": "Empty_Canister", "quantity": 2 } + { "itemId": 67, "quantity": 2 }, + { "itemId": 72, "quantity": 2 } ], - "producedIn": "Packager", + "producedInId": 4, "productionDuration": 1 }, { - "id": "Aluminum_Scrap", + "id": 139, + "key": "Aluminum_Scrap", "inputs": [ - { "itemId": "Alumina_Solution", "quantity": 4 }, - { "itemId": "Coal", "quantity": 2 } + { "itemId": 92, "quantity": 4 }, + { "itemId": 27, "quantity": 2 } ], "outputs": [ - { "itemId": "Aluminum_Scrap", "quantity": 6 }, - { "itemId": "Water", "quantity": 2 } + { "itemId": 95, "quantity": 6 }, + { "itemId": 67, "quantity": 2 } ], - "producedIn": "Refinery", + "producedInId": 5, "productionDuration": 1 }, { - "id": "Electrode_Aluminum_Scrap", + "id": 140, + "key": "Electrode_Aluminum_Scrap", "inputs": [ - { "itemId": "Alumina_Solution", "quantity": 12 }, - { "itemId": "Petroleum_Coke", "quantity": 4 } + { "itemId": 92, "quantity": 12 }, + { "itemId": 62, "quantity": 4 } ], "outputs": [ - { "itemId": "Aluminum_Scrap", "quantity": 20 }, - { "itemId": "Water", "quantity": 7 } + { "itemId": 95, "quantity": 20 }, + { "itemId": 67, "quantity": 7 } ], - "producedIn": "Refinery", + "producedInId": 5, "productionDuration": 4 }, { - "id": "Battery", + "id": 141, + "key": "Battery", "inputs": [ - { "itemId": "Sulfuric_Acid", "quantity": 2.5 }, - { "itemId": "Alumina_Solution", "quantity": 2 }, - { "itemId": "Aluminum_Casing", "quantity": 1 } + { "itemId": 97, "quantity": 2.5 }, + { "itemId": 92, "quantity": 2 }, + { "itemId": 89, "quantity": 1 } ], "outputs": [ - { "itemId": "Battery", "quantity": 1 }, - { "itemId": "Water", "quantity": 1.5 } + { "itemId": 99, "quantity": 1 }, + { "itemId": 67, "quantity": 1.5 } ], - "producedIn": "Blender", + "producedInId": 6, "productionDuration": 3 }, { - "id": "Non-Fissile_Uranium", + "id": 142, + "key": "Non-Fissile_Uranium", "inputs": [ - { "itemId": "Uranium_Waste", "quantity": 15 }, - { "itemId": "Silica", "quantity": 10 }, - { "itemId": "Nitric_Acid", "quantity": 6 }, - { "itemId": "Sulfuric_Acid", "quantity": 6 } + { "itemId": 118, "quantity": 15 }, + { "itemId": 32, "quantity": 10 }, + { "itemId": 110, "quantity": 6 }, + { "itemId": 97, "quantity": 6 } ], "outputs": [ - { "itemId": "Non-Fissile_Uranium", "quantity": 20 }, - { "itemId": "Water", "quantity": 6 } + { "itemId": 117, "quantity": 20 }, + { "itemId": 67, "quantity": 6 } ], - "producedIn": "Blender", + "producedInId": 6, "productionDuration": 24 }, { - "id": "Fertile_Uranium", + "id": 143, + "key": "Fertile_Uranium", "inputs": [ - { "itemId": "Uranium", "quantity": 5 }, - { "itemId": "Uranium_Waste", "quantity": 5 }, - { "itemId": "Nitric_Acid", "quantity": 3 }, - { "itemId": "Sulfuric_Acid", "quantity": 5 } + { "itemId": 112, "quantity": 5 }, + { "itemId": 118, "quantity": 5 }, + { "itemId": 110, "quantity": 3 }, + { "itemId": 97, "quantity": 5 } ], "outputs": [ - { "itemId": "Non-Fissile_Uranium", "quantity": 20 }, - { "itemId": "Water", "quantity": 8 } + { "itemId": 117, "quantity": 20 }, + { "itemId": 67, "quantity": 8 } ], - "producedIn": "Blender", + "producedInId": 6, "productionDuration": 12 }, { - "id": "Instant_Scrap", + "id": 144, + "key": "Instant_Scrap", "inputs": [ - { "itemId": "Bauxite", "quantity": 15 }, - { "itemId": "Coal", "quantity": 10 }, - { "itemId": "Sulfuric_Acid", "quantity": 5 }, - { "itemId": "Water", "quantity": 6 } + { "itemId": 93, "quantity": 15 }, + { "itemId": 27, "quantity": 10 }, + { "itemId": 97, "quantity": 5 }, + { "itemId": 67, "quantity": 6 } ], "outputs": [ - { "itemId": "Aluminum_Scrap", "quantity": 30 }, - { "itemId": "Water", "quantity": 5 } + { "itemId": 95, "quantity": 30 }, + { "itemId": 67, "quantity": 5 } ], - "producedIn": "Blender", + "producedInId": 6, "productionDuration": 6 }, { - "id": "Residual_Rubber", + "id": 145, + "key": "Residual_Rubber", "inputs": [ - { "itemId": "Polymer_Resin", "quantity": 4 }, - { "itemId": "Water", "quantity": 4 } + { "itemId": 66, "quantity": 4 }, + { "itemId": 67, "quantity": 4 } ], - "outputs": [{ "itemId": "Rubber", "quantity": 2 }], - "producedIn": "Refinery", + "outputs": [{ "itemId": 68, "quantity": 2 }], + "producedInId": 5, "productionDuration": 6 }, { - "id": "Recycled_Rubber", + "id": 146, + "key": "Recycled_Rubber", "inputs": [ - { "itemId": "Plastic", "quantity": 6 }, - { "itemId": "Fuel", "quantity": 6 } + { "itemId": 65, "quantity": 6 }, + { "itemId": 69, "quantity": 6 } ], - "outputs": [{ "itemId": "Rubber", "quantity": 12 }], - "producedIn": "Refinery", + "outputs": [{ "itemId": 68, "quantity": 12 }], + "producedInId": 5, "productionDuration": 12 }, { - "id": "Residual_Fuel", - "inputs": [{ "itemId": "Heavy_Oil_Residue", "quantity": 6 }], - "outputs": [{ "itemId": "Fuel", "quantity": 4 }], - "producedIn": "Refinery", + "id": 147, + "key": "Residual_Fuel", + "inputs": [{ "itemId": 63, "quantity": 6 }], + "outputs": [{ "itemId": 69, "quantity": 4 }], + "producedInId": 5, "productionDuration": 6 }, { - "id": "Unpackage_Fuel", - "inputs": [{ "itemId": "Packaged_Fuel", "quantity": 2 }], + "id": 148, + "key": "Unpackage_Fuel", + "inputs": [{ "itemId": 75, "quantity": 2 }], "outputs": [ - { "itemId": "Fuel", "quantity": 2 }, - { "itemId": "Empty_Canister", "quantity": 2 } + { "itemId": 69, "quantity": 2 }, + { "itemId": 72, "quantity": 2 } ], - "producedIn": "Packager", + "producedInId": 4, "productionDuration": 2 }, { - "id": "Diluted_Fuel", + "id": 149, + "key": "Diluted_Fuel", "inputs": [ - { "itemId": "Heavy_Oil_Residue", "quantity": 5 }, - { "itemId": "Water", "quantity": 10 } + { "itemId": 63, "quantity": 5 }, + { "itemId": 67, "quantity": 10 } ], - "outputs": [{ "itemId": "Fuel", "quantity": 10 }], - "producedIn": "Blender", + "outputs": [{ "itemId": 69, "quantity": 10 }], + "producedInId": 6, "productionDuration": 6 }, { - "id": "Unpackage_Oil", - "inputs": [{ "itemId": "Packaged_Oil", "quantity": 2 }], + "id": 150, + "key": "Unpackage_Oil", + "inputs": [{ "itemId": 74, "quantity": 2 }], "outputs": [ - { "itemId": "Crude_Oil", "quantity": 2 }, - { "itemId": "Empty_Canister", "quantity": 2 } + { "itemId": 70, "quantity": 2 }, + { "itemId": 72, "quantity": 2 } ], - "producedIn": "Packager", + "producedInId": 4, "productionDuration": 2 }, { - "id": "High-Speed_Connector", + "id": 151, + "key": "High-Speed_Connector", "inputs": [ - { "itemId": "Quickwire", "quantity": 56 }, - { "itemId": "Cable", "quantity": 10 }, - { "itemId": "Circuit_Board", "quantity": 1 } + { "itemId": 59, "quantity": 56 }, + { "itemId": 6, "quantity": 10 }, + { "itemId": 64, "quantity": 1 } ], - "outputs": [{ "itemId": "High-Speed_Connector", "quantity": 1 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 71, "quantity": 1 }], + "producedInId": 3, "productionDuration": 16 }, { - "id": "Silicon_High-Speed_Connector", + "id": 152, + "key": "Silicon_High-Speed_Connector", "inputs": [ - { "itemId": "Quickwire", "quantity": 60 }, - { "itemId": "Silica", "quantity": 25 }, - { "itemId": "Circuit_Board", "quantity": 2 } + { "itemId": 59, "quantity": 60 }, + { "itemId": 32, "quantity": 25 }, + { "itemId": 64, "quantity": 2 } ], - "outputs": [{ "itemId": "High-Speed_Connector", "quantity": 2 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 71, "quantity": 2 }], + "producedInId": 3, "productionDuration": 40 }, { - "id": "Empty_Canister", - "inputs": [{ "itemId": "Plastic", "quantity": 2 }], - "outputs": [{ "itemId": "Empty_Canister", "quantity": 4 }], - "producedIn": "Constructor", + "id": 153, + "key": "Empty_Canister", + "inputs": [{ "itemId": 65, "quantity": 2 }], + "outputs": [{ "itemId": 72, "quantity": 4 }], + "producedInId": 1, "productionDuration": 4 }, { - "id": "Unpackage_Liquid_Biofuel", - "inputs": [{ "itemId": "Packaged_Liquid_Biofuel", "quantity": 2 }], + "id": 154, + "key": "Unpackage_Liquid_Biofuel", + "inputs": [{ "itemId": 77, "quantity": 2 }], "outputs": [ - { "itemId": "Liquid_Biofuel", "quantity": 2 }, - { "itemId": "Empty_Canister", "quantity": 2 } + { "itemId": 78, "quantity": 2 }, + { "itemId": 72, "quantity": 2 } ], - "producedIn": "Packager", + "producedInId": 4, "productionDuration": 2 }, { - "id": "Coated_Iron_Canister", + "id": 155, + "key": "Coated_Iron_Canister", "inputs": [ - { "itemId": "Iron_Plate", "quantity": 2 }, - { "itemId": "Copper_Sheet", "quantity": 1 } + { "itemId": 3, "quantity": 2 }, + { "itemId": 20, "quantity": 1 } ], - "outputs": [{ "itemId": "Empty_Canister", "quantity": 4 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 72, "quantity": 4 }], + "producedInId": 2, "productionDuration": 4 }, { - "id": "Unpackage_Alumina_Solution", - "inputs": [{ "itemId": "Packaged_Alumina_Solution", "quantity": 2 }], + "id": 156, + "key": "Unpackage_Alumina_Solution", + "inputs": [{ "itemId": 94, "quantity": 2 }], "outputs": [ - { "itemId": "Alumina_Solution", "quantity": 2 }, - { "itemId": "Empty_Canister", "quantity": 2 } + { "itemId": 92, "quantity": 2 }, + { "itemId": 72, "quantity": 2 } ], - "producedIn": "Packager", + "producedInId": 4, "productionDuration": 1 }, { - "id": "Steel_Canister", - "inputs": [{ "itemId": "Steel_Ingot", "quantity": 4 }], - "outputs": [{ "itemId": "Empty_Canister", "quantity": 4 }], - "producedIn": "Constructor", + "id": 157, + "key": "Steel_Canister", + "inputs": [{ "itemId": 26, "quantity": 4 }], + "outputs": [{ "itemId": 72, "quantity": 4 }], + "producedInId": 1, "productionDuration": 6 }, { - "id": "Unpackage_Sulfuric_Acid", - "inputs": [{ "itemId": "Packaged_Sulfuric_Acid", "quantity": 1 }], + "id": 158, + "key": "Unpackage_Sulfuric_Acid", + "inputs": [{ "itemId": 98, "quantity": 1 }], "outputs": [ - { "itemId": "Sulfuric_Acid", "quantity": 1 }, - { "itemId": "Empty_Canister", "quantity": 1 } + { "itemId": 97, "quantity": 1 }, + { "itemId": 72, "quantity": 1 } ], - "producedIn": "Packager", + "producedInId": 4, "productionDuration": 1 }, { - "id": "Unpackage_Turbofuel", - "inputs": [{ "itemId": "Packaged_Turbofuel", "quantity": 2 }], + "id": 159, + "key": "Unpackage_Turbofuel", + "inputs": [{ "itemId": 128, "quantity": 2 }], "outputs": [ - { "itemId": "Turbofuel", "quantity": 2 }, - { "itemId": "Empty_Canister", "quantity": 2 } + { "itemId": 127, "quantity": 2 }, + { "itemId": 72, "quantity": 2 } ], - "producedIn": "Packager", + "producedInId": 4, "productionDuration": 6 }, { - "id": "Packaged_Water", + "id": 160, + "key": "Packaged_Water", "inputs": [ - { "itemId": "Water", "quantity": 2 }, - { "itemId": "Empty_Canister", "quantity": 2 } + { "itemId": 67, "quantity": 2 }, + { "itemId": 72, "quantity": 2 } ], - "outputs": [{ "itemId": "Packaged_Water", "quantity": 2 }], - "producedIn": "Packager", + "outputs": [{ "itemId": 73, "quantity": 2 }], + "producedInId": 4, "productionDuration": 2 }, { - "id": "Packaged_Oil", + "id": 161, + "key": "Packaged_Oil", "inputs": [ - { "itemId": "Crude_Oil", "quantity": 2 }, - { "itemId": "Empty_Canister", "quantity": 2 } + { "itemId": 70, "quantity": 2 }, + { "itemId": 72, "quantity": 2 } ], - "outputs": [{ "itemId": "Packaged_Oil", "quantity": 2 }], - "producedIn": "Packager", + "outputs": [{ "itemId": 74, "quantity": 2 }], + "producedInId": 4, "productionDuration": 4 }, { - "id": "Packaged_Fuel", + "id": 162, + "key": "Packaged_Fuel", "inputs": [ - { "itemId": "Fuel", "quantity": 2 }, - { "itemId": "Empty_Canister", "quantity": 2 } + { "itemId": 69, "quantity": 2 }, + { "itemId": 72, "quantity": 2 } ], - "outputs": [{ "itemId": "Packaged_Fuel", "quantity": 2 }], - "producedIn": "Packager", + "outputs": [{ "itemId": 75, "quantity": 2 }], + "producedInId": 4, "productionDuration": 3 }, { - "id": "Diluted_Packaged_Fuel", + "id": 163, + "key": "Diluted_Packaged_Fuel", "inputs": [ - { "itemId": "Heavy_Oil_Residue", "quantity": 1 }, - { "itemId": "Packaged_Water", "quantity": 2 } + { "itemId": 63, "quantity": 1 }, + { "itemId": 73, "quantity": 2 } ], - "outputs": [{ "itemId": "Packaged_Fuel", "quantity": 2 }], - "producedIn": "Refinery", + "outputs": [{ "itemId": 75, "quantity": 2 }], + "producedInId": 5, "productionDuration": 2 }, { - "id": "Packaged_Heavy_Oil_Residue", + "id": 164, + "key": "Packaged_Heavy_Oil_Residue", "inputs": [ - { "itemId": "Heavy_Oil_Residue", "quantity": 2 }, - { "itemId": "Empty_Canister", "quantity": 2 } + { "itemId": 63, "quantity": 2 }, + { "itemId": 72, "quantity": 2 } ], - "outputs": [{ "itemId": "Packaged_Heavy_Oil_Residue", "quantity": 2 }], - "producedIn": "Packager", + "outputs": [{ "itemId": 76, "quantity": 2 }], + "producedInId": 4, "productionDuration": 4 }, { - "id": "Packaged_Liquid_Biofuel", + "id": 165, + "key": "Packaged_Liquid_Biofuel", "inputs": [ - { "itemId": "Liquid_Biofuel", "quantity": 2 }, - { "itemId": "Empty_Canister", "quantity": 2 } + { "itemId": 78, "quantity": 2 }, + { "itemId": 72, "quantity": 2 } ], - "outputs": [{ "itemId": "Packaged_Liquid_Biofuel", "quantity": 2 }], - "producedIn": "Packager", + "outputs": [{ "itemId": 77, "quantity": 2 }], + "producedInId": 4, "productionDuration": 3 }, { - "id": "Liquid_Biofuel", + "id": 166, + "key": "Liquid_Biofuel", "inputs": [ - { "itemId": "Solid_Biofuel", "quantity": 6 }, - { "itemId": "Water", "quantity": 3 } + { "itemId": 18, "quantity": 6 }, + { "itemId": 67, "quantity": 3 } ], - "outputs": [{ "itemId": "Liquid_Biofuel", "quantity": 4 }], - "producedIn": "Refinery", + "outputs": [{ "itemId": 78, "quantity": 4 }], + "producedInId": 5, "productionDuration": 4 }, { - "id": "Computer", + "id": 167, + "key": "Computer", "inputs": [ - { "itemId": "Circuit_Board", "quantity": 4 }, - { "itemId": "Cable", "quantity": 8 }, - { "itemId": "Plastic", "quantity": 16 } + { "itemId": 64, "quantity": 4 }, + { "itemId": 6, "quantity": 8 }, + { "itemId": 65, "quantity": 16 } ], - "outputs": [{ "itemId": "Computer", "quantity": 1 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 79, "quantity": 1 }], + "producedInId": 3, "productionDuration": 24 }, { - "id": "Caterium_Computer", + "id": 168, + "key": "Caterium_Computer", "inputs": [ - { "itemId": "Circuit_Board", "quantity": 4 }, - { "itemId": "Quickwire", "quantity": 14 }, - { "itemId": "Rubber", "quantity": 6 } + { "itemId": 64, "quantity": 4 }, + { "itemId": 59, "quantity": 14 }, + { "itemId": 68, "quantity": 6 } ], - "outputs": [{ "itemId": "Computer", "quantity": 1 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 79, "quantity": 1 }], + "producedInId": 3, "productionDuration": 16 }, { - "id": "Crystal_Computer", + "id": 169, + "key": "Crystal_Computer", "inputs": [ - { "itemId": "Circuit_Board", "quantity": 3 }, - { "itemId": "Crystal_Oscillator", "quantity": 1 } + { "itemId": 64, "quantity": 3 }, + { "itemId": 45, "quantity": 1 } ], - "outputs": [{ "itemId": "Computer", "quantity": 2 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 79, "quantity": 2 }], + "producedInId": 2, "productionDuration": 36 }, { - "id": "Heavy_Modular_Frame", + "id": 170, + "key": "Heavy_Modular_Frame", "inputs": [ - { "itemId": "Modular_Frame", "quantity": 5 }, - { "itemId": "Steel_Pipe", "quantity": 20 }, - { "itemId": "Encased_Industrial_Beam", "quantity": 5 }, - { "itemId": "Screw", "quantity": 120 } + { "itemId": 21, "quantity": 5 }, + { "itemId": 29, "quantity": 20 }, + { "itemId": 47, "quantity": 5 }, + { "itemId": 12, "quantity": 120 } ], - "outputs": [{ "itemId": "Heavy_Modular_Frame", "quantity": 1 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 80, "quantity": 1 }], + "producedInId": 3, "productionDuration": 30 }, { - "id": "Heavy_Encased_Frame", + "id": 171, + "key": "Heavy_Encased_Frame", "inputs": [ - { "itemId": "Modular_Frame", "quantity": 8 }, - { "itemId": "Encased_Industrial_Beam", "quantity": 10 }, - { "itemId": "Steel_Pipe", "quantity": 36 }, - { "itemId": "Concrete", "quantity": 22 } + { "itemId": 21, "quantity": 8 }, + { "itemId": 47, "quantity": 10 }, + { "itemId": 29, "quantity": 36 }, + { "itemId": 10, "quantity": 22 } ], - "outputs": [{ "itemId": "Heavy_Modular_Frame", "quantity": 3 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 80, "quantity": 3 }], + "producedInId": 3, "productionDuration": 64 }, { - "id": "Heavy_Flexible_Frame", + "id": 172, + "key": "Heavy_Flexible_Frame", "inputs": [ - { "itemId": "Modular_Frame", "quantity": 5 }, - { "itemId": "Encased_Industrial_Beam", "quantity": 3 }, - { "itemId": "Rubber", "quantity": 20 }, - { "itemId": "Screw", "quantity": 104 } + { "itemId": 21, "quantity": 5 }, + { "itemId": 47, "quantity": 3 }, + { "itemId": 68, "quantity": 20 }, + { "itemId": 12, "quantity": 104 } ], - "outputs": [{ "itemId": "Heavy_Modular_Frame", "quantity": 1 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 80, "quantity": 1 }], + "producedInId": 3, "productionDuration": 16 }, { - "id": "Modular_Engine", + "id": 173, + "key": "Modular_Engine", "inputs": [ - { "itemId": "Motor", "quantity": 2 }, - { "itemId": "Rubber", "quantity": 15 }, - { "itemId": "Smart_Plating", "quantity": 2 } + { "itemId": 49, "quantity": 2 }, + { "itemId": 68, "quantity": 15 }, + { "itemId": 22, "quantity": 2 } ], - "outputs": [{ "itemId": "Modular_Engine", "quantity": 1 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 81, "quantity": 1 }], + "producedInId": 3, "productionDuration": 60 }, { - "id": "Adaptive_Control_Unit", + "id": 174, + "key": "Adaptive_Control_Unit", "inputs": [ - { "itemId": "Automated_Wiring", "quantity": 5 }, - { "itemId": "Circuit_Board", "quantity": 5 }, - { "itemId": "Heavy_Modular_Frame", "quantity": 1 }, - { "itemId": "Computer", "quantity": 2 } + { "itemId": 50, "quantity": 5 }, + { "itemId": 64, "quantity": 5 }, + { "itemId": 80, "quantity": 1 }, + { "itemId": 79, "quantity": 2 } ], - "outputs": [{ "itemId": "Adaptive_Control_Unit", "quantity": 1 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 82, "quantity": 1 }], + "producedInId": 3, "productionDuration": 60 }, { - "id": "Smokeless_Powder", + "id": 175, + "key": "Smokeless_Powder", "inputs": [ - { "itemId": "Black_Powder", "quantity": 2 }, - { "itemId": "Heavy_Oil_Residue", "quantity": 1 } + { "itemId": 38, "quantity": 2 }, + { "itemId": 63, "quantity": 1 } ], - "outputs": [{ "itemId": "Smokeless_Powder", "quantity": 2 }], - "producedIn": "Refinery", + "outputs": [{ "itemId": 83, "quantity": 2 }], + "producedInId": 5, "productionDuration": 6 }, { - "id": "Pulse_Nobelisk", + "id": 176, + "key": "Pulse_Nobelisk", "inputs": [ - { "itemId": "Nobelisk", "quantity": 5 }, - { "itemId": "Crystal_Oscillator", "quantity": 1 } + { "itemId": 43, "quantity": 5 }, + { "itemId": 45, "quantity": 1 } ], - "outputs": [{ "itemId": "Pulse_Nobelisk", "quantity": 5 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 85, "quantity": 5 }], + "producedInId": 2, "productionDuration": 60 }, { - "id": "Rifle_Ammo", + "id": 177, + "key": "Rifle_Ammo", "inputs": [ - { "itemId": "Copper_Sheet", "quantity": 3 }, - { "itemId": "Smokeless_Powder", "quantity": 2 } + { "itemId": 20, "quantity": 3 }, + { "itemId": 83, "quantity": 2 } ], - "outputs": [{ "itemId": "Rifle_Ammo", "quantity": 15 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 86, "quantity": 15 }], + "producedInId": 2, "productionDuration": 12 }, { - "id": "Alclad_Aluminum_Sheet", + "id": 178, + "key": "Alclad_Aluminum_Sheet", "inputs": [ - { "itemId": "Aluminum_Ingot", "quantity": 3 }, - { "itemId": "Copper_Ingot", "quantity": 1 } + { "itemId": 96, "quantity": 3 }, + { "itemId": 8, "quantity": 1 } ], - "outputs": [{ "itemId": "Alclad_Aluminum_Sheet", "quantity": 3 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 87, "quantity": 3 }], + "producedInId": 2, "productionDuration": 6 }, { - "id": "Iodine-Infused_Filter", + "id": 179, + "key": "Iodine-Infused_Filter", "inputs": [ - { "itemId": "Gas_Filter", "quantity": 1 }, - { "itemId": "Quickwire", "quantity": 8 }, - { "itemId": "Aluminum_Casing", "quantity": 1 } + { "itemId": 42, "quantity": 1 }, + { "itemId": 59, "quantity": 8 }, + { "itemId": 89, "quantity": 1 } ], - "outputs": [{ "itemId": "Iodine-Infused_Filter", "quantity": 1 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 88, "quantity": 1 }], + "producedInId": 3, "productionDuration": 16 }, { - "id": "Aluminum_Casing", - "inputs": [{ "itemId": "Aluminum_Ingot", "quantity": 3 }], - "outputs": [{ "itemId": "Aluminum_Casing", "quantity": 2 }], - "producedIn": "Constructor", + "id": 180, + "key": "Aluminum_Casing", + "inputs": [{ "itemId": 96, "quantity": 3 }], + "outputs": [{ "itemId": 89, "quantity": 2 }], + "producedInId": 1, "productionDuration": 2 }, { - "id": "Alclad_Casing", + "id": 181, + "key": "Alclad_Casing", "inputs": [ - { "itemId": "Aluminum_Ingot", "quantity": 20 }, - { "itemId": "Copper_Ingot", "quantity": 10 } + { "itemId": 96, "quantity": 20 }, + { "itemId": 8, "quantity": 10 } ], - "outputs": [{ "itemId": "Aluminum_Casing", "quantity": 15 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 89, "quantity": 15 }], + "producedInId": 2, "productionDuration": 8 }, { - "id": "Cluster_Nobelisk", + "id": 182, + "key": "Cluster_Nobelisk", "inputs": [ - { "itemId": "Nobelisk", "quantity": 3 }, - { "itemId": "Smokeless_Powder", "quantity": 4 } + { "itemId": 43, "quantity": 3 }, + { "itemId": 83, "quantity": 4 } ], - "outputs": [{ "itemId": "Cluster_Nobelisk", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 90, "quantity": 1 }], + "producedInId": 2, "productionDuration": 24 }, { - "id": "Homing_Rifle_Ammo", + "id": 183, + "key": "Homing_Rifle_Ammo", "inputs": [ - { "itemId": "Rifle_Ammo", "quantity": 20 }, - { "itemId": "High-Speed_Connector", "quantity": 1 } + { "itemId": 86, "quantity": 20 }, + { "itemId": 71, "quantity": 1 } ], - "outputs": [{ "itemId": "Homing_Rifle_Ammo", "quantity": 10 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 91, "quantity": 10 }], + "producedInId": 2, "productionDuration": 24 }, { - "id": "Sloppy_Alumina", + "id": 184, + "key": "Sloppy_Alumina", "inputs": [ - { "itemId": "Bauxite", "quantity": 10 }, - { "itemId": "Water", "quantity": 10 } + { "itemId": 93, "quantity": 10 }, + { "itemId": 67, "quantity": 10 } ], - "outputs": [{ "itemId": "Alumina_Solution", "quantity": 12 }], - "producedIn": "Refinery", + "outputs": [{ "itemId": 92, "quantity": 12 }], + "producedInId": 5, "productionDuration": 3 }, { - "id": "Bauxite_(Caterium)", + "id": 185, + "key": "Bauxite_(Caterium)", "inputs": [ - { "itemId": "Reanimated_SAM", "quantity": 1 }, - { "itemId": "Caterium_Ore", "quantity": 15 } + { "itemId": 53, "quantity": 1 }, + { "itemId": 56, "quantity": 15 } ], - "outputs": [{ "itemId": "Bauxite", "quantity": 12 }], - "producedIn": "Converter", + "outputs": [{ "itemId": 93, "quantity": 12 }], + "producedInId": 8, "productionDuration": 6, "powerUsage": [100, 400] }, { - "id": "Bauxite_(Copper)", + "id": 186, + "key": "Bauxite_(Copper)", "inputs": [ - { "itemId": "Reanimated_SAM", "quantity": 1 }, - { "itemId": "Copper_Ore", "quantity": 18 } + { "itemId": 53, "quantity": 1 }, + { "itemId": 9, "quantity": 18 } ], - "outputs": [{ "itemId": "Bauxite", "quantity": 12 }], - "producedIn": "Converter", + "outputs": [{ "itemId": 93, "quantity": 12 }], + "producedInId": 8, "productionDuration": 6, "powerUsage": [100, 400] }, { - "id": "Packaged_Alumina_Solution", + "id": 187, + "key": "Packaged_Alumina_Solution", "inputs": [ - { "itemId": "Alumina_Solution", "quantity": 2 }, - { "itemId": "Empty_Canister", "quantity": 2 } + { "itemId": 92, "quantity": 2 }, + { "itemId": 72, "quantity": 2 } ], - "outputs": [{ "itemId": "Packaged_Alumina_Solution", "quantity": 2 }], - "producedIn": "Packager", + "outputs": [{ "itemId": 94, "quantity": 2 }], + "producedInId": 4, "productionDuration": 1 }, { - "id": "Aluminum_Ingot", + "id": 188, + "key": "Aluminum_Ingot", "inputs": [ - { "itemId": "Aluminum_Scrap", "quantity": 6 }, - { "itemId": "Silica", "quantity": 5 } + { "itemId": 95, "quantity": 6 }, + { "itemId": 32, "quantity": 5 } ], - "outputs": [{ "itemId": "Aluminum_Ingot", "quantity": 4 }], - "producedIn": "Foundry", + "outputs": [{ "itemId": 96, "quantity": 4 }], + "producedInId": 11, "productionDuration": 4 }, { - "id": "Pure_Aluminum_Ingot", - "inputs": [{ "itemId": "Aluminum_Scrap", "quantity": 2 }], - "outputs": [{ "itemId": "Aluminum_Ingot", "quantity": 1 }], - "producedIn": "Smelter", + "id": 189, + "key": "Pure_Aluminum_Ingot", + "inputs": [{ "itemId": 95, "quantity": 2 }], + "outputs": [{ "itemId": 96, "quantity": 1 }], + "producedInId": 10, "productionDuration": 2 }, { - "id": "Sulfuric_Acid", + "id": 190, + "key": "Sulfuric_Acid", "inputs": [ - { "itemId": "Sulfur", "quantity": 5 }, - { "itemId": "Water", "quantity": 5 } + { "itemId": 39, "quantity": 5 }, + { "itemId": 67, "quantity": 5 } ], - "outputs": [{ "itemId": "Sulfuric_Acid", "quantity": 5 }], - "producedIn": "Refinery", + "outputs": [{ "itemId": 97, "quantity": 5 }], + "producedInId": 5, "productionDuration": 6 }, { - "id": "Encased_Uranium_Cell", + "id": 191, + "key": "Encased_Uranium_Cell", "inputs": [ - { "itemId": "Uranium", "quantity": 10 }, - { "itemId": "Concrete", "quantity": 3 }, - { "itemId": "Sulfuric_Acid", "quantity": 8 } + { "itemId": 112, "quantity": 10 }, + { "itemId": 10, "quantity": 3 }, + { "itemId": 97, "quantity": 8 } ], "outputs": [ - { "itemId": "Encased_Uranium_Cell", "quantity": 5 }, - { "itemId": "Sulfuric_Acid", "quantity": 2 } + { "itemId": 111, "quantity": 5 }, + { "itemId": 97, "quantity": 2 } ], - "producedIn": "Blender", + "producedInId": 6, "productionDuration": 12 }, { - "id": "Packaged_Sulfuric_Acid", + "id": 192, + "key": "Packaged_Sulfuric_Acid", "inputs": [ - { "itemId": "Sulfuric_Acid", "quantity": 2 }, - { "itemId": "Empty_Canister", "quantity": 2 } + { "itemId": 97, "quantity": 2 }, + { "itemId": 72, "quantity": 2 } ], - "outputs": [{ "itemId": "Packaged_Sulfuric_Acid", "quantity": 2 }], - "producedIn": "Packager", + "outputs": [{ "itemId": 98, "quantity": 2 }], + "producedInId": 4, "productionDuration": 3 }, { - "id": "Classic_Battery", + "id": 193, + "key": "Classic_Battery", "inputs": [ - { "itemId": "Sulfur", "quantity": 6 }, - { "itemId": "Alclad_Aluminum_Sheet", "quantity": 7 }, - { "itemId": "Plastic", "quantity": 8 }, - { "itemId": "Wire", "quantity": 12 } + { "itemId": 39, "quantity": 6 }, + { "itemId": 87, "quantity": 7 }, + { "itemId": 65, "quantity": 8 }, + { "itemId": 7, "quantity": 12 } ], - "outputs": [{ "itemId": "Battery", "quantity": 4 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 99, "quantity": 4 }], + "producedInId": 3, "productionDuration": 8 }, { - "id": "Radio_Control_Unit", + "id": 194, + "key": "Radio_Control_Unit", "inputs": [ - { "itemId": "Aluminum_Casing", "quantity": 32 }, - { "itemId": "Crystal_Oscillator", "quantity": 1 }, - { "itemId": "Computer", "quantity": 2 } + { "itemId": 89, "quantity": 32 }, + { "itemId": 45, "quantity": 1 }, + { "itemId": 79, "quantity": 2 } ], - "outputs": [{ "itemId": "Radio_Control_Unit", "quantity": 2 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 100, "quantity": 2 }], + "producedInId": 3, "productionDuration": 48 }, { - "id": "Radio_Control_System", + "id": 195, + "key": "Radio_Control_System", "inputs": [ - { "itemId": "Crystal_Oscillator", "quantity": 1 }, - { "itemId": "Circuit_Board", "quantity": 10 }, - { "itemId": "Aluminum_Casing", "quantity": 60 }, - { "itemId": "Rubber", "quantity": 30 } + { "itemId": 45, "quantity": 1 }, + { "itemId": 64, "quantity": 10 }, + { "itemId": 89, "quantity": 60 }, + { "itemId": 68, "quantity": 30 } ], - "outputs": [{ "itemId": "Radio_Control_Unit", "quantity": 3 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 100, "quantity": 3 }], + "producedInId": 3, "productionDuration": 40 }, { - "id": "Radio_Connection_Unit", + "id": 196, + "key": "Radio_Connection_Unit", "inputs": [ - { "itemId": "Heat_Sink", "quantity": 4 }, - { "itemId": "High-Speed_Connector", "quantity": 2 }, - { "itemId": "Quartz_Crystal", "quantity": 12 } + { "itemId": 106, "quantity": 4 }, + { "itemId": 71, "quantity": 2 }, + { "itemId": 44, "quantity": 12 } ], - "outputs": [{ "itemId": "Radio_Control_Unit", "quantity": 1 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 100, "quantity": 1 }], + "producedInId": 3, "productionDuration": 16 }, { - "id": "Supercomputer", + "id": 197, + "key": "Supercomputer", "inputs": [ - { "itemId": "Computer", "quantity": 4 }, - { "itemId": "AI_Limiter", "quantity": 2 }, - { "itemId": "High-Speed_Connector", "quantity": 3 }, - { "itemId": "Plastic", "quantity": 28 } + { "itemId": 79, "quantity": 4 }, + { "itemId": 61, "quantity": 2 }, + { "itemId": 71, "quantity": 3 }, + { "itemId": 65, "quantity": 28 } ], - "outputs": [{ "itemId": "Supercomputer", "quantity": 1 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 101, "quantity": 1 }], + "producedInId": 3, "productionDuration": 32 }, { - "id": "OC_Supercomputer", + "id": 198, + "key": "OC_Supercomputer", "inputs": [ - { "itemId": "Radio_Control_Unit", "quantity": 2 }, - { "itemId": "Cooling_System", "quantity": 2 } + { "itemId": 100, "quantity": 2 }, + { "itemId": 107, "quantity": 2 } ], - "outputs": [{ "itemId": "Supercomputer", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 101, "quantity": 1 }], + "producedInId": 2, "productionDuration": 20 }, { - "id": "Super-State_Computer", + "id": 199, + "key": "Super-State_Computer", "inputs": [ - { "itemId": "Computer", "quantity": 3 }, - { "itemId": "Electromagnetic_Control_Rod", "quantity": 1 }, - { "itemId": "Battery", "quantity": 10 }, - { "itemId": "Wire", "quantity": 25 } + { "itemId": 79, "quantity": 3 }, + { "itemId": 113, "quantity": 1 }, + { "itemId": 99, "quantity": 10 }, + { "itemId": 7, "quantity": 25 } ], - "outputs": [{ "itemId": "Supercomputer", "quantity": 1 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 101, "quantity": 1 }], + "producedInId": 3, "productionDuration": 25 }, { - "id": "Assembly_Director_System", + "id": 200, + "key": "Assembly_Director_System", "inputs": [ - { "itemId": "Adaptive_Control_Unit", "quantity": 2 }, - { "itemId": "Supercomputer", "quantity": 1 } + { "itemId": 82, "quantity": 2 }, + { "itemId": 101, "quantity": 1 } ], - "outputs": [{ "itemId": "Assembly_Director_System", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 102, "quantity": 1 }], + "producedInId": 2, "productionDuration": 80 }, { - "id": "Empty_Fluid_Tank", - "inputs": [{ "itemId": "Aluminum_Ingot", "quantity": 1 }], - "outputs": [{ "itemId": "Empty_Fluid_Tank", "quantity": 1 }], - "producedIn": "Constructor", + "id": 201, + "key": "Empty_Fluid_Tank", + "inputs": [{ "itemId": 96, "quantity": 1 }], + "outputs": [{ "itemId": 103, "quantity": 1 }], + "producedInId": 1, "productionDuration": 1 }, { - "id": "Unpackage_Nitrogen_Gas", - "inputs": [{ "itemId": "Packaged_Nitrogen_Gas", "quantity": 1 }], + "id": 202, + "key": "Unpackage_Nitrogen_Gas", + "inputs": [{ "itemId": 104, "quantity": 1 }], "outputs": [ - { "itemId": "Nitrogen_Gas", "quantity": 4 }, - { "itemId": "Empty_Fluid_Tank", "quantity": 1 } + { "itemId": 105, "quantity": 4 }, + { "itemId": 103, "quantity": 1 } ], - "producedIn": "Packager", + "producedInId": 4, "productionDuration": 1 }, { - "id": "Unpackage_Nitric_Acid", - "inputs": [{ "itemId": "Packaged_Nitric_Acid", "quantity": 1 }], + "id": 203, + "key": "Unpackage_Nitric_Acid", + "inputs": [{ "itemId": 116, "quantity": 1 }], "outputs": [ - { "itemId": "Nitric_Acid", "quantity": 1 }, - { "itemId": "Empty_Fluid_Tank", "quantity": 1 } + { "itemId": 110, "quantity": 1 }, + { "itemId": 103, "quantity": 1 } ], - "producedIn": "Packager", + "producedInId": 4, "productionDuration": 3 }, { - "id": "Unpackage_Rocket_Fuel", - "inputs": [{ "itemId": "Packaged_Rocket_Fuel", "quantity": 1 }], + "id": 204, + "key": "Unpackage_Rocket_Fuel", + "inputs": [{ "itemId": 140, "quantity": 1 }], "outputs": [ - { "itemId": "Rocket_Fuel", "quantity": 2 }, - { "itemId": "Empty_Fluid_Tank", "quantity": 1 } + { "itemId": 139, "quantity": 2 }, + { "itemId": 103, "quantity": 1 } ], - "producedIn": "Packager", + "producedInId": 4, "productionDuration": 1 }, { - "id": "Unpackage_Ionized_Fuel", - "inputs": [{ "itemId": "Packaged_Ionized_Fuel", "quantity": 2 }], + "id": 205, + "key": "Unpackage_Ionized_Fuel", + "inputs": [{ "itemId": 142, "quantity": 2 }], "outputs": [ - { "itemId": "Ionized_Fuel", "quantity": 4 }, - { "itemId": "Empty_Fluid_Tank", "quantity": 2 } + { "itemId": 141, "quantity": 4 }, + { "itemId": 103, "quantity": 2 } ], - "producedIn": "Packager", + "producedInId": 4, "productionDuration": 3 }, { - "id": "Packaged_Nitrogen_Gas", + "id": 206, + "key": "Packaged_Nitrogen_Gas", "inputs": [ - { "itemId": "Nitrogen_Gas", "quantity": 4 }, - { "itemId": "Empty_Fluid_Tank", "quantity": 1 } + { "itemId": 105, "quantity": 4 }, + { "itemId": 103, "quantity": 1 } ], - "outputs": [{ "itemId": "Packaged_Nitrogen_Gas", "quantity": 1 }], - "producedIn": "Packager", + "outputs": [{ "itemId": 104, "quantity": 1 }], + "producedInId": 4, "productionDuration": 1 }, { - "id": "Nitrogen_Gas_(Bauxite)", + "id": 207, + "key": "Nitrogen_Gas_(Bauxite)", "inputs": [ - { "itemId": "Reanimated_SAM", "quantity": 1 }, - { "itemId": "Bauxite", "quantity": 10 } + { "itemId": 53, "quantity": 1 }, + { "itemId": 93, "quantity": 10 } ], - "outputs": [{ "itemId": "Nitrogen_Gas", "quantity": 12 }], - "producedIn": "Converter", + "outputs": [{ "itemId": 105, "quantity": 12 }], + "producedInId": 8, "productionDuration": 6, "powerUsage": [100, 400] }, { - "id": "Nitrogen_Gas_(Caterium)", + "id": 208, + "key": "Nitrogen_Gas_(Caterium)", "inputs": [ - { "itemId": "Reanimated_SAM", "quantity": 1 }, - { "itemId": "Caterium_Ore", "quantity": 12 } + { "itemId": 53, "quantity": 1 }, + { "itemId": 56, "quantity": 12 } ], - "outputs": [{ "itemId": "Nitrogen_Gas", "quantity": 12 }], - "producedIn": "Converter", + "outputs": [{ "itemId": 105, "quantity": 12 }], + "producedInId": 8, "productionDuration": 6, "powerUsage": [100, 400] }, { - "id": "Heat_Sink", + "id": 209, + "key": "Heat_Sink", "inputs": [ - { "itemId": "Alclad_Aluminum_Sheet", "quantity": 5 }, - { "itemId": "Copper_Sheet", "quantity": 3 } + { "itemId": 87, "quantity": 5 }, + { "itemId": 20, "quantity": 3 } ], - "outputs": [{ "itemId": "Heat_Sink", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 106, "quantity": 1 }], + "producedInId": 2, "productionDuration": 8 }, { - "id": "Heat_Exchanger", + "id": 210, + "key": "Heat_Exchanger", "inputs": [ - { "itemId": "Aluminum_Casing", "quantity": 3 }, - { "itemId": "Rubber", "quantity": 3 } + { "itemId": 89, "quantity": 3 }, + { "itemId": 68, "quantity": 3 } ], - "outputs": [{ "itemId": "Heat_Sink", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 106, "quantity": 1 }], + "producedInId": 2, "productionDuration": 6 }, { - "id": "Cooling_System", + "id": 211, + "key": "Cooling_System", "inputs": [ - { "itemId": "Heat_Sink", "quantity": 2 }, - { "itemId": "Rubber", "quantity": 2 }, - { "itemId": "Water", "quantity": 5 }, - { "itemId": "Nitrogen_Gas", "quantity": 25 } + { "itemId": 106, "quantity": 2 }, + { "itemId": 68, "quantity": 2 }, + { "itemId": 67, "quantity": 5 }, + { "itemId": 105, "quantity": 25 } ], - "outputs": [{ "itemId": "Cooling_System", "quantity": 1 }], - "producedIn": "Blender", + "outputs": [{ "itemId": 107, "quantity": 1 }], + "producedInId": 6, "productionDuration": 10 }, { - "id": "Cooling_Device", + "id": 212, + "key": "Cooling_Device", "inputs": [ - { "itemId": "Heat_Sink", "quantity": 4 }, - { "itemId": "Motor", "quantity": 1 }, - { "itemId": "Nitrogen_Gas", "quantity": 24 } + { "itemId": 106, "quantity": 4 }, + { "itemId": 49, "quantity": 1 }, + { "itemId": 105, "quantity": 24 } ], - "outputs": [{ "itemId": "Cooling_System", "quantity": 2 }], - "producedIn": "Blender", + "outputs": [{ "itemId": 107, "quantity": 2 }], + "producedInId": 6, "productionDuration": 24 }, { - "id": "Fused_Modular_Frame", + "id": 213, + "key": "Fused_Modular_Frame", "inputs": [ - { "itemId": "Heavy_Modular_Frame", "quantity": 1 }, - { "itemId": "Aluminum_Casing", "quantity": 50 }, - { "itemId": "Nitrogen_Gas", "quantity": 25 } + { "itemId": 80, "quantity": 1 }, + { "itemId": 89, "quantity": 50 }, + { "itemId": 105, "quantity": 25 } ], - "outputs": [{ "itemId": "Fused_Modular_Frame", "quantity": 1 }], - "producedIn": "Blender", + "outputs": [{ "itemId": 108, "quantity": 1 }], + "producedInId": 6, "productionDuration": 40 }, { - "id": "Heat-Fused_Frame", + "id": 214, + "key": "Heat-Fused_Frame", "inputs": [ - { "itemId": "Heavy_Modular_Frame", "quantity": 1 }, - { "itemId": "Aluminum_Ingot", "quantity": 50 }, - { "itemId": "Nitric_Acid", "quantity": 8 }, - { "itemId": "Fuel", "quantity": 10 } + { "itemId": 80, "quantity": 1 }, + { "itemId": 96, "quantity": 50 }, + { "itemId": 110, "quantity": 8 }, + { "itemId": 69, "quantity": 10 } ], - "outputs": [{ "itemId": "Fused_Modular_Frame", "quantity": 1 }], - "producedIn": "Blender", + "outputs": [{ "itemId": 108, "quantity": 1 }], + "producedInId": 6, "productionDuration": 20 }, { - "id": "Nitric_Acid", + "id": 215, + "key": "Nitric_Acid", "inputs": [ - { "itemId": "Nitrogen_Gas", "quantity": 12 }, - { "itemId": "Water", "quantity": 3 }, - { "itemId": "Iron_Plate", "quantity": 1 } + { "itemId": 105, "quantity": 12 }, + { "itemId": 67, "quantity": 3 }, + { "itemId": 3, "quantity": 1 } ], - "outputs": [{ "itemId": "Nitric_Acid", "quantity": 3 }], - "producedIn": "Blender", + "outputs": [{ "itemId": 110, "quantity": 3 }], + "producedInId": 6, "productionDuration": 6 }, { - "id": "Infused_Uranium_Cell", + "id": 216, + "key": "Infused_Uranium_Cell", "inputs": [ - { "itemId": "Uranium", "quantity": 5 }, - { "itemId": "Silica", "quantity": 3 }, - { "itemId": "Sulfur", "quantity": 5 }, - { "itemId": "Quickwire", "quantity": 15 } + { "itemId": 112, "quantity": 5 }, + { "itemId": 32, "quantity": 3 }, + { "itemId": 39, "quantity": 5 }, + { "itemId": 59, "quantity": 15 } ], - "outputs": [{ "itemId": "Encased_Uranium_Cell", "quantity": 4 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 111, "quantity": 4 }], + "producedInId": 3, "productionDuration": 12 }, { - "id": "Uranium_Ore_(Bauxite)", + "id": 217, + "key": "Uranium_Ore_(Bauxite)", "inputs": [ - { "itemId": "Reanimated_SAM", "quantity": 1 }, - { "itemId": "Bauxite", "quantity": 48 } + { "itemId": 53, "quantity": 1 }, + { "itemId": 93, "quantity": 48 } ], - "outputs": [{ "itemId": "Uranium", "quantity": 12 }], - "producedIn": "Converter", + "outputs": [{ "itemId": 112, "quantity": 12 }], + "producedInId": 8, "productionDuration": 6, "powerUsage": [100, 400] }, { - "id": "Electromagnetic_Control_Rod", + "id": 218, + "key": "Electromagnetic_Control_Rod", "inputs": [ - { "itemId": "Stator", "quantity": 3 }, - { "itemId": "AI_Limiter", "quantity": 2 } + { "itemId": 48, "quantity": 3 }, + { "itemId": 61, "quantity": 2 } ], - "outputs": [{ "itemId": "Electromagnetic_Control_Rod", "quantity": 2 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 113, "quantity": 2 }], + "producedInId": 2, "productionDuration": 30 }, { - "id": "Electromagnetic_Connection_Rod", + "id": 219, + "key": "Electromagnetic_Connection_Rod", "inputs": [ - { "itemId": "Stator", "quantity": 2 }, - { "itemId": "High-Speed_Connector", "quantity": 1 } + { "itemId": 48, "quantity": 2 }, + { "itemId": 71, "quantity": 1 } ], - "outputs": [{ "itemId": "Electromagnetic_Control_Rod", "quantity": 2 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 113, "quantity": 2 }], + "producedInId": 2, "productionDuration": 15 }, { - "id": "Uranium_Fuel_Rod", + "id": 220, + "key": "Uranium_Fuel_Rod", "inputs": [ - { "itemId": "Encased_Uranium_Cell", "quantity": 50 }, - { "itemId": "Encased_Industrial_Beam", "quantity": 3 }, - { "itemId": "Electromagnetic_Control_Rod", "quantity": 5 } + { "itemId": 111, "quantity": 50 }, + { "itemId": 47, "quantity": 3 }, + { "itemId": 113, "quantity": 5 } ], - "outputs": [{ "itemId": "Uranium_Fuel_Rod", "quantity": 1 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 114, "quantity": 1 }], + "producedInId": 3, "productionDuration": 150 }, { - "id": "Uranium_Fuel_Unit", + "id": 221, + "key": "Uranium_Fuel_Unit", "inputs": [ - { "itemId": "Encased_Uranium_Cell", "quantity": 100 }, - { "itemId": "Electromagnetic_Control_Rod", "quantity": 10 }, - { "itemId": "Crystal_Oscillator", "quantity": 3 }, - { "itemId": "Rotor", "quantity": 10 } + { "itemId": 111, "quantity": 100 }, + { "itemId": 113, "quantity": 10 }, + { "itemId": 45, "quantity": 3 }, + { "itemId": 19, "quantity": 10 } ], - "outputs": [{ "itemId": "Uranium_Fuel_Rod", "quantity": 3 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 114, "quantity": 3 }], + "producedInId": 3, "productionDuration": 300 }, { - "id": "Magnetic_Field_Generator", + "id": 222, + "key": "Magnetic_Field_Generator", "inputs": [ - { "itemId": "Versatile_Framework", "quantity": 5 }, - { "itemId": "Electromagnetic_Control_Rod", "quantity": 5 } + { "itemId": 30, "quantity": 5 }, + { "itemId": 113, "quantity": 5 } ], - "outputs": [{ "itemId": "Magnetic_Field_Generator", "quantity": 2 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 115, "quantity": 2 }], + "producedInId": 2, "productionDuration": 120 }, { - "id": "Packaged_Nitric_Acid", + "id": 223, + "key": "Packaged_Nitric_Acid", "inputs": [ - { "itemId": "Nitric_Acid", "quantity": 1 }, - { "itemId": "Empty_Fluid_Tank", "quantity": 1 } + { "itemId": 110, "quantity": 1 }, + { "itemId": 103, "quantity": 1 } ], - "outputs": [{ "itemId": "Packaged_Nitric_Acid", "quantity": 1 }], - "producedIn": "Packager", + "outputs": [{ "itemId": 116, "quantity": 1 }], + "producedInId": 4, "productionDuration": 2 }, { - "id": "Plutonium_Pellet", + "id": 224, + "key": "Plutonium_Pellet", "inputs": [ - { "itemId": "Non-Fissile_Uranium", "quantity": 100 }, - { "itemId": "Uranium_Waste", "quantity": 25 } + { "itemId": 117, "quantity": 100 }, + { "itemId": 118, "quantity": 25 } ], - "outputs": [{ "itemId": "Plutonium_Pellet", "quantity": 30 }], - "producedIn": "Particle_Accelerator", + "outputs": [{ "itemId": 119, "quantity": 30 }], + "producedInId": 7, "productionDuration": 60, "powerUsage": [250, 750] }, { - "id": "Encased_Plutonium_Cell", + "id": 225, + "key": "Encased_Plutonium_Cell", "inputs": [ - { "itemId": "Plutonium_Pellet", "quantity": 2 }, - { "itemId": "Concrete", "quantity": 4 } + { "itemId": 119, "quantity": 2 }, + { "itemId": 10, "quantity": 4 } ], - "outputs": [{ "itemId": "Encased_Plutonium_Cell", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 120, "quantity": 1 }], + "producedInId": 2, "productionDuration": 12 }, { - "id": "Instant_Plutonium_Cell", + "id": 226, + "key": "Instant_Plutonium_Cell", "inputs": [ - { "itemId": "Non-Fissile_Uranium", "quantity": 150 }, - { "itemId": "Aluminum_Casing", "quantity": 20 } + { "itemId": 117, "quantity": 150 }, + { "itemId": 89, "quantity": 20 } ], - "outputs": [{ "itemId": "Encased_Plutonium_Cell", "quantity": 20 }], - "producedIn": "Particle_Accelerator", + "outputs": [{ "itemId": 120, "quantity": 20 }], + "producedInId": 7, "productionDuration": 120, "powerUsage": [250, 750] }, { - "id": "Plutonium_Fuel_Rod", + "id": 227, + "key": "Plutonium_Fuel_Rod", "inputs": [ - { "itemId": "Encased_Plutonium_Cell", "quantity": 30 }, - { "itemId": "Steel_Beam", "quantity": 18 }, - { "itemId": "Electromagnetic_Control_Rod", "quantity": 6 }, - { "itemId": "Heat_Sink", "quantity": 10 } + { "itemId": 120, "quantity": 30 }, + { "itemId": 28, "quantity": 18 }, + { "itemId": 113, "quantity": 6 }, + { "itemId": 106, "quantity": 10 } ], - "outputs": [{ "itemId": "Plutonium_Fuel_Rod", "quantity": 1 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 121, "quantity": 1 }], + "producedInId": 3, "productionDuration": 240 }, { - "id": "Plutonium_Fuel_Unit", + "id": 228, + "key": "Plutonium_Fuel_Unit", "inputs": [ - { "itemId": "Encased_Plutonium_Cell", "quantity": 20 }, - { "itemId": "Pressure_Conversion_Cube", "quantity": 1 } + { "itemId": 120, "quantity": 20 }, + { "itemId": 124, "quantity": 1 } ], - "outputs": [{ "itemId": "Plutonium_Fuel_Rod", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 121, "quantity": 1 }], + "producedInId": 2, "productionDuration": 120 }, { - "id": "Turbo_Motor", + "id": 229, + "key": "Turbo_Motor", "inputs": [ - { "itemId": "Cooling_System", "quantity": 4 }, - { "itemId": "Radio_Control_Unit", "quantity": 2 }, - { "itemId": "Motor", "quantity": 4 }, - { "itemId": "Rubber", "quantity": 24 } + { "itemId": 107, "quantity": 4 }, + { "itemId": 100, "quantity": 2 }, + { "itemId": 49, "quantity": 4 }, + { "itemId": 68, "quantity": 24 } ], - "outputs": [{ "itemId": "Turbo_Motor", "quantity": 1 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 122, "quantity": 1 }], + "producedInId": 3, "productionDuration": 32 }, { - "id": "Turbo_Electric_Motor", + "id": 230, + "key": "Turbo_Electric_Motor", "inputs": [ - { "itemId": "Motor", "quantity": 7 }, - { "itemId": "Radio_Control_Unit", "quantity": 9 }, - { "itemId": "Electromagnetic_Control_Rod", "quantity": 5 }, - { "itemId": "Rotor", "quantity": 7 } + { "itemId": 49, "quantity": 7 }, + { "itemId": 100, "quantity": 9 }, + { "itemId": 113, "quantity": 5 }, + { "itemId": 19, "quantity": 7 } ], - "outputs": [{ "itemId": "Turbo_Motor", "quantity": 3 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 122, "quantity": 3 }], + "producedInId": 3, "productionDuration": 64 }, { - "id": "Turbo_Pressure_Motor", + "id": 231, + "key": "Turbo_Pressure_Motor", "inputs": [ - { "itemId": "Motor", "quantity": 4 }, - { "itemId": "Pressure_Conversion_Cube", "quantity": 1 }, - { "itemId": "Packaged_Nitrogen_Gas", "quantity": 24 }, - { "itemId": "Stator", "quantity": 8 } + { "itemId": 49, "quantity": 4 }, + { "itemId": 124, "quantity": 1 }, + { "itemId": 104, "quantity": 24 }, + { "itemId": 48, "quantity": 8 } ], - "outputs": [{ "itemId": "Turbo_Motor", "quantity": 2 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 122, "quantity": 2 }], + "producedInId": 3, "productionDuration": 32 }, { - "id": "Copper_Powder", - "inputs": [{ "itemId": "Copper_Ingot", "quantity": 30 }], - "outputs": [{ "itemId": "Copper_Powder", "quantity": 5 }], - "producedIn": "Constructor", + "id": 232, + "key": "Copper_Powder", + "inputs": [{ "itemId": 8, "quantity": 30 }], + "outputs": [{ "itemId": 123, "quantity": 5 }], + "producedInId": 1, "productionDuration": 6 }, { - "id": "Pressure_Conversion_Cube", + "id": 233, + "key": "Pressure_Conversion_Cube", "inputs": [ - { "itemId": "Fused_Modular_Frame", "quantity": 1 }, - { "itemId": "Radio_Control_Unit", "quantity": 2 } + { "itemId": 108, "quantity": 1 }, + { "itemId": 100, "quantity": 2 } ], - "outputs": [{ "itemId": "Pressure_Conversion_Cube", "quantity": 1 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 124, "quantity": 1 }], + "producedInId": 2, "productionDuration": 60 }, { - "id": "Nuclear_Pasta", + "id": 234, + "key": "Nuclear_Pasta", "inputs": [ - { "itemId": "Copper_Powder", "quantity": 200 }, - { "itemId": "Pressure_Conversion_Cube", "quantity": 1 } + { "itemId": 123, "quantity": 200 }, + { "itemId": 124, "quantity": 1 } ], - "outputs": [{ "itemId": "Nuclear_Pasta", "quantity": 1 }], - "producedIn": "Particle_Accelerator", + "outputs": [{ "itemId": 125, "quantity": 1 }], + "producedInId": 7, "productionDuration": 120, "powerUsage": [500, 1500] }, { - "id": "Thermal_Propulsion_Rocket", + "id": 235, + "key": "Thermal_Propulsion_Rocket", "inputs": [ - { "itemId": "Modular_Engine", "quantity": 5 }, - { "itemId": "Turbo_Motor", "quantity": 2 }, - { "itemId": "Cooling_System", "quantity": 6 }, - { "itemId": "Fused_Modular_Frame", "quantity": 2 } + { "itemId": 81, "quantity": 5 }, + { "itemId": 122, "quantity": 2 }, + { "itemId": 107, "quantity": 6 }, + { "itemId": 108, "quantity": 2 } ], - "outputs": [{ "itemId": "Thermal_Propulsion_Rocket", "quantity": 2 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 126, "quantity": 2 }], + "producedInId": 3, "productionDuration": 120 }, { - "id": "Turbo_Blend_Fuel", + "id": 236, + "key": "Turbo_Blend_Fuel", "inputs": [ - { "itemId": "Fuel", "quantity": 2 }, - { "itemId": "Heavy_Oil_Residue", "quantity": 4 }, - { "itemId": "Sulfur", "quantity": 3 }, - { "itemId": "Petroleum_Coke", "quantity": 3 } + { "itemId": 69, "quantity": 2 }, + { "itemId": 63, "quantity": 4 }, + { "itemId": 39, "quantity": 3 }, + { "itemId": 62, "quantity": 3 } ], - "outputs": [{ "itemId": "Turbofuel", "quantity": 6 }], - "producedIn": "Blender", + "outputs": [{ "itemId": 127, "quantity": 6 }], + "producedInId": 6, "productionDuration": 8 }, { - "id": "Turbofuel", + "id": 237, + "key": "Turbofuel", "inputs": [ - { "itemId": "Fuel", "quantity": 6 }, - { "itemId": "Compacted_Coal", "quantity": 4 } + { "itemId": 69, "quantity": 6 }, + { "itemId": 138, "quantity": 4 } ], - "outputs": [{ "itemId": "Turbofuel", "quantity": 5 }], - "producedIn": "Refinery", + "outputs": [{ "itemId": 127, "quantity": 5 }], + "producedInId": 5, "productionDuration": 16 }, { - "id": "Turbo_Heavy_Fuel", + "id": 238, + "key": "Turbo_Heavy_Fuel", "inputs": [ - { "itemId": "Heavy_Oil_Residue", "quantity": 5 }, - { "itemId": "Compacted_Coal", "quantity": 4 } + { "itemId": 63, "quantity": 5 }, + { "itemId": 138, "quantity": 4 } ], - "outputs": [{ "itemId": "Turbofuel", "quantity": 4 }], - "producedIn": "Refinery", + "outputs": [{ "itemId": 127, "quantity": 4 }], + "producedInId": 5, "productionDuration": 8 }, { - "id": "Packaged_Turbofuel", + "id": 239, + "key": "Packaged_Turbofuel", "inputs": [ - { "itemId": "Turbofuel", "quantity": 2 }, - { "itemId": "Empty_Canister", "quantity": 2 } + { "itemId": 127, "quantity": 2 }, + { "itemId": 72, "quantity": 2 } ], - "outputs": [{ "itemId": "Packaged_Turbofuel", "quantity": 2 }], - "producedIn": "Packager", + "outputs": [{ "itemId": 128, "quantity": 2 }], + "producedInId": 4, "productionDuration": 6 }, { - "id": "Ficsite_Ingot_(Iron)", + "id": 240, + "key": "Ficsite_Ingot_(Iron)", "inputs": [ - { "itemId": "Reanimated_SAM", "quantity": 4 }, - { "itemId": "Iron_Ingot", "quantity": 24 } + { "itemId": 53, "quantity": 4 }, + { "itemId": 1, "quantity": 24 } ], - "outputs": [{ "itemId": "Ficsite_Ingot", "quantity": 1 }], - "producedIn": "Converter", + "outputs": [{ "itemId": 129, "quantity": 1 }], + "producedInId": 8, "productionDuration": 6, "powerUsage": [100, 400] }, { - "id": "Ficsite_Ingot_(Aluminum)", + "id": 241, + "key": "Ficsite_Ingot_(Aluminum)", "inputs": [ - { "itemId": "Reanimated_SAM", "quantity": 2 }, - { "itemId": "Aluminum_Ingot", "quantity": 4 } + { "itemId": 53, "quantity": 2 }, + { "itemId": 96, "quantity": 4 } ], - "outputs": [{ "itemId": "Ficsite_Ingot", "quantity": 1 }], - "producedIn": "Converter", + "outputs": [{ "itemId": 129, "quantity": 1 }], + "producedInId": 8, "productionDuration": 2, "powerUsage": [100, 400] }, { - "id": "Ficsite_Ingot_(Caterium)", + "id": 242, + "key": "Ficsite_Ingot_(Caterium)", "inputs": [ - { "itemId": "Reanimated_SAM", "quantity": 3 }, - { "itemId": "Caterium_Ingot", "quantity": 4 } + { "itemId": 53, "quantity": 3 }, + { "itemId": 55, "quantity": 4 } ], - "outputs": [{ "itemId": "Ficsite_Ingot", "quantity": 1 }], - "producedIn": "Converter", + "outputs": [{ "itemId": 129, "quantity": 1 }], + "producedInId": 8, "productionDuration": 4, "powerUsage": [100, 400] }, { - "id": "Ficsite_Trigon", - "inputs": [{ "itemId": "Ficsite_Ingot", "quantity": 1 }], - "outputs": [{ "itemId": "Ficsite_Trigon", "quantity": 3 }], - "producedIn": "Constructor", + "id": 243, + "key": "Ficsite_Trigon", + "inputs": [{ "itemId": 129, "quantity": 1 }], + "outputs": [{ "itemId": 130, "quantity": 3 }], + "producedInId": 1, "productionDuration": 6 }, { - "id": "Diamonds", - "inputs": [{ "itemId": "Coal", "quantity": 20 }], - "outputs": [{ "itemId": "Diamonds", "quantity": 1 }], - "producedIn": "Particle_Accelerator", + "id": 244, + "key": "Diamonds", + "inputs": [{ "itemId": 27, "quantity": 20 }], + "outputs": [{ "itemId": 131, "quantity": 1 }], + "producedInId": 7, "productionDuration": 2, "powerUsage": [250, 750] }, { - "id": "Oil-Based_Diamonds", - "inputs": [{ "itemId": "Crude_Oil", "quantity": 10 }], - "outputs": [{ "itemId": "Diamonds", "quantity": 2 }], - "producedIn": "Particle_Accelerator", + "id": 245, + "key": "Oil-Based_Diamonds", + "inputs": [{ "itemId": 70, "quantity": 10 }], + "outputs": [{ "itemId": 131, "quantity": 2 }], + "producedInId": 7, "productionDuration": 3, "powerUsage": [250, 750] }, { - "id": "Pink_Diamonds", + "id": 246, + "key": "Pink_Diamonds", "inputs": [ - { "itemId": "Coal", "quantity": 8 }, - { "itemId": "Quartz_Crystal", "quantity": 3 } + { "itemId": 27, "quantity": 8 }, + { "itemId": 44, "quantity": 3 } ], - "outputs": [{ "itemId": "Diamonds", "quantity": 1 }], - "producedIn": "Converter", + "outputs": [{ "itemId": 131, "quantity": 1 }], + "producedInId": 8, "productionDuration": 4, "powerUsage": [100, 400] }, { - "id": "Cloudy_Diamonds", + "id": 247, + "key": "Cloudy_Diamonds", "inputs": [ - { "itemId": "Coal", "quantity": 12 }, - { "itemId": "Limestone", "quantity": 24 } + { "itemId": 27, "quantity": 12 }, + { "itemId": 11, "quantity": 24 } ], - "outputs": [{ "itemId": "Diamonds", "quantity": 1 }], - "producedIn": "Particle_Accelerator", + "outputs": [{ "itemId": 131, "quantity": 1 }], + "producedInId": 7, "productionDuration": 3, "powerUsage": [250, 750] }, { - "id": "Turbo_Diamonds", + "id": 248, + "key": "Turbo_Diamonds", "inputs": [ - { "itemId": "Coal", "quantity": 30 }, - { "itemId": "Packaged_Turbofuel", "quantity": 2 } + { "itemId": 27, "quantity": 30 }, + { "itemId": 128, "quantity": 2 } ], - "outputs": [{ "itemId": "Diamonds", "quantity": 3 }], - "producedIn": "Particle_Accelerator", + "outputs": [{ "itemId": 131, "quantity": 3 }], + "producedInId": 7, "productionDuration": 3, "powerUsage": [250, 750] }, { - "id": "Petroleum_Diamonds", - "inputs": [{ "itemId": "Petroleum_Coke", "quantity": 24 }], - "outputs": [{ "itemId": "Diamonds", "quantity": 1 }], - "producedIn": "Particle_Accelerator", + "id": 249, + "key": "Petroleum_Diamonds", + "inputs": [{ "itemId": 62, "quantity": 24 }], + "outputs": [{ "itemId": 131, "quantity": 1 }], + "producedInId": 7, "productionDuration": 2, "powerUsage": [250, 750] }, { - "id": "Time_Crystal", - "inputs": [{ "itemId": "Diamonds", "quantity": 2 }], - "outputs": [{ "itemId": "Time_Crystal", "quantity": 1 }], - "producedIn": "Converter", + "id": 250, + "key": "Time_Crystal", + "inputs": [{ "itemId": 131, "quantity": 2 }], + "outputs": [{ "itemId": 132, "quantity": 1 }], + "producedInId": 8, "productionDuration": 10, "powerUsage": [100, 400] }, { - "id": "Biochemical_Sculptor", + "id": 251, + "key": "Biochemical_Sculptor", "inputs": [ - { "itemId": "Assembly_Director_System", "quantity": 1 }, - { "itemId": "Ficsite_Trigon", "quantity": 80 }, - { "itemId": "Water", "quantity": 20 } + { "itemId": 102, "quantity": 1 }, + { "itemId": 130, "quantity": 80 }, + { "itemId": 67, "quantity": 20 } ], - "outputs": [{ "itemId": "Biochemical_Sculptor", "quantity": 4 }], - "producedIn": "Blender", + "outputs": [{ "itemId": 133, "quantity": 4 }], + "producedInId": 6, "productionDuration": 120 }, { - "id": "Dark_Matter_Residue", - "inputs": [{ "itemId": "Reanimated_SAM", "quantity": 5 }], - "outputs": [{ "itemId": "Dark_Matter_Residue", "quantity": 10 }], - "producedIn": "Converter", + "id": 252, + "key": "Dark_Matter_Residue", + "inputs": [{ "itemId": 53, "quantity": 5 }], + "outputs": [{ "itemId": 134, "quantity": 10 }], + "producedInId": 8, "productionDuration": 6, "powerUsage": [100, 400] }, { - "id": "Superposition_Oscillator", + "id": 253, + "key": "Superposition_Oscillator", "inputs": [ - { "itemId": "Dark_Matter_Crystal", "quantity": 6 }, - { "itemId": "Crystal_Oscillator", "quantity": 1 }, - { "itemId": "Alclad_Aluminum_Sheet", "quantity": 9 }, - { "itemId": "Excited_Photonic_Matter", "quantity": 25 } + { "itemId": 135, "quantity": 6 }, + { "itemId": 45, "quantity": 1 }, + { "itemId": 87, "quantity": 9 }, + { "itemId": 136, "quantity": 25 } ], "outputs": [ - { "itemId": "Superposition_Oscillator", "quantity": 1 }, - { "itemId": "Dark_Matter_Residue", "quantity": 25 } + { "itemId": 144, "quantity": 1 }, + { "itemId": 134, "quantity": 25 } ], - "producedIn": "Quantum_Encoder", + "producedInId": 9, "productionDuration": 12, "powerUsage": [0, 2000] }, { - "id": "Neural-Quantum_Processor", + "id": 254, + "key": "Neural-Quantum_Processor", "inputs": [ - { "itemId": "Time_Crystal", "quantity": 5 }, - { "itemId": "Supercomputer", "quantity": 1 }, - { "itemId": "Ficsite_Trigon", "quantity": 15 }, - { "itemId": "Excited_Photonic_Matter", "quantity": 25 } + { "itemId": 132, "quantity": 5 }, + { "itemId": 101, "quantity": 1 }, + { "itemId": 130, "quantity": 15 }, + { "itemId": 136, "quantity": 25 } ], "outputs": [ - { "itemId": "Neural-Quantum_Processor", "quantity": 1 }, - { "itemId": "Dark_Matter_Residue", "quantity": 25 } + { "itemId": 145, "quantity": 1 }, + { "itemId": 134, "quantity": 25 } ], - "producedIn": "Quantum_Encoder", + "producedInId": 9, "productionDuration": 20, "powerUsage": [0, 2000] }, { - "id": "AI_Expansion_Server", + "id": 255, + "key": "AI_Expansion_Server", "inputs": [ - { "itemId": "Magnetic_Field_Generator", "quantity": 1 }, - { "itemId": "Neural-Quantum_Processor", "quantity": 1 }, - { "itemId": "Superposition_Oscillator", "quantity": 1 }, - { "itemId": "Excited_Photonic_Matter", "quantity": 25 } + { "itemId": 115, "quantity": 1 }, + { "itemId": 145, "quantity": 1 }, + { "itemId": 144, "quantity": 1 }, + { "itemId": 136, "quantity": 25 } ], "outputs": [ - { "itemId": "AI_Expansion_Server", "quantity": 1 }, - { "itemId": "Dark_Matter_Residue", "quantity": 25 } + { "itemId": 146, "quantity": 1 }, + { "itemId": 134, "quantity": 25 } ], - "producedIn": "Quantum_Encoder", + "producedInId": 9, "productionDuration": 15, "powerUsage": [0, 2000] }, { - "id": "Ficsonium_Fuel_Rod", + "id": 256, + "key": "Ficsonium_Fuel_Rod", "inputs": [ - { "itemId": "Ficsonium", "quantity": 2 }, - { "itemId": "Electromagnetic_Control_Rod", "quantity": 2 }, - { "itemId": "Ficsite_Trigon", "quantity": 40 }, - { "itemId": "Excited_Photonic_Matter", "quantity": 20 } + { "itemId": 148, "quantity": 2 }, + { "itemId": 113, "quantity": 2 }, + { "itemId": 130, "quantity": 40 }, + { "itemId": 136, "quantity": 20 } ], "outputs": [ - { "itemId": "Ficsonium_Fuel_Rod", "quantity": 1 }, - { "itemId": "Dark_Matter_Residue", "quantity": 20 } + { "itemId": 151, "quantity": 1 }, + { "itemId": 134, "quantity": 20 } ], - "producedIn": "Quantum_Encoder", + "producedInId": 9, "productionDuration": 24, "powerUsage": [0, 2000] }, { - "id": "Alien_Power_Matrix", + "id": 257, + "key": "Alien_Power_Matrix", "inputs": [ - { "itemId": "SAM_Fluctuator", "quantity": 5 }, - { "itemId": "Power_Shard", "quantity": 3 }, - { "itemId": "Superposition_Oscillator", "quantity": 3 }, - { "itemId": "Excited_Photonic_Matter", "quantity": 24 } + { "itemId": 57, "quantity": 5 }, + { "itemId": 23, "quantity": 3 }, + { "itemId": 144, "quantity": 3 }, + { "itemId": 136, "quantity": 24 } ], "outputs": [ - { "itemId": "Alien_Power_Matrix", "quantity": 1 }, - { "itemId": "Dark_Matter_Residue", "quantity": 24 } + { "itemId": 153, "quantity": 1 }, + { "itemId": 134, "quantity": 24 } ], - "producedIn": "Quantum_Encoder", + "producedInId": 9, "productionDuration": 24, "powerUsage": [0, 2000] }, { - "id": "Dark_Matter_Crystal", + "id": 258, + "key": "Dark_Matter_Crystal", "inputs": [ - { "itemId": "Diamonds", "quantity": 1 }, - { "itemId": "Dark_Matter_Residue", "quantity": 5 } + { "itemId": 131, "quantity": 1 }, + { "itemId": 134, "quantity": 5 } ], - "outputs": [{ "itemId": "Dark_Matter_Crystal", "quantity": 1 }], - "producedIn": "Particle_Accelerator", + "outputs": [{ "itemId": 135, "quantity": 1 }], + "producedInId": 7, "productionDuration": 2, "powerUsage": [500, 1500] }, { - "id": "Dark_Matter_Trap", + "id": 259, + "key": "Dark_Matter_Trap", "inputs": [ - { "itemId": "Time_Crystal", "quantity": 1 }, - { "itemId": "Dark_Matter_Residue", "quantity": 5 } + { "itemId": 132, "quantity": 1 }, + { "itemId": 134, "quantity": 5 } ], - "outputs": [{ "itemId": "Dark_Matter_Crystal", "quantity": 2 }], - "producedIn": "Particle_Accelerator", + "outputs": [{ "itemId": 135, "quantity": 2 }], + "producedInId": 7, "productionDuration": 2, "powerUsage": [500, 1500] }, { - "id": "Dark_Matter_Crystallization", - "inputs": [{ "itemId": "Dark_Matter_Residue", "quantity": 10 }], - "outputs": [{ "itemId": "Dark_Matter_Crystal", "quantity": 1 }], - "producedIn": "Particle_Accelerator", + "id": 260, + "key": "Dark_Matter_Crystallization", + "inputs": [{ "itemId": 134, "quantity": 10 }], + "outputs": [{ "itemId": 135, "quantity": 1 }], + "producedInId": 7, "productionDuration": 3, "powerUsage": [500, 1500] }, { - "id": "Excited_Photonic_Matter", + "id": 261, + "key": "Excited_Photonic_Matter", "inputs": [], - "outputs": [{ "itemId": "Excited_Photonic_Matter", "quantity": 10 }], - "producedIn": "Converter", + "outputs": [{ "itemId": 136, "quantity": 10 }], + "producedInId": 8, "productionDuration": 3, "powerUsage": [100, 400] }, { - "id": "Explosive_Rebar", + "id": 262, + "key": "Explosive_Rebar", "inputs": [ - { "itemId": "Iron_Rebar", "quantity": 2 }, - { "itemId": "Smokeless_Powder", "quantity": 2 }, - { "itemId": "Steel_Pipe", "quantity": 2 } + { "itemId": 41, "quantity": 2 }, + { "itemId": 83, "quantity": 2 }, + { "itemId": 29, "quantity": 2 } ], - "outputs": [{ "itemId": "Explosive_Rebar", "quantity": 1 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 137, "quantity": 1 }], + "producedInId": 3, "productionDuration": 12 }, { - "id": "Compacted_Coal", + "id": 263, + "key": "Compacted_Coal", "inputs": [ - { "itemId": "Coal", "quantity": 5 }, - { "itemId": "Sulfur", "quantity": 5 } + { "itemId": 27, "quantity": 5 }, + { "itemId": 39, "quantity": 5 } ], - "outputs": [{ "itemId": "Compacted_Coal", "quantity": 5 }], - "producedIn": "Assembler", + "outputs": [{ "itemId": 138, "quantity": 5 }], + "producedInId": 2, "productionDuration": 12 }, { - "id": "Rocket_Fuel", + "id": 264, + "key": "Rocket_Fuel", "inputs": [ - { "itemId": "Turbofuel", "quantity": 6 }, - { "itemId": "Nitric_Acid", "quantity": 1 } + { "itemId": 127, "quantity": 6 }, + { "itemId": 110, "quantity": 1 } ], "outputs": [ - { "itemId": "Rocket_Fuel", "quantity": 10 }, - { "itemId": "Compacted_Coal", "quantity": 1 } + { "itemId": 139, "quantity": 10 }, + { "itemId": 138, "quantity": 1 } ], - "producedIn": "Blender", + "producedInId": 6, "productionDuration": 6 }, { - "id": "Ionized_Fuel", + "id": 265, + "key": "Ionized_Fuel", "inputs": [ - { "itemId": "Rocket_Fuel", "quantity": 16 }, - { "itemId": "Power_Shard", "quantity": 1 } + { "itemId": 139, "quantity": 16 }, + { "itemId": 23, "quantity": 1 } ], "outputs": [ - { "itemId": "Ionized_Fuel", "quantity": 16 }, - { "itemId": "Compacted_Coal", "quantity": 2 } + { "itemId": 141, "quantity": 16 }, + { "itemId": 138, "quantity": 2 } ], - "producedIn": "Refinery", + "producedInId": 5, "productionDuration": 24 }, { - "id": "Dark-Ion_Fuel", + "id": 266, + "key": "Dark-Ion_Fuel", "inputs": [ - { "itemId": "Packaged_Rocket_Fuel", "quantity": 12 }, - { "itemId": "Dark_Matter_Crystal", "quantity": 4 } + { "itemId": 140, "quantity": 12 }, + { "itemId": 135, "quantity": 4 } ], "outputs": [ - { "itemId": "Ionized_Fuel", "quantity": 10 }, - { "itemId": "Compacted_Coal", "quantity": 2 } + { "itemId": 141, "quantity": 10 }, + { "itemId": 138, "quantity": 2 } ], - "producedIn": "Converter", + "producedInId": 8, "productionDuration": 3, "powerUsage": [100, 400] }, { - "id": "Nitro_Rocket_Fuel", + "id": 267, + "key": "Nitro_Rocket_Fuel", "inputs": [ - { "itemId": "Fuel", "quantity": 4 }, - { "itemId": "Nitrogen_Gas", "quantity": 3 }, - { "itemId": "Sulfur", "quantity": 4 }, - { "itemId": "Coal", "quantity": 2 } + { "itemId": 69, "quantity": 4 }, + { "itemId": 105, "quantity": 3 }, + { "itemId": 39, "quantity": 4 }, + { "itemId": 27, "quantity": 2 } ], "outputs": [ - { "itemId": "Rocket_Fuel", "quantity": 6 }, - { "itemId": "Compacted_Coal", "quantity": 1 } + { "itemId": 139, "quantity": 6 }, + { "itemId": 138, "quantity": 1 } ], - "producedIn": "Blender", + "producedInId": 6, "productionDuration": 2.4 }, { - "id": "Packaged_Rocket_Fuel", + "id": 268, + "key": "Packaged_Rocket_Fuel", "inputs": [ - { "itemId": "Rocket_Fuel", "quantity": 2 }, - { "itemId": "Empty_Fluid_Tank", "quantity": 1 } + { "itemId": 139, "quantity": 2 }, + { "itemId": 103, "quantity": 1 } ], - "outputs": [{ "itemId": "Packaged_Rocket_Fuel", "quantity": 1 }], - "producedIn": "Packager", + "outputs": [{ "itemId": 140, "quantity": 1 }], + "producedInId": 4, "productionDuration": 1 }, { - "id": "Packaged_Ionized_Fuel", + "id": 269, + "key": "Packaged_Ionized_Fuel", "inputs": [ - { "itemId": "Ionized_Fuel", "quantity": 4 }, - { "itemId": "Empty_Fluid_Tank", "quantity": 2 } + { "itemId": 141, "quantity": 4 }, + { "itemId": 103, "quantity": 2 } ], - "outputs": [{ "itemId": "Packaged_Ionized_Fuel", "quantity": 2 }], - "producedIn": "Packager", + "outputs": [{ "itemId": 142, "quantity": 2 }], + "producedInId": 4, "productionDuration": 3 }, { - "id": "Turbo_Rifle_Ammo", + "id": 270, + "key": "Turbo_Rifle_Ammo", "inputs": [ - { "itemId": "Rifle_Ammo", "quantity": 25 }, - { "itemId": "Aluminum_Casing", "quantity": 3 }, - { "itemId": "Turbofuel", "quantity": 3 } + { "itemId": 86, "quantity": 25 }, + { "itemId": 89, "quantity": 3 }, + { "itemId": 127, "quantity": 3 } ], - "outputs": [{ "itemId": "Turbo_Rifle_Ammo", "quantity": 50 }], - "producedIn": "Blender", + "outputs": [{ "itemId": 143, "quantity": 50 }], + "producedInId": 6, "productionDuration": 12 }, { - "id": "Turbo_Rifle_Ammo_2", + "id": 271, + "key": "Turbo_Rifle_Ammo", "inputs": [ - { "itemId": "Rifle_Ammo", "quantity": 25 }, - { "itemId": "Aluminum_Casing", "quantity": 3 }, - { "itemId": "Packaged_Turbofuel", "quantity": 3 } + { "itemId": 86, "quantity": 25 }, + { "itemId": 89, "quantity": 3 }, + { "itemId": 128, "quantity": 3 } ], - "outputs": [{ "itemId": "Turbo_Rifle_Ammo", "quantity": 50 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 143, "quantity": 50 }], + "producedInId": 3, "productionDuration": 12 }, { - "id": "Nuke_Nobelisk", + "id": 272, + "key": "Nuke_Nobelisk", "inputs": [ - { "itemId": "Nobelisk", "quantity": 5 }, - { "itemId": "Encased_Uranium_Cell", "quantity": 20 }, - { "itemId": "Smokeless_Powder", "quantity": 10 }, - { "itemId": "AI_Limiter", "quantity": 6 } + { "itemId": 43, "quantity": 5 }, + { "itemId": 111, "quantity": 20 }, + { "itemId": 83, "quantity": 10 }, + { "itemId": 61, "quantity": 6 } ], - "outputs": [{ "itemId": "Nuke_Nobelisk", "quantity": 1 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 147, "quantity": 1 }], + "producedInId": 3, "productionDuration": 120 }, { - "id": "Ficsonium", + "id": 273, + "key": "Ficsonium", "inputs": [ - { "itemId": "Plutonium_Waste", "quantity": 1 }, - { "itemId": "Singularity_Cell", "quantity": 1 }, - { "itemId": "Dark_Matter_Residue", "quantity": 20 } + { "itemId": 149, "quantity": 1 }, + { "itemId": 150, "quantity": 1 }, + { "itemId": 134, "quantity": 20 } ], - "outputs": [{ "itemId": "Ficsonium", "quantity": 1 }], - "producedIn": "Particle_Accelerator", + "outputs": [{ "itemId": 148, "quantity": 1 }], + "producedInId": 7, "productionDuration": 6, "powerUsage": [500, 1500] }, { - "id": "Singularity_Cell", + "id": 274, + "key": "Singularity_Cell", "inputs": [ - { "itemId": "Nuclear_Pasta", "quantity": 1 }, - { "itemId": "Dark_Matter_Crystal", "quantity": 20 }, - { "itemId": "Iron_Plate", "quantity": 100 }, - { "itemId": "Concrete", "quantity": 200 } + { "itemId": 125, "quantity": 1 }, + { "itemId": 135, "quantity": 20 }, + { "itemId": 3, "quantity": 100 }, + { "itemId": 10, "quantity": 200 } ], - "outputs": [{ "itemId": "Singularity_Cell", "quantity": 10 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 150, "quantity": 10 }], + "producedInId": 3, "productionDuration": 60 }, { - "id": "Ballistic_Warp_Drive", + "id": 275, + "key": "Ballistic_Warp_Drive", "inputs": [ - { "itemId": "Thermal_Propulsion_Rocket", "quantity": 1 }, - { "itemId": "Singularity_Cell", "quantity": 5 }, - { "itemId": "Superposition_Oscillator", "quantity": 2 }, - { "itemId": "Dark_Matter_Crystal", "quantity": 40 } + { "itemId": 126, "quantity": 1 }, + { "itemId": 150, "quantity": 5 }, + { "itemId": 144, "quantity": 2 }, + { "itemId": 135, "quantity": 40 } ], - "outputs": [{ "itemId": "Ballistic_Warp_Drive", "quantity": 1 }], - "producedIn": "Manufacturer", + "outputs": [{ "itemId": 152, "quantity": 1 }], + "producedInId": 3, "productionDuration": 60 } ] diff --git a/src/layouts/Layout.tsx b/src/layouts/Layout.tsx index a246186..72a6e08 100644 --- a/src/layouts/Layout.tsx +++ b/src/layouts/Layout.tsx @@ -1,4 +1,4 @@ -import { defineComponent, watchEffect } from 'vue' +import { defineComponent } from 'vue' import { RouterView } from 'vue-router' import { useI18n } from 'vue-i18n' import { useColorMode } from '@vueuse/core' @@ -16,10 +16,6 @@ export default defineComponent({ setup() { const { t, locale } = useI18n() - watchEffect(() => { - localStorage.setItem('locale', locale.value) - }) - const colorMode = useColorMode() return () => ( diff --git a/src/main.ts b/src/main.ts index bf90d14..fb4f3dc 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,6 +1,7 @@ import { createApp } from 'vue' import { createPinia } from 'pinia' import { createI18n } from 'vue-i18n' +import { useLocalStorage } from '@vueuse/core' import messages from '@intlify/unplugin-vue-i18n/messages' @@ -10,7 +11,7 @@ import router from './router' import 'virtual:uno.css' const i18n = createI18n({ - locale: localStorage.getItem('locale') ?? 'zh-CN', + locale: useLocalStorage('locale', 'zh-CN').value, fallbackLocale: 'zh-CN', messages, }) diff --git a/src/store.ts b/src/store.ts deleted file mode 100644 index baf544d..0000000 --- a/src/store.ts +++ /dev/null @@ -1,128 +0,0 @@ -import { ref, watchEffect } from 'vue' - -import type { Id, ModuleFactory } from '@/types' -import { nanoid } from 'nanoid' - -const moduleFactoryListKey = 'factory-list' - -function readModuleFactoryList(): ModuleFactory[] { - const moduleFactoryList = localStorage.getItem(moduleFactoryListKey) - if (moduleFactoryList) { - return JSON.parse(moduleFactoryList) - } - return [] -} - -function saveModuleFactoryList(moduleFactoryList: ModuleFactory[]) { - localStorage.setItem(moduleFactoryListKey, JSON.stringify(moduleFactoryList)) -} - -export const moduleFactoryList = ref(readModuleFactoryList()) - -watchEffect(() => { - saveModuleFactoryList(moduleFactoryList.value) - console.log(moduleFactoryList.value) -}) - -/** - * 创建模块工厂 - * @returns 模块工厂ID - */ -export function newModuleFactory(): Id { - const id = nanoid() - moduleFactoryList.value.unshift({ - id, - name: `Factory_${id.slice(0, 5)}`, - remark: '', - data: [], - }) - return id -} - -/** - * 删除模块工厂 - * @param moduleFactoryId 模块工厂ID - */ -export function removeModuleFactory(moduleFactoryId: Id) { - moduleFactoryList.value = moduleFactoryList.value.filter( - ({ id }) => id !== moduleFactoryId, - ) -} - -/** - * 删除全部模块工厂 - */ -export function removeModuleFactoryAll() { - moduleFactoryList.value = [] -} - -/** - * 获取模块工厂 - * @param moduleFactoryId 模块工厂ID - * @returns {ModuleFactory} 模块工厂对象 - * @throws {Error} 模块工厂不存在 - */ -export function getModuleFactory(moduleFactoryId: Id): ModuleFactory { - const moduleFactory = moduleFactoryList.value.find( - ({ id }) => id === moduleFactoryId, - ) - if (!moduleFactory) { - throw new Error(`模块工厂不存在: ${moduleFactoryId}`) - } - return moduleFactory -} - -/** - * 根据流水线获取模块工厂 - * @param assemblyLineId 流水线ID - * @returns {ModuleFactory} 模块工厂对象 - * @throws {Error} 流水线不存在 - */ -export function getModuleFactoryByAssemblyLineId( - assemblyLineId: Id, -): ModuleFactory { - const moduleFactory = moduleFactoryList.value.find(({ data }) => - data.some(({ id }) => id === assemblyLineId), - ) - if (!moduleFactory) { - throw new Error(`流水线不存在: ${assemblyLineId}`) - } - return moduleFactory -} - -/** - * 创建流水线 - * @param moduleFactoryId 模块工厂ID - * @returns 流水线ID - */ -export function newAssemblyLine(moduleFactoryId: Id): Id { - const moduleFactory = getModuleFactory(moduleFactoryId) - const id = nanoid() - moduleFactory.data.unshift({ - id: nanoid(), - outputItemId: null, - outputsPerMinute: null, - recipeId: null, - }) - return id -} - -/** - * 删除流水线 - * 如果指定了模块工厂ID,则从该模块工厂删除流水线,否则根据流水线ID自动查找并删除 - * @param assemblyLineId 流水线ID - * @param moduleFactoryId 可选的模块工厂ID - */ -export function removeAssemblyLine(assemblyLineId: Id, moduleFactoryId?: Id) { - let moduleFactory: ModuleFactory - - if (moduleFactoryId) { - moduleFactory = getModuleFactory(assemblyLineId) - } else { - moduleFactory = getModuleFactoryByAssemblyLineId(assemblyLineId) - } - - moduleFactory.data = moduleFactory.data.filter( - ({ id }) => id !== assemblyLineId, - ) -} diff --git a/src/stores/modularFactoryList.ts b/src/stores/modularFactoryList.ts new file mode 100644 index 0000000..b953170 --- /dev/null +++ b/src/stores/modularFactoryList.ts @@ -0,0 +1,111 @@ +import { ref } from 'vue' +import { defineStore } from 'pinia' +import { syncRef, useLocalStorage } from '@vueuse/core' + +import type { AssemblyLine, Id, ModularFactory } from '@/types' + +export const useModularFactoryList = defineStore('modularFactoryList', () => { + const _data = useLocalStorage('modular-factory-list', [], { + listenToStorageChanges: false, + }) + const data = ref(_data.value) + syncRef(data, _data, { + direction: 'ltr', + }) + + const modularFactoryMap = new Map() + const assemblyLineMap = new Map() + + data.value.forEach((modularFactory) => { + modularFactoryMap.set(modularFactory.id, modularFactory) + modularFactory.data.forEach((assemblyLine) => { + assemblyLineMap.set(assemblyLine.id, assemblyLine) + }) + }) + + // 自增ID + let currentId: Id = Math.max( + 0, + ...data.value.map(({ id, data }) => { + return Math.max(id, ...data.map(({ id }) => id)) + }), + ) + const generateId = () => { + return ++currentId + } + + const newModularFactory = (): Id => { + const id = generateId() + const modularFactory: ModularFactory = { + id, + name: `Factory_${id}`, + remark: '', + data: [], + } + data.value.unshift(modularFactory) + modularFactoryMap.set(id, modularFactory) + return id + } + + const deleteModularFactory = (modularFactoryId: Id) => { + const modularFactory = getModularFactory(modularFactoryId) + modularFactory.data.forEach(({ id }) => { + deleteAssemblyLine(modularFactoryId, id) + }) + data.value = data.value.filter(({ id }) => id !== modularFactoryId) + modularFactoryMap.delete(modularFactoryId) + } + + const getModularFactory = (modularFactoryId: Id): ModularFactory => { + if (modularFactoryMap.has(modularFactoryId)) { + return modularFactoryMap.get(modularFactoryId)! + } + throw new Error(`工厂不存在: ${modularFactoryId}`) + } + + const newAssemblyLine = (modularFactoryId: Id): Id => { + const modularFactory = getModularFactory(modularFactoryId) + const id = generateId() + const assemblyLine: AssemblyLine = { + id, + targetItemId: null, + targetItemSpeed: null, + recipeId: null, + } + modularFactory.data.unshift(assemblyLine) + assemblyLineMap.set(id, assemblyLine) + return id + } + + const deleteAssemblyLine = (modularFactoryId: Id, assemblyLineId: Id) => { + const modularFactory = getModularFactory(modularFactoryId) + modularFactory.data = modularFactory.data.filter( + ({ id }) => id !== assemblyLineId, + ) + assemblyLineMap.delete(assemblyLineId) + } + + const getAssemblyLine = (assemblyLineId: Id) => { + if (assemblyLineMap.has(assemblyLineId)) { + return assemblyLineMap.get(assemblyLineId)! + } + throw new Error(`流水线不存在: ${assemblyLineId}`) + } + + const deleteAll = () => { + data.value.forEach(({ id }) => { + deleteModularFactory(id) + }) + } + + return { + data, + newModularFactory, + deleteModularFactory, + getModularFactory, + newAssemblyLine, + deleteAssemblyLine, + getAssemblyLine, + deleteAll, + } +}) diff --git a/src/types.ts b/src/types.ts index 6af6df1..c18275e 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,23 +1,16 @@ -export type Id = string +export type Id = number export type PowerUsage = number | [number, number] -export interface AssemblyLine { - id: Id - outputItemId: Id | null - outputsPerMinute: number | null - recipeId: Id | null -} - -export interface ModuleFactory { +export interface Building { id: Id - name: string - remark: string - data: AssemblyLine[] + key: string + powerUsage: PowerUsage | 'variable' } export interface Item { id: Id + key: string } export interface ItemQuantity { @@ -25,20 +18,26 @@ export interface ItemQuantity { quantity: number } -export interface RecipeItemQuantity extends ItemQuantity { - quantityPerMinute: number -} - export interface Recipe { id: Id - inputs: RecipeItemQuantity[] - outputs: RecipeItemQuantity[] - producedIn: Id + key: string + inputs: ItemQuantity[] + outputs: ItemQuantity[] + producedInId: Id productionDuration: number - powerUsage?: PowerUsage + powerUsage?: PowerUsage // producedIn.powerUsage === 'variable' 时生效 } -export interface Building { +export interface ModularFactory { id: Id - powerUsage: PowerUsage | 'variable' + name: string + remark: string + data: AssemblyLine[] +} + +export interface AssemblyLine { + id: Id + targetItemId: Id | null + targetItemSpeed: number | null + recipeId: Id | null } diff --git a/src/utils/dataCalculators.ts b/src/utils/dataCalculators.ts new file mode 100644 index 0000000..65f3858 --- /dev/null +++ b/src/utils/dataCalculators.ts @@ -0,0 +1,10 @@ +import { Decimal } from 'decimal.js' + +export const calculatePerMinute = ( + quantity: number, + productionDuration: number, +) => { + return new Decimal(quantity) + .div(new Decimal(productionDuration).div(new Decimal(60))) + .toNumber() +} diff --git a/src/views/HomeView.tsx b/src/views/HomeView.tsx index 4ccee76..c1f1735 100644 --- a/src/views/HomeView.tsx +++ b/src/views/HomeView.tsx @@ -8,24 +8,19 @@ import { type DataTableColumns, } from 'naive-ui' -import ModuleFactoryDrawer, { - type Exposed as ModuleFactoryDrawerExposed, -} from '@/components/ModuleFactoryDrawer' -import type { Id, ModuleFactory } from '@/types' -import { - moduleFactoryList, - newModuleFactory, - removeModuleFactory, - removeModuleFactoryAll, -} from '@/store' +import { useModularFactoryList } from '@/stores/modularFactoryList' +import ModularFactoryDrawer, { + type Exposed as ModularFactoryDrawerExposed, +} from '@/components/ModularFactoryDrawer' +import type { Id, ModularFactory } from '@/types' function createColumns({ - open, - remove, + onEdit, + onDelete, }: { - open: (id: Id) => void - remove: (id: Id) => void -}): DataTableColumns { + onEdit: (id: Id) => void + onDelete: (id: Id) => void +}): DataTableColumns { const { t } = useI18n() return [ @@ -59,14 +54,14 @@ function createColumns({ { - open(row.id) + onEdit(row.id) }} > {t('config')} { - remove(row.id) + onDelete(row.id) }} > {{ @@ -89,9 +84,11 @@ export default defineComponent({ setup() { const { t } = useI18n() - const moduleFactoryInstance = useTemplateRef< - InstanceType & ModuleFactoryDrawerExposed - >('moduleFactoryInstance') + const modularFactoryList = useModularFactoryList() + + const modularFactoryInstance = useTemplateRef< + InstanceType & ModularFactoryDrawerExposed + >('modularFactoryInstance') return () => ( <> @@ -101,7 +98,9 @@ export default defineComponent({ { - moduleFactoryInstance.value!.open(newModuleFactory()) + modularFactoryInstance.value!.open( + modularFactoryList.newModularFactory(), + ) }} > {t('newFactory')} @@ -118,7 +117,7 @@ export default defineComponent({ { - removeModuleFactoryAll() + modularFactoryList.deleteAll() }} > {{ @@ -132,17 +131,17 @@ export default defineComponent({ { - moduleFactoryInstance.value!.open(id) + onEdit: (id) => { + modularFactoryInstance.value!.open(id) }, - remove: (id) => { - removeModuleFactory(id) + onDelete: (id) => { + modularFactoryList.deleteModularFactory(id) }, })} - data={moduleFactoryList.value} + data={modularFactoryList.data} /> - + ) },