Wie erfahre ich, ob MFSU die Hälfte unter der Energie hat

Ich laufe die Anzahl der Atomreaktoren und ich will die MFSU abschalten, habe genug Energie und fahre nicht genug Energie an.

Kernreaktor wird Brennstoffzelle abgeben, wenn angeschlossene MFSU bereits voll aufgeladen ist, und ich habe Industrial Information Panel zeigt, wie viel MFSU geladen. Ich bin es leid, die Hebel auf den Kernreaktor manuell zu schalten.

Gibt es sowieso MFSU (MFE) Einheit haben halbe Energie?

Ich benutze dir die bisherige Version von portwolf20.

Es scheint, dass ComputerCraft eine Lösung sein könnte Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Bearbeitet: Ich habe einen Workaround gefunden. Wer kennt eine bessere Idee? Ich bin ziemlich neu für Computer und Lua, damit ich es nicht benutzen möchte. Bildbeschreibung hier eingeben

One Solution collect form web for “Wie erfahre ich, ob MFSU die Hälfte unter der Energie hat”

2 Lösungen:

Methode 1

Ich weiß, du hast gesagt, du wolltest nicht ComputerCraft verwenden, aber es ist eine anpassungsfähigere Weise als die andere, wenn du mehr MFSU hinzufügen willst. Wenn du es tust, kommentiere ich und ich werde mit Info darüber nachrichten. Setzen Sie einen Computer und machen Sie

edit reactor

In dieser Datei setzen:

 mfe = peripheral.wrap("side") while true do euPercent = mfe.getEUStored() / mfe.getEUCapacity() if euPercent==1 then redstone.setOutput("side", false) elseif euPercent<=.5 then redstone.setOutput("side", true) end sleep(1) end 

Speichern Sie durch Drücken von STRG, indem Sie "Speichern" mit den Pfeilen auswählen und ENTER drücken. Drücken Sie erneut CTRL, wählen Sie mit den Pfeilen "Exit" und drücken Sie ENTER.

Lassen Sie uns erklären, was das tut:

mfe = peripheral.wrap("side") weist die Variable mfsu an peripheral.wrap("side") . Achten Sie darauf, die Seite mit der Seite zu ersetzen, auf der die MFSU eingeschaltet ist.

while true do beginnt eine while-Schleife. Dies wird den Code in jedem Tick, es sei denn, es ist ein Schlaf.

euPercent = mfsu.getEUStored() / mfsu.getEUCapacity() liest die EU und teilt sie mit der Gesamtkapazität auf, um eine Dezimalzahl aus der Summe zu erhalten.

if euPercent==1 then prüft, ob die MFSU voll ist. Wenn es so ist, läuft es irgendeinen Code bis zu einem else oder end .

redstone.setOutput("side", false) setzt den Redstone-Ausgang von side auf false aus und schaltet die Reaktoren aus. Vergewissern Sie sich, dass Sie Seite an die Seite wechseln, die der Redstone zu Ihren Reaktoren führt.

else if euPercent<=.5 then endet else if euPercent<=.5 then den Code, der von der vorherigen else if euPercent<=.5 then und startet einen else if . Dies wird, wenn das vorherige wenn falsch ist, prüft, ob das if true ist und wenn ja, verhält sich das gleiche wie das ob oben.

redstone.setOutput("side", true) setzt den Redstone-Ausgang von side auf true, wobei die Reaktoren eingeschaltet werden. Vergewissern Sie sich, dass Sie Seite an die Seite wechseln, die der Redstone zu Ihren Reaktoren führt.

sleep(1) wartet auf 1 Sekunde, bevor er an die Spitze der while-Schleife geht und alles wieder läuft.

Als nächstes edit startup . Dies wird eine Datei erstellen, die beim Start des Computers ausgeführt wird. In ihm setzen:

  shell.run("reactor") 

Dies bedeutet, dass beim Start die zuvor erstellte Reaktordatei den Code in ihm laufen lassen wird.

Methode 2

Verwenden Sie ein BuildCraft-Gatter, um festzustellen, wann das MFSU voll ist und ein Redstone-Signal ausgeben. Dann invertiere das mit einer Redstone-Fackel. Ich werde weitere Details hinzufügen, wenn ich kann (tommrow EST um 9 Uhr).