Advertisement
BigBlow_

MobFarmController_Slave

Mar 18th, 2025 (edited)
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.04 KB | None | 0 0
  1. -- CONFIGURATION --
  2. local redstoneSide = "bottom" -- Côté de la redstone (modifiable ici)
  3.  
  4. -- Fonction pour demander un ID et le stocker
  5. local function demanderID()
  6. local fichierID = "id_spawner.txt"
  7.  
  8. -- Vérifier si l'ID existe déjà
  9. if fs.exists(fichierID) then
  10. -- Lire l'ID du fichier
  11. local fichier = fs.open(fichierID, "r")
  12. local id = tonumber(fichier.readAll())
  13. fichier.close()
  14. return id
  15. else
  16. -- Si le fichier n'existe pas, demander un ID
  17. write("Entrez l'ID du spawner: ")
  18. local id = tonumber(read())
  19.  
  20. -- Sauvegarder l'ID dans un fichier
  21. local fichier = fs.open(fichierID, "w")
  22. fichier.write(tostring(id))
  23. fichier.close()
  24.  
  25. return id
  26. end
  27. end
  28.  
  29. -- Demander l'ID du spawner (et le sauvegarder si c'est le premier démarrage)
  30. local SPAWNER_ID = demanderID()
  31.  
  32. local modem = peripheral.find("modem")
  33. if not modem then
  34. error("Aucun modem detecté")
  35. end
  36.  
  37. modem.open(128) -- Écoute sur le canal 128
  38. redstone.setOutput(redstoneSide, false) -- Désactive la redstone au départ
  39.  
  40. -- Fonction pour obtenir la date et l'heure au format HH:mm:ss_DD/MM
  41. local function getDateHeure()
  42. local heure, minute, seconde = os.date("*t").hour, os.date("*t").min, os.date("*t").sec
  43. local jour, mois = os.date("*t").day, os.date("*t").month
  44. return string.format("%02d:%02d:%02d_%02d/%02d", heure, minute, seconde, jour, mois)
  45. end
  46.  
  47. print("Attente des commandes pour le spawner ID: " .. SPAWNER_ID)
  48.  
  49. while true do
  50. local event, side, senderChannel, replyChannel, message = os.pullEvent("modem_message")
  51.  
  52. if type(message) == "table" and message.id == SPAWNER_ID then
  53. -- Active ou désactive la redstone sur le côté défini
  54. redstone.setOutput(redstoneSide, message.state)
  55.  
  56. -- Affichage avec la date et l'heure
  57. local dateHeure = getDateHeure()
  58. print("[" .. dateHeure .. "] Spawner " .. SPAWNER_ID .. " " .. (message.state and "activé" or "désactivé"))
  59. end
  60. end
  61.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement