Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --script noch etwas fehlerhaft, aber es läuft und die fehler werden erkannt und beseitigt
- --aufbau I= inscriber i=interface T=Turtle C=chest P=import
- --CP
- --T
- --Ii
- insc = peripheral.wrap("bottom")
- ---was ist im Slot x des Inscribers
- function getInscriberInv(x)
- iSlot= insc.getStackInSlot(x)
- if iSlot then
- return (iSlot.display_name)
- else
- return ("kein Item im Slot")
- end
- end
- ---Turtle inventory ausräumen (außer den Pressplatten) (fertige Elemente in die Kiste drüber räumen)
- function invClear()
- for x=1,16 do
- Item= turtle.getItemDetail(x)
- if Item then
- if Item.damage ~= 13 and Item.damage ~= 14 and Item.damage ~= 15 and Item.damage ~= 19 then
- turtle.select(x)
- --turtle.dropUp()
- end
- end
- end
- end
- --nur Information für CopyPaste
- --Silicon
- --Item.name == "appliedenergistics2:item.ItemMultiMaterial" and
- --damage 13,14,15,19
- --tSlot1= "Inscriber Calculation Press:13"
- --tSlot2= "Inscriber Engineering Press:14"
- --tSlot3= "Inscriber Logic Press:15"
- --tSlot4= "Inscriber Silicon Press:19"
- --tSlot1=turtle.getItemDetail(1)
- --tSlot2=turtle.getItemDetail(2)
- --tSlot3=turtle.getItemDetail(3)
- --tSlot4=turtle.getItemDetail(4)
- --Welche Pllatte wird reingeworfen damit die Ressourcen verarbeitet werden
- function Wasistdrin()
- print(getInscriberInv(3)) --Testweise ausgeben was in Slot3 ist
- if getInscriberInv(3) == "Diamond" then --wenn im slot3 Diamanten sind
- turtle.select(2) -- zweites Inventarfeld vom Turtle auswählen
- insc.pullItem("UP",2) --den insciber das InventarFeld 2 des oberen Storages (Turtle) nehmen lassen
- elseif getInscriberInv(3) == "Pure Certus Quartz Crystal" then -- gleiches wie die 3 zeilen drüber nur mit Certus
- turtle.select(1)
- insc.pullItem("UP",1)
- elseif getInscriberInv(3) == "Gold Ingot" then --siehe Zeile 50-52
- turtle.select(3)
- insc.pullItem("UP",3)
- elseif getInscriberInv(3) == "Silicon -" then --das spar ich mir jetzt
- turtle.select(4)
- insc.pullItem("UP",4)
- else
- print ("warte auf Futter") --wenn nichts drin ist, ausgeben
- end
- end
- -- insciber leeren; wird nur am anfang benötigt falls was drin ist)
- function inscriberleeren()
- for x=1,3 do --für x= 1 bis 4 (die 4 slots aus dem Inscriber)
- insc.pushItem("UP",x) --schmeiß nach oben in den Turtle
- end
- if insc.getStackInSlot(4) then --wenn etwas in slot 4 ist,
- insc.pushItem("UP",1) --dann drück Slot 1 (Platten) nach oben in den turtle
- --insc.pushItem("UP",4) --und die endprodukte auch
- end
- end
- function sort() -- Inventory des Turtles sortieren, damit die platten an der gewünschten Position sind
- for x=1,16 do
- Item= turtle.getItemDetail(x)
- turtle.select(x)
- if Item then
- --else
- if Item.damage == 13 then -- schadenswerte müssen genommen werden, da die platten alle den gleichen namen haben
- turtle.transferTo(5) -- und der display_name nicht angezeigt wird
- elseif Item.damage == 14 then
- turtle.transferTo(6)
- elseif Item.damage ==15 then
- turtle.transferTo(7)
- elseif Item.damage ==19 then
- turtle.transferTo(8)
- else
- --turtle.dropUp()
- end
- end
- end
- turtle.select(5)
- turtle.transferTo(1)
- turtle.select(6)
- turtle.transferTo(2)
- turtle.select(7)
- turtle.transferTo(3)
- turtle.select(8)
- turtle.transferTo(4)
- turtle.select(1)
- end
- sort() -- inventory sortieren
- sort() -- das ganze 2x da einmal nicht reicht wenn einige slots schon belegt sind
- Wasistdrin() --wenn ressourcen im Inscriber sind, erst mal umwandeln
- inscriberleeren() -- und leer machen
- timer = 1 --Sicherheits-Timer um einen Fehler abzufangen bei dem eine Falsche platte zur Ressource drin ist -> Endlosschleife
- while true do
- invClear() --erstmal den turtle leer machen
- while insc.getStackInSlot(1) and insc.getStackInSlot(3) do --solange im Inscriber Slot1 (Platten) und Slot(3) Resourcen belegt ist
- sleep(1) --warten
- timer=timer+1 --timer hochzählen
- --insc.pushItem("UP",4) --und fertige Produkte aus Slot4 holen
- if timer ==10 then --wenn der Timer 5 erreicht hat
- insc.pushItem("UP",1) --vorsichtshalber die Platte mal rausnehmen
- print(timer) -- sollte funktionieren, kann man aber schlecht nachstellen
- timer=1
- end
- end
- inscriberleeren()
- Wasistdrin()
- print("Warte..")
- ---leider kann man von Oben keine Items Pushen :(
- --for x=5,16 do -- diamanten des inventars in den inscriber schicken
- --rohItem = turtle.getItemDetail(x)
- --if rohItem then
- --if rohItem.name == Diamond then
- --insc.pullItem("North",1,1,3)
- --end
- --end
- --end
- ---Item-Push ende
- sleep(2)
- end
- --copy paste und gedangen beim programmieren
- --insc.pushItem("UP",2,1,5)
- --UP in das obere Storage
- --2 aus slot 2
- --1 ein Item
- --5 in slot 5 (des oberen Storages)
- --
- --diamand = engineering = 2
- --pure certus = calculation
- --gold = Logic
- --Silicon = Silicon
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement