Левая черепашка делает деревянные рейки для рельс.
Права крафтит рельсы из шпал и реек.
local kol=0
function wh() kol=kol+1 write(" craft ") print(kol) end
while true do turtle.select(1) turtle.dropUp()
if turtle.getItemCount(6)>10 and turtle.getItemCount(7)>10 and turtle.getItemCount(10)>10 and turtle.getItemCount(11)>10 then turtle.select(1) turtle.craft(10) wh() sleep(1) end
if turtle.getItemCount(6)<12 then turtle.select(6) turtle.suck(10) end if turtle.getItemCount(7)<12 then turtle.select(7) turtle.suck(10) end if turtle.getItemCount(10)<12 then turtle.select(10) turtle.suck(10) end if turtle.getItemCount(11)<12 then turtle.select(11) turtle.suck(10) end
turtle.select(1) turtle.dropUp()
sleep(10) end
function railc() if turtle.getItemCount(6)<10 then turtle.select(6) turtle.suck(20) end if turtle.getItemCount(8)<10 then turtle.select(8) turtle.suck(20) end if turtle.getItemCount(10)<10 then turtle.select(10) turtle.suck(20) end if turtle.getItemCount(12)<10 then turtle.select(12) turtle.suck(20) end if turtle.getItemCount(14)<10 then turtle.select(14) turtle.suck(20) end if turtle.getItemCount(16)<10 then turtle.select(16) turtle.suck(20) end end
if turtle.detect() then --sobiraem zapasy while true do
railc()
--zapasy sobrany --nachinaem proverku while turtle.getItemCount(6)<10 or turtle.getItemCount(8)<10 or turtle.getItemCount(10)<10 or turtle.getItemCount(12)<10 or turtle.getItemCount(14)<10 or turtle.getItemCount(16)<10 do railc() sleep(30) end
turtle.turnLeft() turtle.turnLeft() for i=1,7 do while not turtle.forward() do end end turtle.turnRight() while not turtle.detect() do turtle.forward() end while not turtle.detectDown() do turtle.down() end if turtle.detectDown() then while turtle.getItemCount(11)<10 do turtle.select(11) turtle.suckDown(20) if turtle.getItemCount(11)<10 then sleep(60) end end end
--podem UP for i=1,3 do while not turtle.up() do end end turtle.turnLeft() turtle.turnLeft() --visim v vozduhe for i=1,3 do while not turtle.forward() do end end turtle.turnLeft() --idem do better storage for i=1,4 do while not turtle.forward() do end end turtle.turnRight()
--bolshoy massiv BIG!!! while turtle.getItemCount(6)>9 and turtle.getItemCount(8)>9 and turtle.getItemCount(10)>9 and turtle.getItemCount(12)>9 and turtle.getItemCount(14)>9 and turtle.getItemCount(16)>9 and turtle.getItemCount(11)>9 do turtle.select(1) --idem v pervyy slot turtle.craft(1) --craftim while turtle.getItemCount(1)>0 do turtle.drop() if turtle.getItemCount(1)>0 then sleep(60) end end --posle crafta brosaem v better storage end turtle.turnLeft() while not turtle.detect() do turtle.forward() end end end
Остановка и дозаправка локомотивов из Railcraft. Конечно можно использовать предметы из модификации, но через компьютер проще отрегулировать действия.
Плюс использования в том, что можно использовать одну машину для контроля станции на которую приезжают несколько поездов из разных направлений. Таким образом один поезд заправляется а другой ждет где-то не далеко от станции, когда освободиться места.
Мой код к сожалению не имеет ничего сверх естественного из такого плана потому, что я таких автоматизаций я использую OpenComputer (Доступно только для пользователей).
while true do --sleep(1) sleep(0.5) if rs.getInput("right") then rs.setOutput("front",false) sleep(20) rs.setOutput("front",true) end while rs.getInput("top") do rs.setOutput("front",false) sleep(5) end rs.setOutput("front",true) end
Использование черепашки для автоматического крафта pure crystal'ов в applied energistics 2
Данная программа позволяет использовать черепашку вместо игрока для производства pure crystal'ов Плюсы:
Не требует дополнительных энергетических затрат потому, что черепашка включает и выключает подачу электричества, а кроме того учитывая, что она сама стоит на месте, то и она не требует электричества
Не нужно сложностей - есть уже готовый код, осталось только поставить несколько блоков и запустить программу
Код программы можно немного отрегулировать сделав и добиться, что черепашка будет работать не по запросу игрока, а будет производить определенное кол-во кристаллов в определенный промежуток времени.
Минусы:
Возможно есть более быстрый способ получения кристаллов, но я его не знаю.
function te() term.clear() term.setCursorPos(1,1) print("Welcom!!! This is craft quartz certus or nether or fluix") write("certus quartz seed - ") print(turtle.getItemCount(1)) write("nether quartz seed - ") print(turtle.getItemCount(2)) write("fluix seed - ") print(turtle.getItemCount(3)) print("+-------------+") write("certus quartz crystal - ") print(turtle.getItemCount(4)) write("nether quartz - ") print(turtle.getItemCount(5)) write("fluix crystal - ") print(turtle.getItemCount(6)) print("+--------------+") end
function dro() for k=7,16 do if turtle.getItemCount(k)>0 then rs.setOutput("right",true) end turtle.select(k) turtle.drop() end end
while true do te() rs.setOutput("right",false) --vyvod infy me=0 for i=1,3 do if turtle.getItemCount(i)>1 then me=me+1 end end for i=4,6 do if turtle.getItemCount(i)>1 then turtle.select(i) turtle.dropUp(turtle.getItemCount(i)-1) end end for i=7,16 do if turtle.getItemCount(i)>0 then me=me+1 end end if me==0 then te() print("Wathing sleep 60 sec") sleep(60) else me=0 end
for i=1,3 do if turtle.getItemCount(i)>1 then rs.setOutput("right", true) end turtle.select(i) turtle.drop(turtle.getItemCount(j)-1) te() print("Wathing 20 sec") end
dro() sleep(20) turtle.suck() turtle.suck() turtle.suck() turtle.suck() turtle.suck() turtle.suck() turtle.suck() turtle.suck() rs.getOutput("right",false) for i=4,6 do turtle.select(i) for p=7,16 do if turtle.compareTo(p) then turtle.select(p) turtle.transferTo(i) end end
if turtle.getItemCount(i)>1 then for j=4,6 do turtle.select(j) turtle.dropUp(turtle.getItemCount(j)-1) end