Advertisement
Lanzr

trade_infi

Jul 8th, 2024
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.86 KB | None | 0 0
  1. local tdb = peripheral.wrap("right")
  2. local isto = peripheral.wrap("top")
  3. local osto = peripheral.wrap("bottom")
  4. local mot = peripheral.wrap("left")
  5. local motw, moth = mot.getSize()
  6. local zoom =2
  7. local function mainloop()
  8. while 1 do
  9.     mot.clear()
  10.     mot.setCursorPos(1,1)
  11.     local ret,res = tdb.getTrades();
  12.     mot.setTextScale(1)
  13.     for i,j in pairs(res) do
  14.         -- local y = (i-1)*2 + 1
  15.         local y = (i-1)*zoom + 1
  16.         for k,l in pairs(j["result"]) do
  17.             local div = string.find(k,":")
  18.             mot.setCursorPos(1,y)
  19.             local result = j["result"]
  20.             for key, value in pairs(result) do
  21.                 if key == "minecraft:enchanted_book" then
  22.                     -- find enchanted_book
  23.                     local enchants = value["enchants"]
  24.                     for key, value in pairs(enchants) do
  25.                         local ret = nil
  26.                         local pos = string.find(key,":")
  27.                         key = string.sub(key,pos+1)
  28.                         mot.write("book :"..key)
  29.                     end
  30.                 else
  31.                     mot.write(string.sub(k,div+1))
  32.                 end
  33.             end
  34.             --     mot.write(string.sub(k,div+1))
  35.             -- end
  36.         end
  37.     end
  38.     os.sleep(3);
  39. end
  40. end
  41.  
  42. local function clickCatch()
  43. while 1 do
  44.     local event, side, mx, my = os.pullEvent("monitor_touch")
  45.     if (event ~= nil) then
  46.         print("mx",mx,"my",my)
  47.         local ret,res2 = tdb.getTrades()
  48.         local tdsize = table.getn(res2)
  49.         for i=zoom+1,moth,zoom do
  50.             if((i-1)/zoom > tdsize) then
  51.                 break
  52.             end
  53.             if ( my < i  ) then
  54.                 tdb.trade("top","bottom",(i-1)/zoom)
  55.                 break
  56.             end
  57.         end
  58.     end
  59. end
  60. end
  61.  
  62. parallel.waitForAll(mainloop,clickCatch)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement