View difference between Paste ID: 67sRP2zV and D9G9ZJtW
SHOW: | | - or go back to the newest paste.
1
inv=peripheral.wrap("bottom")
2
recipes={}
3
recipes["AWWayofTime:simpleCatalyst0"]={'minecraft:gunpowder0','minecraft:redstone0','minecraft:redstone0','minecraft:glowstone_dust0','minecraft:sugar0'}
4
recipes["AWWayofTime:bloodMagicBasicAlchemyItems3"]={'AWWayofTime:simpleCatalyst0','AWWayofTime:simpleCatalyst0','minecraft:nether_wart0','minecraft:dye15'}
5
recipes["AWWayofTime:bloodMagicBasicAlchemyItems4"]={'AWWayofTime:bloodMagicBasicAlchemyItems5','AWWayofTime:bloodMagicBasicAlchemyItems4','minecraft:gold_nugget0'}
6
recipes["AWWayofTime:bloodMagicBasicAlchemyItems5"]={'minecraft:bone0','minecraft:bone0','minecraft:bone0','minecraft:bone0','minecraft:gunpowder0'}
7
recipes["AWWayofTime:bloodMagicBaseItems15"]={'AWWayofTime:imbuedSlate0','AWWayofTime:imbuedSlate0','AWWayofTime:bloodMagicBasicAlchemyItems4'}
8
recipes["AWWayofTime:magicales0"]={'minecraft:redstone0','minecraft:gunpowder0','minecraft:glowstone_dust0','minecraft:glowstone_dust0','AWWayofTime:simpleCatalyst0'}
9
termXMax,termYMax=term.getSize()
10
inv.condenseItems()
11
12
function getPossibleBrews()
13
brews={}
14
for i=1,16 do
15
turtle.select(i)
16
if turtle.getItemDetail()~=nil then
17
if recipes[turtle.getItemDetail().name..turtle.getItemDetail().damage]~=nil then
18
recipe=recipes[turtle.getItemDetail().name..turtle.getItemDetail().damage]
19
brewPossible=true
20
for i2=1,#recipe do
21
if itemByIdDmg[recipe[i2]]==nil then
22
brewPossible=false
23
end
24
end
25
if brewPossible then
26
print("debug5")
27
turtle.suck()
28
turtle.drop()
29
end
30
end
31
end
32
end
33
end
34
35
function scanItems()
36
slots=inv.getInventorySize()
37
itemInSlot={}
38
itemByName={}
39
itemByNum={}
40
itemById={}
41
itemByIdDmg={}
42
itemByAmount={}
43
itemListed={}
44
i2=1
45
for i=1,slots do
46
term.clear()
47
term.setCursorPos(1,1)
48
term.write("Scan Slot"..tostring(i).." of "..tostring(slots))
49
itemInSlot[i]=inv.getStackInSlot(i)
50
sleep(0)
51
if itemInSlot[i]~=nil then
52
itemInSlot[i]["slot"]=i
53
itemByName[itemInSlot[i]["name"]]=itemInSlot[i]
54-
term.clear()
54+
55
if itemById[itemInSlot[i]["id"]]==nil then
56
itemByAmount[itemInSlot[i]["id"]]=itemInSlot[i]
57
itemByNum[i2]=itemByAmount[itemInSlot[i]["id"]]
58
i2=i2+1
59
else
60
itemByAmount[itemInSlot[i]["id"]]["qty"]=itemByAmount[itemInSlot[i]["id"]]["qty"]+itemInSlot[i]["qty"]
61
end
62
itemById[itemInSlot[i]["id"]]=itemInSlot[i]
63
itemByIdDmg[itemInSlot[i]["id"]..itemInSlot[i]["dmg"]]=itemInSlot[i]
64
end
65
end
66
i=i2
67
for i2=1,i-1 do
68
itemByNum[i2]=itemByAmount[itemByNum[i2]["id"]]
69
end
70
end
71
72
function getItem(id,qty,slot)
73
inv.pushIntoSlot("up",id,qty,slot)
74
end
75
76
function itemAvarible(id,qty)
77
itemAvarible=false
78
if itemByAmount[id]~=nil then
79
if itemByAmount[id]["qty"]>=qty then
80
itemAvarible=true
81
end
82
end
83
return itemAvarible
84
end
85
86
87
88
while true do
89
scanItems()
90
getPossibleBrews()
91
sleep(5)
92
end