2017-05-01 13:32:39 +00:00
|
|
|
|
|
|
|
if not turtle then
|
2018-12-17 17:22:15 +00:00
|
|
|
error( "Cannot load turtle API on computer", 2 )
|
2017-05-01 13:32:39 +00:00
|
|
|
end
|
|
|
|
native = turtle.native or turtle
|
|
|
|
|
|
|
|
local function addCraftMethod( object )
|
|
|
|
if peripheral.getType( "left" ) == "workbench" then
|
|
|
|
object.craft = function( ... )
|
|
|
|
return peripheral.call( "left", "craft", ... )
|
|
|
|
end
|
|
|
|
elseif peripheral.getType( "right" ) == "workbench" then
|
|
|
|
object.craft = function( ... )
|
|
|
|
return peripheral.call( "right", "craft", ... )
|
|
|
|
end
|
|
|
|
else
|
|
|
|
object.craft = nil
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
-- Put commands into environment table
|
|
|
|
local env = _ENV
|
2019-12-07 10:33:47 +00:00
|
|
|
for k, v in pairs( native ) do
|
2017-05-01 13:32:39 +00:00
|
|
|
if k == "equipLeft" or k == "equipRight" then
|
|
|
|
env[k] = function( ... )
|
|
|
|
local result, err = v( ... )
|
|
|
|
addCraftMethod( turtle )
|
|
|
|
return result, err
|
|
|
|
end
|
|
|
|
else
|
2018-12-17 17:22:15 +00:00
|
|
|
env[k] = v
|
2017-05-01 13:32:39 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
addCraftMethod( env )
|