Advertisement
13Gusttavo13

boot

Jan 4th, 2025 (edited)
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 5.24 KB | None | 0 0
  1. local loader = require("loader")
  2. local press = peripheral.wrap("left")
  3. local chest = peripheral.find("minecraft:chest")
  4. local me = peripheral.find("meBridge")
  5.  
  6. local request = loader.menu()
  7.  
  8. local nameAtual = request.name
  9. local nivelAtual = request.level
  10. local nbtAtual = request.nbt
  11. local toolAtual = request.tool
  12. local desejado = request.desejado
  13.  
  14. while nivelAtual ~= desejado do
  15.     print("Nivel Desejado: " .. desejado)
  16.     print("Nivel Atual: " .. nivelAtual)
  17.     for _, v in pairs(me.listItems()) do
  18.         if v.nbt.tag and v.nbt.tag.reference then
  19.             for __, v1 in pairs(v.nbt.tag.reference.tag.StoredEnchantments) do
  20.                 local nome = v1.id:match(":(.+)")
  21.                 -- loader.salvar(nome, v1.lvl, v.fingerprint)
  22.                 -- loader.salvar(nome, v1.lvl, v.fingerprint, "diamond_")
  23.                 if nameAtual == nome and nivelAtual == v1.lvl then
  24.                     -- print("DEBUG nivelAtual" .. nivelAtual .. " - " .. v1.lvl)
  25.                     local item = me.getItem({fingerprint = v.fingerprint})
  26.                     me.exportItem(item, "up")
  27.  
  28.                     local toolItem = me.getItem({name = "minecraft:" .. toolAtual })
  29.                     me.exportItem(toolItem, "up")
  30.  
  31.                     for slot, valor in pairs(chest.list()) do
  32.                         if valor.name == "sfm:form" then
  33.                             chest.pushItems(peripheral.getName(press), slot)
  34.                             break
  35.                         end
  36.                     end
  37.  
  38.                     -- chest.pushItems(peripheral.getName(press),1)
  39.                     local booksCount = 0
  40.                     while booksCount < 2 do
  41.                         sleep(0.6)  
  42.                         booksCount = booksCount + 1
  43.                         redstone.setOutput("back", true)
  44.                         sleep(0.6)
  45.                         redstone.setOutput("back", false)
  46.                         sleep(0.6)
  47.                         press.pushItems(peripheral.getName(chest),3)
  48.                     end
  49.  
  50.                     press.pushItems(peripheral.getName(chest), 1)
  51.                     me.importItem(item, "up")
  52.                     -- print("Nivel " .. nivelAtual .. " finalizado")
  53.                     term.clear()
  54.                     term.setCursorPos(1,1)
  55.                     print("Esperando nova prensa...")
  56.                     sleep(5)
  57.                     local found = false
  58.                     while not found do
  59.                         for slot, item in pairs(chest.list()) do
  60.                            if item.name == "sfm:form" then
  61.                                print("Registrando...")
  62.                                local oldName = item.name
  63.                                local oldNBT = item.nbt
  64.                                me.importItem(item, "up")
  65.  
  66.                                local newPress = me.getItem({name = oldName, nbt = oldNBT})
  67.                                if newPress.nbt.tag and newPress.nbt.tag.reference then
  68.                                    for __, v1 in pairs(newPress.nbt.tag.reference.tag.StoredEnchantments) do
  69.                                        local nome = v1.id:match(":(.+)")
  70.                                        -- print("Nova prensa - " .. nome)
  71.                                        -- print("DEBUG salvando" .. nivelAtual .. " - " .. nome)
  72.                                        loader.salvar(nome, v1.lvl, newPress.fingerprint, "diamond_")
  73.                                    end
  74.                                end
  75.                                found = true
  76.                                nivelAtual = nivelAtual + 1
  77.                             end
  78.                         end
  79.                         if not found then
  80.                             sleep(1)
  81.                         end
  82.                     end
  83.                 end
  84.             end
  85.         end
  86.     end
  87. end
  88.  
  89. if nivelAtual == desejado then
  90.     for _, v in pairs(me.listItems()) do
  91.         if v.nbt.tag and v.nbt.tag.reference then
  92.             for __, v1 in pairs(v.nbt.tag.reference.tag.StoredEnchantments) do
  93.                 local nome = v1.id:match(":(.+)")
  94.                 if nameAtual == nome and nivelAtual == v1.lvl then
  95.                     local item = me.getItem({fingerprint = v.fingerprint})
  96.                     me.exportItem(item, "up")
  97.  
  98.                     for slot, valor in pairs(chest.list()) do
  99.                         if valor.name == "sfm:form" then
  100.                             chest.pushItems(peripheral.getName(press), slot)
  101.                             break
  102.                         end
  103.                     end
  104.                    
  105.                     sleep(0.6)
  106.                     redstone.setOutput("back", true)
  107.                     sleep(0.6)
  108.                     redstone.setOutput("back", false)
  109.                     sleep(0.6)
  110.                     press.pushItems(peripheral.getName(chest),3)
  111.  
  112.                     press.pushItems(peripheral.getName(chest), 1)
  113.                     me.importItem(item, "up")
  114.                     -- print("Nivel " .. nivelAtual .. " finalizado")
  115.                     term.clear()
  116.                     term.setCursorPos(1,1)
  117.                 end
  118.              end
  119.          end
  120.      end
  121. end
  122.  
  123. print("Feito " .. nameAtual .. " LVL " .. nivelAtual)
  124.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement