52 lines
1.3 KiB
Lua
52 lines
1.3 KiB
Lua
local function getPeripheralDirection()
|
|
print("Enter the direction of the peripheral (left, right, top, bottom, front, back):")
|
|
local direction = io.read()
|
|
if not direction or direction == "quit" or direction == "exit" then
|
|
print("No direction specified, exiting.")
|
|
return
|
|
end
|
|
return direction
|
|
end
|
|
|
|
local function checkDirectionIsValid(direction)
|
|
if not direction or direction == "quit" or direction == "exit" then
|
|
print("No direction specified, exiting.")
|
|
return false
|
|
end
|
|
return true
|
|
end
|
|
|
|
local function getMethodsPeripheral(direction)
|
|
local info = peripheral.getMethods(direction)
|
|
return info
|
|
end
|
|
|
|
local function displayMethodsPeripheral(info)
|
|
local nbOfMethods = 0
|
|
for methodName, methodInfo in pairs(info) do
|
|
nbOfMethods = nbOfMethods + 1
|
|
if nbOfMethods > 10 then
|
|
print("Too many methods, please press a key to continue...")
|
|
event, p1 = os.pullEvent("key")
|
|
nbOfMethods = 0
|
|
term.clear()
|
|
end
|
|
print(methodName .. ' ' .. methodInfo)
|
|
end
|
|
end
|
|
|
|
-- main
|
|
local direction = getPeripheralDirection()
|
|
local isDirectionIsNotEmpty = checkDirectionIsValid(direction)
|
|
if not isDirectionIsNotEmpty then
|
|
print("No direction specified, exiting.")
|
|
return
|
|
end
|
|
local info = getMethodsPeripheral(direction)
|
|
if not info then
|
|
print("No info found, exiting.")
|
|
return
|
|
end
|
|
|
|
displayMethodsPeripheral(info)
|