Usage:
- Load the module like a normal module with require.
- Either use the dig methods exposed by the module
- or use the
injectIntoTurtleApi
function and then use the normal turtle functions.
local oldturtle = { | |
dig = turtle.dig, | |
digUp = turtle.digUp, | |
digDown = turtle.digDown, | |
place = turtle.place, | |
placeUp = turtle.placeUp, | |
placeDown = turtle.placeDown, | |
} | |
local function dig(side) | |
local ok, err | |
repeat | |
ok, err = oldturtle.dig(side) | |
until ok or err ~= "Cannot break protected block" | |
return ok, err | |
end | |
local function digUp(side) | |
local ok, err | |
repeat | |
ok, err = oldturtle.digUp(side) | |
until ok or err ~= "Cannot break protected block" | |
return ok, err | |
end | |
local function digDown(side) | |
local ok, err | |
repeat | |
ok, err = oldturtle.digDown(side) | |
until ok or err ~= "Cannot break protected block" | |
return ok, err | |
end | |
local function place(text) | |
local ok, err | |
repeat | |
ok, err = oldturtle.place(text) | |
until ok or err ~= "Cannot place block here" or turtle.detect() | |
return ok, err | |
end | |
local function placeUp(text) | |
local ok, err | |
repeat | |
ok, err = oldturtle.placeUp(text) | |
until ok or err ~= "Cannot place block here" or turtle.detect() | |
return ok, err | |
end | |
local function placeDown(text) | |
local ok, err | |
repeat | |
ok, err = oldturtle.placeDown(text) | |
until ok or err ~= "Cannot place block here" or turtle.detect() | |
return ok, err | |
end | |
turtle._kubejs_workaround_injected = false | |
local function injectIntoTurtleApi() | |
if not turtle._kubejs_workaround_injected then | |
turtle._kubejs_workaround_injected = true | |
turtle.digDown = digDown | |
turtle.digUp = digUp | |
turtle.dig = dig | |
turtle.placeDown = placeDown | |
turtle.placeUp = placeUp | |
turtle.place = place | |
end | |
end | |
return { | |
injectIntoTurtleApi = injectIntoTurtleApi, | |
dig = dig, | |
digUp = digUp, | |
digDown = digDown, | |
placeDown = placeDown, | |
placeUp = placeUp, | |
place = place, | |
} |