Advertisement
Blackhome

inspect

Jan 6th, 2025 (edited)
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.61 KB | Gaming | 0 0
  1. local function containsString(strLong, strShort)
  2.     return string.find(strLong, strShort) ~= nil
  3. end
  4.  
  5. --check if string starts with 1_ and outputs rest of the string
  6. local function startsWithAndTrim(input)
  7.     if string.sub(input, 1, 2) == "1_" then
  8.         return true, string.sub(input, 3)
  9.     else
  10.         return false, input
  11.     end
  12. end
  13.  
  14. -- returns true if the block in this directions is in the given array
  15. local function Forward(arr)
  16.     local bBlockForward, data = turtle.inspect()
  17.     local blockname = data.name
  18.     if bBlockForward then
  19.         for i = 1, #arr, 1 do
  20.             local bShort, strName =  startsWithAndTrim(arr[i])
  21.             if bShort then
  22.                 if containsString(blockname, strName) then
  23.                     if blockname == "minecraft:lava" then
  24.                         local level = data.state.level
  25.                         if not (level == 0) then
  26.                             return false
  27.                         end
  28.                     end
  29.                     return true
  30.                 end
  31.             else
  32.                 if blockname == strName then
  33.                     if blockname == "minecraft:lava" then
  34.                         local level = data.state.level
  35.                         if not (level == 0) then
  36.                             return false
  37.                         end
  38.                     end
  39.                     return true
  40.                 end
  41.             end
  42.         end
  43.     end
  44.     return false
  45. end
  46.  
  47. local function Up(arr)
  48.     local bBlockUp, data = turtle.inspectUp()
  49.     local blockname = data.name
  50.     if bBlockUp then
  51.         for i = 1, #arr, 1 do
  52.             local bShort, strName =  startsWithAndTrim(arr[i])
  53.             if bShort then
  54.                 if containsString(blockname, strName) then
  55.                     if blockname == "minecraft:lava" then
  56.                         local level = data.state.level
  57.                         if not (level == 0) then
  58.                             return false
  59.                         end
  60.                     end
  61.                     return true
  62.                 end
  63.             else
  64.                 if blockname == strName then
  65.                     if blockname == "minecraft:lava" then
  66.                         local level = data.state.level
  67.                         if not (level == 0) then
  68.                             return false
  69.                         end
  70.                     end
  71.                     return true
  72.                 end
  73.             end
  74.         end
  75.     end
  76.     return false
  77. end
  78.  
  79. local function Down(arr)
  80.     local bBlockDown, data = turtle.inspectDown()
  81.     local blockname = data.name
  82.     if bBlockDown then
  83.         for i = 1, #arr, 1 do
  84.             local bShort, strName =  startsWithAndTrim(arr[i])
  85.             if bShort then
  86.                 if containsString(blockname, strName) then
  87.                     if blockname == "minecraft:lava" then
  88.                         local level = data.state.level
  89.                         if not (level == 0) then
  90.                             return false
  91.                         end
  92.                     end
  93.                     return true
  94.                 end
  95.             else
  96.                 if blockname == strName then
  97.                     if blockname == "minecraft:lava" then
  98.                         local level = data.state.level
  99.                         if not (level == 0) then
  100.                             return false
  101.                         end
  102.                     end
  103.                     return true
  104.                 end
  105.             end
  106.         end
  107.     end
  108.     return false
  109. end
  110.  
  111. return { Forward = Forward, Up = Up, Down = Down}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement