Advertisement
fatboychummy

ObsidianGenerator.lua

Nov 23rd, 2020
974
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.68 KB | None | 0 0
  1. print("Running obsidian generator")
  2.  
  3. local function find(name, damage)
  4.   for i = 1, 16 do
  5.     local item = turtle.getItemDetail(i)
  6.     if item then
  7.       if item.name == name and (item.damage == damage or item.metadata == damage) then
  8.         return i
  9.       end
  10.     end
  11.   end
  12.   return false
  13. end
  14.  
  15. local function face(name, meta, using, altname)
  16.   using = using or turtle.turnRight
  17.   for i = 1, 4 do
  18.     local ok, block = turtle.inspect()
  19.     if ok then
  20.       if (block.name == name or block.name == altname) and block.metadata == meta then
  21.         return true
  22.       else
  23.         print(block and block.name, block.metadata)
  24.       end
  25.     end
  26.     using()
  27.   end
  28.   return false
  29. end
  30.  
  31.  
  32. local tries = 0
  33. while true do
  34.   -- determine stage we are on
  35.   local findBucket = find("minecraft:bucket", 0)
  36.   local findLava = find("minecraft:lava_bucket", 0)
  37.  
  38.   if findBucket then
  39.     print("Got a bucket.")
  40.     tries = 0
  41.     -- get lava
  42.     turtle.select(findBucket)
  43.     turtle.dropUp()
  44.     turtle.select(1)
  45.   elseif findLava then
  46.     print("Got a lava bucket.")
  47.     tries = 0
  48.     -- place lava, dig, turn right, drop
  49.     if face("minecraft:water", 1, nil, "minecraft:flowing_water") then
  50.       turtle.select(findLava)
  51.       turtle.place()
  52.       turtle.dig()
  53.     else
  54.       error("Could not find water!")
  55.     end
  56.   else
  57.     -- either waiting for lava bucket, or something went wrong.
  58.     term.clear()
  59.     term.setCursorPos(1, 1)
  60.     tries = tries + 1
  61.     print(string.format("Waiting for lava bucket... %d", tries))
  62.     if tries >= 100 then
  63.       printError("We've probably run out of lava.")
  64.       os.sleep(5)
  65.       os.shutdown()
  66.     end
  67.   end
  68.   os.sleep(0.1)
  69. end
  70.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement