Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- ----------------------------------------------
- -- Utilities
- -- ----------------------------------------------
- function doSelfRefuel(inspectFunc, placeFunc)
- local function findOne(name, metadata)
- for i = 1, 16 do
- if 1 == turtle.getItemCount(i) then
- local detail = turtle.getItemDetail(i)
- if nil ~= detail and detail.name == name and detail.damage == metadata then
- return i
- end
- end
- end
- return -1
- end
- local selected = turtle.getSelectedSlot()
- local rslt, inspect = inspectFunc()
- if true == rslt and inspect.name == "minecraft:flowing_lava" and inspect.metadata == 0 then
- local bucketSlot = findOne("minecraft:bucket", 0) -- とりあえず空バケツ1個の場合だけ実装する
- if -1 ~= bucketSlot then
- turtle.select(bucketSlot)
- placeFunc() -- 溶岩を汲む
- local lavaBucketSlot = findOne("minecraft:lava_bucket", 0)
- if -1 ~= lavaBucketSlot then
- turtle.select(lavaBucketSlot)
- turtle.refuel()
- end
- end
- end
- turtle.select(selected)
- end
- function selfRefuelUp()
- return doSelfRefuel(turtle.inspectUp, turtle.placeUp)
- end
- function selfRefuel()
- return doSelfRefuel(turtle.inspect, turtle.place)
- end
- function selfRefuelDown()
- return doSelfRefuel(turtle.inspectDown, turtle.placeDown)
- end
- -- ----------------------------------------------
- -- Utilities
- -- ----------------------------------------------
- local args = { ... }
- if 0 == #args then
- print("bad argument")
- elseif "forward" == args[1] then
- print("selfRefuel()")
- print("before : " .. tostring(turtle.getFuelLevel()))
- selfRefuel()
- print("after : " .. tostring(turtle.getFuelLevel()))
- elseif "up" == args[1] then
- print("selfRefuelUp()")
- print("before : " .. tostring(turtle.getFuelLevel()))
- selfRefuelUp()
- print("after : " .. tostring(turtle.getFuelLevel()))
- elseif "down" == args[1] then
- print("selfRefuelDown()")
- print("before : " .. tostring(turtle.getFuelLevel()))
- selfRefuelDown()
- print("after : " .. tostring(turtle.getFuelLevel()))
- else
- print("bad argument")
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement