Compare commits

...

2 Commits

Author SHA1 Message Date
D4VID c9416bebef More recipes
10 months ago
D4VID d9127165c5 Crafting improvements
10 months ago

@ -1,7 +1,7 @@
local component = require("component")
local robot = require("robot")
local sides = require("sides")
local event = require("event")
local io = require("io")
local recipes = require('recipes')
@ -70,8 +70,9 @@ end
local function confirm()
while true do
print("Proceed? [y/n]")
local _, _, ascii, _, _ = event.pull("key_down")
local ch = string.char(ascii)
-- local _, _, ascii, _, _ = term.pull("key_down")
-- local ch = string.char(ascii)
local ch = io.read()
if ch == 'y' then
return true
elseif ch == 'n' then
@ -147,8 +148,13 @@ end
---Returns number of items fetched
---@param item string
---@param output_slot number
---@param count number how many items to take
---@return boolean
local function fetch_item(item, output_slot)
local function fetch_item(item, output_slot, count)
if count == nil then
count = 1
end
local name, damage = parse_item(item, ";")
robot.select(output_slot)
local size = inventory.getInventorySize(sides.forward)
@ -161,7 +167,7 @@ local function fetch_item(item, output_slot)
local stack = inventory.getStackInSlot(sides.forward, slot)
if stack then
if stack.name == name and stack.damage == damage then
inventory.suckFromSlot(sides.forward, slot, 1)
inventory.suckFromSlot(sides.forward, slot, count)
return true
end
end
@ -173,15 +179,16 @@ end
---accepts a recipe table containing result and ingredients
---@param recipe table
---@param count number how many items to craft
---@return boolean
local function craft_single_recipe(recipe)
local function craft_single_recipe(recipe, count)
if inventory.getStackInInternalSlot(RESULT_SLOT) then
print('Cannot craft - output slot occupied')
return false
end
for i, ingredient in pairs(recipe.shape) do
-- print('Fetching ' .. ingredient)
if not fetch_item(ingredient, slot_map[i]) then
if not fetch_item(ingredient, slot_map[i], count) then
print('Failed to fetch ' .. ingredient)
confirm()
end
@ -191,7 +198,7 @@ local function craft_single_recipe(recipe)
robot.select(RESULT_SLOT)
-- craft the resulting item
local crafted = crafting.craft(1)
local crafted = crafting.craft()
if not crafted then
print('Crafting failed')
return false
@ -278,16 +285,56 @@ local function craft_recipe_recursion(recipe, available_items, currently_availab
end
---accepts a recipe table
---@param item string
---@param search string search for an craftable item
---@return boolean
local function craft_item(item)
print('Trying to craft ' .. item)
local recipe = recipes[item]
if not recipe then
print('Cannot craft ' .. item)
local function craft_item(search)
search = string.lower(search) -- convert to unified lowercase
local matches = {}
for key, value in pairs(recipes) do
if string.find(value.result, search) then
print(#matches+1 .. ") " .. value.result)
matches[#matches+1] = key
elseif value.name ~= nil then
if string.find(value.name, search) then
print(#matches+1 .. ") " .. value.result)
matches[#matches+1] = key
end
end
end
local selected
if #matches == 0 then
print(selected .. ' not found')
return false
elseif #matches == 1 then
selected = matches[1]
else
local input = io.read()
if not input then
print('Interrupted')
return false
end
local index = tonumber(input)
if not index then
print('Invalid index')
return false
end
if index < 1 or index > #matches then
print('Invalid index')
return false
end
selected = matches[index]
end
local recipe = recipes[selected]
print('Trying to craft ' .. recipe.result)
local available_items = read_chest_contents()
if not available_items then
print('Not facing a chest')
@ -332,7 +379,7 @@ local function craft_item(item)
-- proceed to crafting the things
for i, rec in ipairs(crafting_order) do
print('Step #' .. i .. ' - ' .. rec.result)
if not craft_single_recipe(rec) then
if not craft_single_recipe(rec, 1) then
print('Unexpected error')
return false
end
@ -350,6 +397,3 @@ end
craft_item(target)
-- craft_item('minecraft:iron_pickaxe;0')
-- craft_item('opencomputers:keyboard;0')
-- craft_item('opencomputers:material;10')

@ -220,12 +220,40 @@ return {
nil, nil, nil,
}
},
-- Book
['minecraft:book;0'] = {
result = 'minecraft:book;0',
count = 1,
requires = {
['minecraft:paper;0'] = 3,
['minecraft:leather;0'] = 1,
},
shape = {
'minecraft:paper;0', 'minecraft:paper;0', nil,
'minecraft:paper;0', 'minecraft:leather;0', nil,
nil, nil, nil,
}
},
-----------------------------------------------------------------------------------------
-- Cutting Wire
['opencomputers:material;0'] = {
result = 'opencomputers:material;0;cutting wire',
count = 1,
requires = {
['minecraft:stick;0'] = 2,
['minecraft:iron_nugget;0'] = 1,
},
shape = {
nil, nil, nil,
'minecraft:stick;0', 'minecraft:iron_nugget;0', 'minecraft:stick;0',
nil, nil, nil,
}
},
-- Card Base
['opencomputers:material;5'] = {
result = 'opencomputers:material;5',
result = 'opencomputers:material;5;card base',
count = 1,
requires = {
['minecraft:iron_nugget;0'] = 3,
@ -240,7 +268,7 @@ return {
},
-- Transistor
['opencomputers:material;6'] = {
result = 'opencomputers:material;6',
result = 'opencomputers:material;6;transistor',
count = 8,
requires = {
['minecraft:iron_ingot;0'] = 3,
@ -256,7 +284,7 @@ return {
},
-- Microchip (Tier 1)
['opencomputers:material;7'] = {
result = 'opencomputers:material;7',
result = 'opencomputers:material;7;microchip 1',
count = 8,
requires = {
['minecraft:iron_nugget;0'] = 6,
@ -271,7 +299,7 @@ return {
},
-- Microchip (Tier 2)
['opencomputers:material;8'] = {
result = 'opencomputers:material;8',
result = 'opencomputers:material;8;microchip 2',
count = 4,
requires = {
['minecraft:gold_nugget;0'] = 6,
@ -284,9 +312,24 @@ return {
'minecraft:gold_nugget;0', 'minecraft:gold_nugget;0', 'minecraft:gold_nugget;0',
}
},
-- Microchip (Tier 3)
['opencomputers:material;9'] = {
result = 'opencomputers:material;9;microchip 3',
count = 2,
requires = {
['opencomputers:material;29'] = 6, -- Diamond Chip
['minecraft:redstone;0'] = 2,
['opencomputers:material;6'] = 1, -- Transistor
},
shape = {
'opencomputers:material;29', 'opencomputers:material;29', 'opencomputers:material;29',
'minecraft:redstone;0', 'opencomputers:material;6', 'minecraft:redstone;0',
'opencomputers:material;29', 'opencomputers:material;29', 'opencomputers:material;29',
}
},
-- Arithmetic Logic Unit (ALU)
['opencomputers:material;10'] = {
result = 'opencomputers:material;10',
result = 'opencomputers:material;10;alu',
count = 1,
requires = {
['minecraft:iron_nugget;0'] = 4,
@ -302,7 +345,7 @@ return {
},
-- Control Unit (CU)
['opencomputers:material;11'] = {
result = 'opencomputers:material;11',
result = 'opencomputers:material;11;control unit (cu)',
count = 1,
requires = {
['minecraft:gold_nugget;0'] = 4,
@ -316,9 +359,10 @@ return {
'minecraft:gold_nugget;0', 'opencomputers:material;6', 'minecraft:gold_nugget;0',
}
},
-- Disk Platter
['opencomputers:material;12'] = {
result = 'opencomputers:material;12',
result = 'opencomputers:material;12;disk platter',
count = 1,
requires = {
['minecraft:iron_nugget;0'] = 4,
@ -329,9 +373,24 @@ return {
nil, 'minecraft:iron_nugget;0', nil,
}
},
-- Interweb
['opencomputers:material;13'] = {
result = 'opencomputers:material;13;interweb',
count = 1,
requires = {
['minecraft:string;0'] = 8,
['minecraft:ender_pearl;0'] = 1,
},
shape = {
'minecraft:string;0', 'minecraft:string;0', 'minecraft:string;0',
'minecraft:string;0', 'minecraft:ender_pearl;0', 'minecraft:string;0',
'minecraft:string;0', 'minecraft:string;0', 'minecraft:string;0',
}
},
-- Button Group
['opencomputers:material;14'] = {
result = 'opencomputers:material;14',
result = 'opencomputers:material;14;button group',
count = 1,
requires = {
['minecraft:stone_button;0'] = 6,
@ -344,7 +403,7 @@ return {
},
-- Arrow Keys
['opencomputers:material;15'] = {
result = 'opencomputers:material;15',
result = 'opencomputers:material;15;arrow keys',
count = 1,
requires = {
['minecraft:stone_button;0'] = 4,
@ -357,7 +416,7 @@ return {
},
-- Numeric Keypad
['opencomputers:material;16'] = {
result = 'opencomputers:material;16',
result = 'opencomputers:material;16;numeric keypad',
count = 1,
requires = {
['minecraft:stone_button;0'] = 9,
@ -368,12 +427,126 @@ return {
'minecraft:stone_button;0', 'minecraft:stone_button;0', 'minecraft:stone_button;0',
}
},
-- Diamond Chip
['opencomputers:material;29'] = {
result = 'opencomputers:material;29;diamond chip',
count = 6,
requires = {
['opencomputers:material;0'] = 1, -- Cutting Wire
['minecraft:diamond;0'] = 1,
},
shape = {
'opencomputers:material;0', 'minecraft:diamond;0', nil,
nil, nil, nil,
nil, nil, nil,
}
},
-----------------------------------------------------------------------------------------
-- Central Processing Unit (CPU) (Tier 1)
['opencomputers:component;0'] = {
result = 'opencomputers:component;0;cpu 1',
count = 1,
requires = {
['minecraft:iron_nugget;0'] = 4,
['minecraft:redstone;0'] = 1,
['opencomputers:material;7'] = 2, -- Microchip (Tier 1)
['opencomputers:material;11'] = 1, -- Control Unit (CU)
['opencomputers:material;10'] = 1, -- Arithmetic Logic Unit (ALU)
},
shape = {
'minecraft:iron_nugget;0', 'minecraft:redstone;0', 'minecraft:iron_nugget;0',
'opencomputers:material;7', 'opencomputers:material;11', 'opencomputers:material;7',
'minecraft:iron_nugget;0', 'opencomputers:material;10', 'minecraft:iron_nugget;0',
}
},
-- Central Processing Unit (CPU) (Tier 2)
['opencomputers:component;1'] = {
result = 'opencomputers:component;1;cpu 2',
count = 1,
requires = {
['minecraft:gold_nugget;0'] = 4,
['minecraft:redstone;0'] = 1,
['opencomputers:material;8'] = 2, -- Microchip (Tier 2)
['opencomputers:material;11'] = 1, -- Control Unit (CU)
['opencomputers:material;10'] = 1, -- Arithmetic Logic Unit (ALU)
},
shape = {
'minecraft:gold_nugget;0', 'minecraft:redstone;0', 'minecraft:gold_nugget;0',
'opencomputers:material;8', 'opencomputers:material;11', 'opencomputers:material;8',
'minecraft:gold_nugget;0', 'opencomputers:material;10', 'minecraft:gold_nugget;0',
}
},
-- Central Processing Unit (CPU) (Tier 3)
['opencomputers:component;2'] = {
result = 'opencomputers:component;2;cpu 3',
count = 1,
requires = {
['opencomputers:material;29'] = 4, -- Diamond Chip
['minecraft:redstone;0'] = 1,
['opencomputers:material;9'] = 2, -- Microchip (Tier 3)
['opencomputers:material;11'] = 1, -- Control Unit (CU)
['opencomputers:material;10'] = 1, -- Arithmetic Logic Unit (ALU)
},
shape = {
'opencomputers:material;29', 'minecraft:redstone;0', 'opencomputers:material;29',
'opencomputers:material;9', 'opencomputers:material;11', 'opencomputers:material;9',
'opencomputers:material;29', 'opencomputers:material;10', 'opencomputers:material;29',
}
},
-- Memory (Tier 1)
['opencomputers:component;6'] = {
result = 'opencomputers:component;6;memory ram 1',
count = 1,
requires = {
['opencomputers:material;7'] = 2, -- Microchip (Tier 1)
['minecraft:iron_nugget;0'] = 1,
['opencomputers:material;4'] = 1, -- Printed Circuit Board
},
shape = {
nil, nil, nil,
'opencomputers:material;7', 'minecraft:iron_nugget;0', 'opencomputers:material;7',
nil, 'opencomputers:material;4', nil,
}
},
-- Memory (Tier 2)
['opencomputers:component;8'] = {
result = 'opencomputers:component;8;memory ram 2',
count = 1,
requires = {
['opencomputers:material;8'] = 2, -- Microchip (Tier 2)
['minecraft:iron_nugget;0'] = 1,
['opencomputers:material;4'] = 1, -- Printed Circuit Board
},
shape = {
nil, nil, nil,
'opencomputers:material;8', 'minecraft:iron_nugget;0', 'opencomputers:material;8',
nil, 'opencomputers:material;4', nil,
}
},
-- Memory (Tier 3)
['opencomputers:component;10'] = {
result = 'opencomputers:component;10;memory ram 3',
count = 1,
requires = {
['opencomputers:material;9'] = 2, -- Microchip (Tier 3)
['minecraft:iron_nugget;0'] = 1,
['opencomputers:material;4'] = 1, -- Printed Circuit Board
},
shape = {
nil, nil, nil,
'opencomputers:material;9', 'minecraft:iron_nugget;0', 'opencomputers:material;9',
nil, 'opencomputers:material;4', nil,
}
},
-----------------------------------------------------------------------------------------
-- Keyboard
['opencomputers:keyboard;0'] = {
result = 'opencomputers:material;0',
result = 'opencomputers:keyboard;0',
count = 1,
requires = {
['opencomputers:material;14'] = 4,
@ -402,40 +575,107 @@ return {
'minecraft:iron_ingot;0', 'minecraft:redstone;0', 'minecraft:iron_ingot;0',
}
},
-- Memory (Tier 1)
['opencomputers:component;6'] = {
result = 'opencomputers:component;6',
-- Graphics Card (Tier 1)
['opencomputers:card;1'] = {
result = 'opencomputers:card;1;gpu 1',
count = 1,
requires = {
['opencomputers:material;7'] = 2, -- Microchip (Tier 1)
['minecraft:iron_nugget;0'] = 1,
['opencomputers:material;4'] = 1, -- Printed Circuit Board
['opencomputers:material;7'] = 1, -- Microchip (Tier 1)
['opencomputers:material;10'] = 1, -- Arithmetic Logic Unit (ALU)
['opencomputers:component;6'] = 1, -- Memory (Tier 1)
['opencomputers:material;5'] = 1, -- Card Base
},
shape = {
nil, nil, nil,
'opencomputers:material;7', 'minecraft:iron_nugget;0', 'opencomputers:material;7',
nil, 'opencomputers:material;4', nil,
'opencomputers:material;7', 'opencomputers:material;10', 'opencomputers:component;6',
nil, 'opencomputers:material;5', nil,
}
},
-- Graphics Card (Tier 1)
['opencomputers:card;1'] = {
result = 'opencomputers:card;1',
-- Graphics Card (Tier 2)
['opencomputers:card;2'] = {
result = 'opencomputers:card;2;gpu 2',
count = 1,
requires = {
['opencomputers:material;7'] = 1, -- Microchip (Tier 1)
['opencomputers:material;8'] = 1, -- Microchip (Tier 2)
['opencomputers:material;10'] = 1, -- Arithmetic Logic Unit (ALU)
['opencomputers:component;6'] = 1, -- Memoty (Tier 1)
['opencomputers:component;8'] = 1, -- Memory (Tier 2)
['opencomputers:material;5'] = 1, -- Card Base
},
shape = {
nil, nil, nil,
'opencomputers:material;7', 'opencomputers:material;10', 'opencomputers:component;6',
'opencomputers:material;8', 'opencomputers:material;10', 'opencomputers:component;8',
nil, 'opencomputers:material;5', nil,
}
},
-- Graphics Card (Tier 3)
['opencomputers:card;3'] = {
result = 'opencomputers:card;3;gpu 3',
count = 1,
requires = {
['opencomputers:material;9'] = 1, -- Microchip (Tier 3)
['opencomputers:material;10'] = 1, -- Arithmetic Logic Unit (ALU)
['opencomputers:component;10'] = 1, -- Memory (Tier 3)
['opencomputers:material;5'] = 1, -- Card Base
},
shape = {
nil, nil, nil,
'opencomputers:material;9', 'opencomputers:material;10', 'opencomputers:component;10',
nil, 'opencomputers:material;5', nil,
}
},
-- Network Card
['opencomputers:card;6'] = {
result = 'opencomputers:card;6;network card',
count = 1,
requires = {
['opencomputers:cable;0'] = 1,
['opencomputers:material;7'] = 1, -- Microchip (Tier 1)
['opencomputers:material;5'] = 1, -- Card Base
},
shape = {
nil, nil, nil,
'opencomputers:cable;0', 'opencomputers:material;7', nil,
nil, 'opencomputers:material;5', nil,
}
},
-- Wireless Network Card
['opencomputers:card;7'] = {
result = 'opencomputers:card;7;wireless network card',
count = 1,
requires = {
['minecraft:ender_pearl;0'] = 1,
['opencomputers:material;8'] = 1, -- Microchip (Tier 2)
['opencomputers:material;5'] = 1, -- Card Base
},
shape = {
nil, nil, nil,
'minecraft:ender_pearl;0', 'opencomputers:material;8', nil,
nil, 'opencomputers:material;5', nil,
}
},
-- Internet Card
['opencomputers:card;8'] = {
result = 'opencomputers:card;8;internet card',
count = 1,
requires = {
['opencomputers:material;13'] = 1, -- Interweb
['opencomputers:material;8'] = 1, -- Microchip (Tier 2)
['minecraft:redstone_torch;0'] = 1,
['opencomputers:material;5'] = 1, -- Card Base
['minecraft:obsidian;0'] = 1,
},
shape = {
nil, nil, nil,
'opencomputers:material;13', 'opencomputers:material;8', 'minecraft:redstone_torch;0',
nil, 'opencomputers:material;5', 'minecraft:obsidian;0',
}
},
-- EEPROM
['opencomputers:storage;0'] = {
result = 'opencomputers:storage;0',
result = 'opencomputers:storage;0;eeprom',
count = 1,
requires = {
['opencomputers:material;6'] = 1, -- Transistor
@ -452,7 +692,7 @@ return {
},
-- Floppy Disk
['opencomputers:storage;1'] = {
result = 'opencomputers:storage;1',
result = 'opencomputers:storage;1;floppy disk',
count = 1,
requires = {
['opencomputers:material;12'] = 1, -- Disk Platter
@ -468,7 +708,7 @@ return {
},
-- Hard Disk Drive (Tier 1)
['opencomputers:storage;2'] = {
result = 'opencomputers:storage;2',
result = 'opencomputers:storage;2;hdd 1',
count = 1,
requires = {
['opencomputers:material;7'] = 2, -- Microchip (Tier 1)
@ -483,6 +723,58 @@ return {
'opencomputers:material;7', 'opencomputers:material;12', 'minecraft:iron_ingot;0',
}
},
-- Hard Disk Drive (Tier 2)
['opencomputers:storage;3'] = {
result = 'opencomputers:storage;3;hdd 2',
count = 1,
requires = {
['opencomputers:material;8'] = 2, -- Microchip (Tier 2)
['opencomputers:material;4'] = 1, -- Printed Circuit Board
['opencomputers:material;12'] = 3, -- Disk Platter
['minecraft:gold_ingot;0'] = 2,
['minecraft:piston;0'] = 1,
},
shape = {
'opencomputers:material;8', 'opencomputers:material;12', 'minecraft:gold_ingot;0',
'opencomputers:material;4', 'opencomputers:material;12', 'minecraft:piston;0',
'opencomputers:material;8', 'opencomputers:material;12', 'minecraft:gold_ingot;0',
}
},
-- Hard Disk Drive (Tier 3)
['opencomputers:storage;4'] = {
result = 'opencomputers:storage;4;hdd 3',
count = 1,
requires = {
['opencomputers:material;9'] = 2, -- Microchip (Tier 3)
['opencomputers:material;4'] = 1, -- Printed Circuit Board
['opencomputers:material;12'] = 3, -- Disk Platter
['minecraft:diamond;0'] = 2,
['minecraft:piston;0'] = 1,
},
shape = {
'opencomputers:material;9', 'opencomputers:material;12', 'minecraft:diamond;0',
'opencomputers:material;4', 'opencomputers:material;12', 'minecraft:piston;0',
'opencomputers:material;9', 'opencomputers:material;12', 'minecraft:diamond;0',
}
},
-- Computer Case (Tier 1)
['opencomputers:case1;0'] = {
result = 'opencomputers:case1;0',
count = 1,
requires = {
['opencomputers:material;7'] = 1, -- Microchip (Tier 1)
['opencomputers:material;4'] = 1, -- Printed Circuit Board
['minecraft:iron_ingot;0'] = 4,
['minecraft:iron_bars;0'] = 2,
['minecraft:chest;0'] = 1,
},
shape = {
'minecraft:iron_ingot;0', 'opencomputers:material;8', 'minecraft:iron_ingot;0',
'minecraft:iron_bars;0', 'minecraft:chest;0', 'minecraft:iron_bars;0',
'minecraft:iron_ingot;0', 'opencomputers:material;4', 'minecraft:iron_ingot;0',
}
},
-- Computer Case (Tier 2)
['opencomputers:case2;0'] = {
result = 'opencomputers:case2;0',
@ -500,9 +792,27 @@ return {
'minecraft:gold_ingot;0', 'opencomputers:material;4', 'minecraft:gold_ingot;0',
}
},
-- Computer Case (Tier 3)
['opencomputers:case3;0'] = {
result = 'opencomputers:case3;0',
count = 1,
requires = {
['opencomputers:material;9'] = 1, -- Microchip (Tier 3)
['opencomputers:material;4'] = 1, -- Printed Circuit Board
['minecraft:diamond;0'] = 4,
['minecraft:iron_bars;0'] = 2,
['minecraft:chest;0'] = 1,
},
shape = {
'minecraft:diamond;0', 'opencomputers:material;8', 'minecraft:diamond;0',
'minecraft:iron_bars;0', 'minecraft:chest;0', 'minecraft:iron_bars;0',
'minecraft:diamond;0', 'opencomputers:material;4', 'minecraft:diamond;0',
}
},
-- Analyzer
['opencomputers:tool;0'] = {
result = 'opencomputers:tool;0',
result = 'opencomputers:tool;0;analyzer',
count = 1,
requires = {
['opencomputers:material;6'] = 1, -- Transistor
@ -516,12 +826,59 @@ return {
'opencomputers:material;4', 'minecraft:gold_nugget;0', nil,
}
},
-- OpenComputers manual
['opencomputers:tool;4'] = {
result = 'opencomputers:tool;4;manual',
count = 1,
requires = {
['opencomputers:material;7'] = 1, -- Microchip (Tier 1)
['minecraft:book;0'] = 1,
},
shape = {
'minecraft:book;0', 'opencomputers:material;7', nil,
nil, nil, nil,
nil, nil, nil,
}
},
-- Cable
['opencomputers:cable;0'] = {
result = 'opencomputers:cable;0',
count = 4,
requires = {
['minecraft:iron_nugget;0'] = 4,
['minecraft:redstone;0'] = 1,
},
shape = {
nil, 'minecraft:iron_nugget;0', nil,
'minecraft:iron_nugget;0', 'minecraft:redstone;0', 'minecraft:iron_nugget;0',
nil, 'minecraft:iron_nugget;0', nil,
}
},
-- Disk Drive
['opencomputers:diskdrive;0'] = {
result = 'opencomputers:diskdrive;0',
count = 1,
requires = {
['minecraft:iron_ingot;0'] = 4,
['opencomputers:material;7'] = 1, -- Microchip (Tier 1)
['minecraft:piston;0'] = 1,
['minecraft:stick;0'] = 1,
['opencomputers:material;4'] = 1, -- Printed Circuit Board
},
shape = {
'minecraft:iron_ingot;0', 'opencomputers:material;7', 'minecraft:iron_ingot;0',
'minecraft:piston;0', 'minecraft:stick;0', nil,
'minecraft:iron_ingot;0', 'opencomputers:material;4', 'minecraft:iron_ingot;0',
}
},
-----------------------------------------------------------------------------------------
-- Inventory Upgrade
['opencomputers:upgrade;17'] = {
result = 'opencomputers:upgrade;17',
result = 'opencomputers:upgrade;17;inventory upgrade',
count = 1,
requires = {
['opencomputers:material;7'] = 1, -- Microchip (Tier 1)
@ -539,12 +896,12 @@ return {
},
-- Inventory Controler Upgrade
['opencomputers:upgrade;18'] = {
result = 'opencomputers:upgrade;18',
result = 'opencomputers:upgrade;18;inventory controller upgrade',
count = 1,
requires = {
['opencomputers:material;8'] = 1, -- Microchip (Tier 2)
['opencomputers:material;4'] = 1, -- Printed Circuit Board
['opencomputers:tool;0'] = 1, -- Analyzer
['opencomputers:tool;0'] = 1, -- Analyzer
['minecraft:gold_ingot;0'] = 4,
['minecraft:dropper;0'] = 1,
['minecraft:piston;0'] = 1,
@ -555,4 +912,30 @@ return {
'minecraft:gold_ingot;0', 'opencomputers:material;4', 'minecraft:gold_ingot;0',
}
},
-----------------------------------------------------------------------------------------
-- Robot group
['robot'] = {
result = 'robot group',
count = 1,
requires = {
['opencomputers:case2;0'] = 1, -- Case 2
['opencomputers:component;1'] = 1, -- CPU 2
['opencomputers:screen1;0'] = 1,
['opencomputers:keyboard;0'] = 1,
['opencomputers:storage;2'] = 1,
['opencomputers:component;8'] = 2, -- RAM 2
['opencomputers:storage;0'] = 1, -- EEPROM
['opencomputers:tool;4'] = 1, -- Manual
['opencomputers:card;1'] = 1, -- Graphics Card 1
['opencomputers:upgrade;17'] = 1, -- Inventory Upgrade
['opencomputers:upgrade;18'] = 1, -- Inventory Controler Upgrade
},
shape = {
nil, nil, nil,
nil, nil, nil,
nil, nil, nil,
}
},
}

Loading…
Cancel
Save