Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local imbuer = peripheral.find("ars_nouveau:imbuement_chamber")
- local suck = turtle.suck
- local drop = turtle.drop
- local materials = {
- --insert valid ingredients here
- ["minecraft:amethyst_shard"]=true,
- ["minecraft:lapis_lazuli"]=true
- }
- local desiredResults = {
- --Insert desired results here
- ["ars_nouveau:source_gem"] = true
- }
- local initTable = {
- front=function() end,
- left=function() turtle.turnLeft() end,
- right=function() turtle.turnRight() end,
- back=function ()
- turtle.turnLeft()
- turtle.turnLeft()
- end,
- top=function ()
- suck=turtle.suckUp
- drop=turtle.dropUp
- end,
- bottom=function ()
- suck=turtle.suckDown
- drop=turtle.dropDown
- end
- }
- initTable[peripheral.getName(imbuer)]()
- local matSlots = {}
- for i=1,16 do
- if turtle.getItemDetail(i) ~= nil and
- (materials[turtle.getItemDetail(i).name])
- then
- table.insert(matSlots,i)
- end
- end
- local resultCell=0
- local function emptyCheck()
- for i=1,16 do
- if turtle.getItemDetail(i) == nil or
- (desiredResults[turtle.getItemDetail(i).name] and turtle.getItemDetail(i).count < 64) then
- resultCell=i
- break
- end
- end
- return resultCell
- end
- local function makeItem(currentSlot)
- turtle.select(currentSlot)
- emptyCheck()
- while turtle.getItemCount() > 0 do
- if imbuer.getItemDetail(1) ~= nil and desiredResults[imbuer.getItemDetail(1).name] then
- turtle.select(resultCell)
- suck(1)
- local detail = turtle.getItemDetail(resultCell,true)
- if not desiredResults[detail.name] or detail.count==detail.maxCount then emptyCheck() end
- turtle.select(currentSlot)
- end
- if imbuer.getItemDetail(1) == nil then drop(1) end
- end
- end
- for _,v in pairs(matSlots) do
- makeItem(v)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement