Vladexus7

AE2 autorequester list updater

Nov 16th, 2025 (edited)
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.63 KB | Software | 0 0
  1. local meBridge = peripheral.wrap("bottom")
  2.  
  3. local fileName = "liste.txt"
  4. local existingItems = {}
  5.  
  6. -- Lit le fichier liste.txt et stocke les noms déjà présents dans existingItems
  7. local function loadExistingItems()
  8.     if fs.exists(fileName) then
  9.         local file = fs.open(fileName, "r")
  10.         while true do
  11.             local line = file.readLine()
  12.             if not line then break end
  13.             local name, qty = string.match(line, "^([^,]+),%d+$")
  14.             if name then
  15.                 existingItems[name] = true
  16.             end
  17.         end
  18.         file.close()
  19.     end
  20. end
  21.  
  22. -- Ajoute une nouvelle ligne dans liste.txt
  23. local function appendNewItem(itemName, qty)
  24.     local file = fs.open(fileName, "a")
  25.     file.writeLine(itemName .. "," .. qty)
  26.     file.close()
  27.     print("Ajouté dans liste.txt : " .. itemName .. "," .. qty)
  28. end
  29.  
  30. -- Récupère tous les items craftables et ajoute ceux absents dans liste.txt
  31. local function updateCraftableItems()
  32.     local craftables, err = meBridge.getCraftableItems()
  33.     if not craftables then
  34.         error("Impossible de récupérer la liste des items craftables: " .. (err or "erreur inconnue"))
  35.     end
  36.  
  37.     loadExistingItems()
  38.  
  39.     for _, item in ipairs(craftables) do
  40.         if item.name and not existingItems[item.name] then
  41.             -- Par défaut, on met la quantité minimale à 0, à adapter selon besoin
  42.             appendNewItem(item.name, 0)
  43.             existingItems[item.name] = true
  44.         end
  45.     end
  46. end
  47.  
  48. print("Mise à jour du fichier liste.txt avec les nouveaux crafts disponibles...")
  49. updateCraftableItems()
  50. print("Mise à jour terminée.")
  51.  
Advertisement
Add Comment
Please, Sign In to add comment