lambdaCraft

mc-puppet

Jan 18th, 2020
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.66 KB | None | 0 0
  1. function withWirelessModem(proc)
  2.     for _, mSide in ipairs( peripheral.getNames() ) do
  3.         if peripheral.getType( mSide ) == "modem" then
  4.             local modem = peripheral.wrap( mSide )
  5.             if modem.isWireless() then
  6.                 print("found wireless modem: " .. mSide)
  7.                 rednet.open(mSide)
  8.                 proc(modem)
  9.                 rednet.close(mSide)
  10.             end
  11.         end
  12.     end
  13. end
  14.  
  15. function run_puppet()
  16.     withWirelessModem(function ()
  17.         while true do
  18.             local senderId, msg, _ = rednet.receive("puppet")
  19.             print("Command from " .. senderId .. ": " .. msg)
  20.             if msg == "f" then
  21.                 turtle.forward()
  22.             elseif msg == "b" then
  23.                 turtle.back()
  24.             elseif msg == "l" then
  25.                 turtle.turnLeft()
  26.             elseif msg == "r" then
  27.                 turtle.turnRight()
  28.             elseif msg == "u" then
  29.                 turtle.up()
  30.             elseif msg == "d" then
  31.                 turtle.down()
  32.             elseif msg == "dig" then
  33.                 turtle.dig()
  34.             elseif msg == "digU" then
  35.                 turtle.digUp()
  36.             elseif msg == "digD" then
  37.                 turtle.digDown()
  38.             elseif msg == "refuel" then
  39.                 turtle.refuel()
  40.             end
  41.         end
  42.     end)
  43. end
  44.  
  45. function run_puppeteer(cmd)
  46.     withWirelessModem(function ()
  47.         rednet.broadcast(cmd, "puppet")
  48.     end)
  49. end
  50.  
  51. args = {...}
  52. if turtle ~= nil and #args == 0 then
  53.     run_puppet()
  54. elseif turtle == nil and #args == 1 then
  55.     run_puppeteer(args[1])
  56. else
  57.     print("usage: puppet [cmd]")
  58. end
Advertisement
Add Comment
Please, Sign In to add comment