SHOW:
|
|
- or go back to the newest paste.
| 1 | - | local component = require("component")
|
| 1 | + | p = peripheral.wrap("right")
|
| 2 | - | local sides = require("sides")
|
| 2 | + | t = peripheral.wrap("top")
|
| 3 | - | -- Main output side |
| 3 | + | |
| 4 | - | f = sides.forward |
| 4 | + | suund = 'west' |
| 5 | - | -- Main input sides |
| 5 | + | inv_size = p.getInventorySize() |
| 6 | - | u = sides.up |
| 6 | + | location={}
|
| 7 | - | d = sides.down |
| 7 | + | function Main() |
| 8 | - | -- What to craft |
| 8 | + | end |
| 9 | - | recipe = {}
|
| 9 | + | |
| 10 | - | recipe["double_cobblestone"]={
|
| 10 | + | function jahu() |
| 11 | - | [1]='minecraft:cobblestone', |
| 11 | + | for i=1, inv_size do |
| 12 | - | [2]='minecraft:cobblestone', |
| 12 | + | if p.getStackInSlot(i) ~=nil then |
| 13 | - | [3]='minecraft:cobblestone', |
| 13 | + | if p.getStackInSlot(i)['id'] == 'harvestcraft:saltItem' then |
| 14 | - | [5]='minecraft:cobblestone', |
| 14 | + | location['sool']={}
|
| 15 | - | [6]='minecraft:cobblestone', |
| 15 | + | location['sool']['asukoht']=i |
| 16 | - | [7]='minecraft:cobblestone', |
| 16 | + | location['sool']['kogus']=p.getStackInSlot(i).qty |
| 17 | - | [9]='minecraft:cobblestone', |
| 17 | + | elseif p.getStackInSlot(i)['id'] == 'Natura:barleyFood' or p.getStackInSlot(i)['id'] == 'EnderIO:itemPowderIngot' then |
| 18 | - | [10]='minecraft:cobblestone', |
| 18 | + | location['jahu']={}
|
| 19 | - | [11]='minecraft:cobblestone', |
| 19 | + | location['jahu']['asukoht']=i |
| 20 | - | } |
| 20 | + | location['jahu']['kogus']=p.getStackInSlot(i).qty |
| 21 | - | moveStuff() |
| 21 | + | end |
| 22 | - | function moveStuff() |
| 22 | + | end |
| 23 | - | input_size = component.inventory_conroller.getInventorySize(sides.down) |
| 23 | + | end |
| 24 | - | for i=1, input_size do |
| 24 | + | if (location['sool']~=nil and location['jahu']~=nil) then |
| 25 | - | print (component.inventory_controller.getStackInSlot(d,i)) |
| 25 | + | if location['sool']['kogus'] >= 3 and location['jahu']['kogus'] >= 3 then |
| 26 | if location['sool']['kogus']>= location['jahu']['kogus']then | |
| 27 | kogus = location['jahu']['kogus'] | |
| 28 | elseif location['sool']['kogus'] == location['jahu']['kogus']then | |
| 29 | kogus = location['sool']['kogus'] | |
| 30 | elseif location['sool']['kogus'] == location['jahu']['kogus']then | |
| 31 | kogus = location['jahu']['kogus'] | |
| 32 | end | |
| 33 | if kogus > 0 then | |
| 34 | p.pushItemIntoSlot(suund,location['sool']['asukoht'],kogus,5) | |
| 35 | p.pushItemIntoSlot(suund,location['jahu']['asukoht'],kogus,6) | |
| 36 | asjadpaika('tainas')
| |
| 37 | turtle.turnRight() | |
| 38 | for i=1,kogus do | |
| 39 | veetaide() | |
| 40 | turtle.select(16) | |
| 41 | if turtle.craft() then | |
| 42 | if turtle.dropUp() then | |
| 43 | end | |
| 44 | end | |
| 45 | turtle.select(2) | |
| 46 | end | |
| 47 | ||
| 48 | asjad_paigast('tainas')
| |
| 49 | end | |
| 50 | end | |
| 51 | end | |
| 52 | end | |
| 53 | ||
| 54 | function findItems(id, amount, peripheral) | |
| 55 | sizeh=peripheral.getInventorySize() | |
| 56 | for i=1, sizeh do | |
| 57 | if peripheral.getStackInSlot(i).id == id and peripheral.getStackInSlot().qty >= amount then | |
| 58 | return true | |
| 59 | else | |
| 60 | return false | |
| 61 | end | |
| 62 | end | |
| 63 | end | |
| 64 | ||
| 65 | function canCraft(item) | |
| 66 | counts = {}
| |
| 67 | for i=1, table.getn(item) do | |
| 68 | if item[i] ~= 0 then | |
| 69 | if counts[item[i]] ~= nil then | |
| 70 | counts[item[i]]["quant"] = counts[item[i]]["quant"] + 1 | |
| 71 | else | |
| 72 | counts[item[i]]["quant"] = 1 | |
| 73 | end | |
| 74 | end | |
| 75 | end | |
| 76 | end | |
| 77 | ||
| 78 | axe = {0,"minecraft:cobblestone","minecraft:cobblestone",0,"minecraft:stick",0,0,"minecraft:stick",0,}
| |
| 79 | pick = {"minecraft:cobblestone","minecraft:cobblestone","minecraft:cobblestone",0,"minecraft:stick",0,0,"minecraft:stick",0,}
| |
| 80 | sword = {0,"minecraft:cobblestone",0,0,"minecraft:stick",0,0,"minecraft:stick",0,}
| |
| 81 | crafts = {[axe]=axe, [pick]=pick, [sword]=sword}
| |
| 82 | ||
| 83 | function craftsFile() | |
| 84 | if not fs.exists("/crafts") then
| |
| 85 | print ("creating crafts file")
| |
| 86 | local f = io.open("/crafts", "w")
| |
| 87 | f:write(textutils.serialize(crafts)) | |
| 88 | f:close() | |
| 89 | end | |
| 90 | end | |
| 91 | ||
| 92 | function veetaide() | |
| 93 | turtle.select(2) | |
| 94 | repeat | |
| 95 | until turtle.place() ~= false | |
| 96 | end | |
| 97 | function asjadpaika(asjad) | |
| 98 | if asjad == 'tainas' then | |
| 99 | turtle.turnLeft() | |
| 100 | os.sleep(1) | |
| 101 | tools =peripheral.wrap('front')
| |
| 102 | tools.pushItemIntoSlot('east',1,1,1)
| |
| 103 | tools.pushItemIntoSlot('east',2,1,2)
| |
| 104 | end | |
| 105 | end | |
| 106 | ||
| 107 | function asjad_paigast(asjad) | |
| 108 | turtle.turnLeft() | |
| 109 | if asjad =='tainas' then | |
| 110 | os.sleep(1) | |
| 111 | turtle.select(1) | |
| 112 | turtle.drop() | |
| 113 | turtle.select(2) | |
| 114 | turtle.drop() | |
| 115 | end | |
| 116 | turtle.turnRight() | |
| 117 | end | |
| 118 | ||
| 119 | canCraft(axe) | |
| 120 | for k,v in pairs(counts) do | |
| 121 | print(k.." = "..v) | |
| 122 | end |