From ddc41394d0ee70299400c26e39e3a08f87ee69cf Mon Sep 17 00:00:00 2001 From: Joachim Stolberg Date: Fri, 18 Dec 2020 20:17:21 +0100 Subject: [PATCH] Add door controller II --- doc/manual_DE.lua | 11 +++++++++++ doc/manual_EN.lua | 9 +++++++++ init.lua | 1 + locale/techage.de.tr | 25 +++++++++++++++++++------ locale/template.txt | 22 +++++++++++++++++++--- logic/doorcontroller.lua | 2 +- logic/sequencer.lua | 2 ++ manuals/manual_ta3_DE.md | 8 ++++++++ manuals/manual_ta3_EN.md | 8 ++++++-- manuals/toc_DE.md | 27 ++++++++++++++------------- manuals/toc_EN.md | 1 + 11 files changed, 91 insertions(+), 25 deletions(-) diff --git a/doc/manual_DE.lua b/doc/manual_DE.lua index a57960e..dd6473d 100644 --- a/doc/manual_DE.lua +++ b/doc/manual_DE.lua @@ -104,6 +104,7 @@ techage.manual_DE.aTitel = { "3,TechAge Signallampe / Signal Lamp", "3,Tür/Tor Blöcke / Door/Gate Blocks", "3,TA3 Tür Controller / Door Controller", + "3,TA3 Tür Controller II / Door Controller II", "3,TA3 Mesecons Umsetzer / TA3 Mesecons Converter", "2,Detektoren", "3,TA3 Detektor / Detector", @@ -983,11 +984,19 @@ techage.manual_DE.aText = { "\n".. "\n".. "\n", + "Der Tür Controller II kann alle Arten von Blöcken entfernen und wieder setzen. Um den Tür Controller II anzulernen\\, muss der \"Aufzeichnen\" Button gedrückt werden. Dann müssen alle Blöcke angeklickt werden\\, die Teil der Tür / des Tores sein sollen. Danach muss der \"Fertig\" Button gedrückt werden. Es können bis zu 16 Blöcke ausgewählt werden. Die entfernten Blöcke werden im Inventar des Controllers gespeichert. Über die Tasten \"Entfernen\" bzw. \"Setzen\" kann die Funktion des Controllers von Hand getestet werden.\n".. + "\n".. + "Wird ein 'on' / 'off' Kommando an den Tür Controller II gesendet\\, entfernt bzw. setzt er die Blöcke ebenfalls.\n".. + "\n".. + "\n".. + "\n", "Der Mesecons Umsetzer dient zur Umwandlung von Techage on/off Kommandos in Mesecons Signale und umgekehrt.\n".. "Dazu müssen eine oder mehrere Knotennummern eingegeben und der Konverter mit Mesecons Blöcken \n".. "über Mesecons Leitungen verbunden werden. Den Mesecons Umsetzer kann man auch mit dem Programmer konfigurieren.\n".. "Der Mesecons Umsetzer akzeptiert bis zu 5 Kommandos pro Sekunde\\, bei höherer Belastung schaltet er sich ab.\n".. "\n".. + "*Dieser Block existiert aber nur\\, wenn die Mod mesecons aktiv ist!*\n".. + "\n".. "\n".. "\n", "Detektoren scannen ihre Umgebung ab und senden ein 'on'-Kommando\\, wenn das Gesuchte erkannt wurde.\n".. @@ -1677,6 +1686,7 @@ techage.manual_DE.aItemName = { "ta3_signallamp", "ta3_doorblock", "ta3_doorcontroller", + "ta3_doorcontroller", "ta3_mesecons_converter", "ta3_nodedetector", "ta3_detector", @@ -1894,6 +1904,7 @@ techage.manual_DE.aPlanTable = { "", "", "", + "", "ta4_windturbine", "", "", diff --git a/doc/manual_EN.lua b/doc/manual_EN.lua index 792bd32..537251f 100644 --- a/doc/manual_EN.lua +++ b/doc/manual_EN.lua @@ -103,6 +103,7 @@ techage.manual_EN.aTitel = { "3,TechAge Signal Lamp", "3,Door/Gate Blocks", "3,TA3 Door Controller", + "3,TA3 Door Controller II", "3,TA3 Mesecons Converter", "2,Detectors", "3,TA3 Detector", @@ -974,11 +975,17 @@ techage.manual_EN.aText = { "\n".. "\n".. "\n", + "The Door Controller II can remove and set all types of blocks. To teach in the Door Controller II\\, the \"Record\" button must be pressed. Then all blocks that should be part of the door / gate must be clicked. Then the \"Done\" button must be pressed. Up to 16 blocks can be selected. The removed blocks are saved in the controller's inventory. The function of the controller can be tested manually using the \"Remove\" or \"Set\" buttons. If an 'on' /'off' command is sent to the Door Controller II\\, it removes or sets the blocks as well.\n".. + "\n".. + "\n".. + "\n", "The Mesecons converter is used to convert Techage on/off commands into Mesecons signals and vice versa.\n".. "To do this\\, one or more node numbers must be entered and the converter with Mesecons blocks\n".. "has to be connected via Mesecons cables. The Mesecons converter can also be configured with the programmer.\n".. "The Mesecons converter accepts up to 5 commands per second\\; it switches itself off at higher loads.\n".. "\n".. + "*This node only exists if the mod mesecons is active!*\n".. + "\n".. "\n".. "\n", "Detectors scan their surroundings and send an 'on' command when the search is recognized.\n".. @@ -1660,6 +1667,7 @@ techage.manual_EN.aItemName = { "ta3_signallamp", "ta3_doorblock", "ta3_doorcontroller", + "ta3_doorcontroller", "ta3_mesecons_converter", "ta3_nodedetector", "ta3_detector", @@ -1876,6 +1884,7 @@ techage.manual_EN.aPlanTable = { "", "", "", + "", "ta4_windturbine", "", "", diff --git a/init.lua b/init.lua index ee8d76a..cdb0163 100644 --- a/init.lua +++ b/init.lua @@ -242,6 +242,7 @@ dofile(MP.."/logic/cart_detector.lua") dofile(MP.."/logic/gateblock.lua") dofile(MP.."/logic/doorblock.lua") dofile(MP.."/logic/doorcontroller.lua") +dofile(MP.."/logic/doorcontroller2.lua") dofile(MP.."/logic/collector.lua") if minetest.global_exists("mesecon") then dofile(MP.."/logic/mesecons_converter.lua") diff --git a/locale/techage.de.tr b/locale/techage.de.tr index f33a388..62b9453 100644 --- a/locale/techage.de.tr +++ b/locale/techage.de.tr @@ -242,12 +242,24 @@ TechAge Door Block=TechAge Türblock ### doorcontroller.lua ### Insert door/gate block number(s)=Gebe Tür-/Tornummer(n) ein -TA3 Door Controller=TA3 Tür Controller ### doorcontroller.lua ### -### repeater.lua ### +### doorcontroller2.lua ### -TA3 Repeater=TA3 Wiederholer +TA3 Door Controller=TA3 Tür Controller + +### doorcontroller2.lua ### + +Click on all the blocks that are part of the door/gate= +Ctrl,Inv= +Done= +Done.= +Hide= +Record= +Recording...= +Show= +TA3 Door Controller 2= +marked= ### drillbox.lua ### @@ -795,6 +807,10 @@ TechAge Info Tool (use @= read status info)=TechAge Info Werkzeug TechAge Repair Kit=TechAge Reparaturset repaired=repariert +### repeater.lua ### + +TA3 Repeater=TA3 Wiederholer + ### rotor.lua ### Nacelle is missing=Die Gondel fehlt @@ -1006,6 +1022,3 @@ This is not the surface of the ocean!=Das ist nicht die Meeresoberfläche! [TA4 Wind Turbine]=[TA4 Windkraftanlage] biome and no ocean!=Biom und keine Meer (ocean)! is a suitable place for a wind turbine!=ist ein geeigneter Ort für eine Windkraftanlage! - - -##### not used anymore ##### diff --git a/locale/template.txt b/locale/template.txt index 65cba57..cc83b2d 100644 --- a/locale/template.txt +++ b/locale/template.txt @@ -242,12 +242,24 @@ TechAge Door Block= ### doorcontroller.lua ### Insert door/gate block number(s)= -TA3 Door Controller= ### doorcontroller.lua ### -### repeater.lua ### +### doorcontroller2.lua ### -TA3 Repeater= +TA3 Door Controller= + +### doorcontroller2.lua ### + +Click on all the blocks that are part of the door/gate= +Ctrl,Inv= +Done= +Done.= +Hide= +Record= +Recording...= +Show= +TA3 Door Controller 2= +marked= ### drillbox.lua ### @@ -795,6 +807,10 @@ TechAge Info Tool (use @= read status info)= TechAge Repair Kit= repaired= +### repeater.lua ### + +TA3 Repeater= + ### rotor.lua ### Nacelle is missing= diff --git a/logic/doorcontroller.lua b/logic/doorcontroller.lua index 3556343..1ace3a0 100644 --- a/logic/doorcontroller.lua +++ b/logic/doorcontroller.lua @@ -95,7 +95,7 @@ minetest.register_node("techage:ta3_doorcontroller", { techage_set_numbers = function(pos, numbers, player_name) local meta = M(pos) - local res = logic.set_numbers(pos, numbers, player_name, S("TA3 Repeater")) + local res = logic.set_numbers(pos, numbers, player_name, S("TA3 Door Controller")) if res then swap_door_nodes(pos, false) meta:set_string("formspec", formspec(meta)) diff --git a/logic/sequencer.lua b/logic/sequencer.lua index f62706b..06c9e41 100644 --- a/logic/sequencer.lua +++ b/logic/sequencer.lua @@ -93,6 +93,7 @@ local function restart_timer(pos, time) timer:stop() end if type(time) == "number" then + time = math.max(time, 0.5) timer:start(time) end end @@ -115,6 +116,7 @@ local function check_rules(pos, elapsed) offs = 1 end if offs > 0 then + -- we can't restart the timer within the function om_timer minetest.after(0, restart_timer, pos, offs) return false end diff --git a/manuals/manual_ta3_DE.md b/manuals/manual_ta3_DE.md index 5290ad9..8dcfa4c 100644 --- a/manuals/manual_ta3_DE.md +++ b/manuals/manual_ta3_DE.md @@ -620,6 +620,14 @@ Der Tür Controller dient zur Ansteuerung der TA3 Tür/Tor Blöcke. Beim Tür Co [ta3_doorcontroller|image] +### TA3 Tür Controller II / Door Controller II + +Der Tür Controller II kann alle Arten von Blöcken entfernen und wieder setzen. Um den Tür Controller II anzulernen, muss der "Aufzeichnen" Button gedrückt werden. Dann müssen alle Blöcke angeklickt werden, die Teil der Tür / des Tores sein sollen. Danach muss der "Fertig" Button gedrückt werden. Es können bis zu 16 Blöcke ausgewählt werden. Die entfernten Blöcke werden im Inventar des Controllers gespeichert. Über die Tasten "Entfernen" bzw. "Setzen" kann die Funktion des Controllers von Hand getestet werden. + +Wird ein `on` / `off` Kommando an den Tür Controller II gesendet, entfernt bzw. setzt er die Blöcke ebenfalls. + +[ta3_doorcontroller|image] + ### TA3 Mesecons Umsetzer / TA3 Mesecons Converter Der Mesecons Umsetzer dient zur Umwandlung von Techage on/off Kommandos in Mesecons Signale und umgekehrt. diff --git a/manuals/manual_ta3_EN.md b/manuals/manual_ta3_EN.md index d5bbd97..e3a9801 100644 --- a/manuals/manual_ta3_EN.md +++ b/manuals/manual_ta3_EN.md @@ -603,14 +603,18 @@ This makes it possible to realize secret doors that only open for certain player [ta3_doorblock|image] - - ### TA3 Door Controller The door controller is used to control the TA3 door/gate blocks. With the door controller, the numbers of the door/gate blocks must be entered. If an `on` / `off` command is sent to the door controller, this opens/closes the door or gate. [ta3_doorcontroller|image] +### TA3 Door Controller II + +The Door Controller II can remove and set all types of blocks. To teach in the Door Controller II, the "Record" button must be pressed. Then all blocks that should be part of the door / gate must be clicked. Then the "Done" button must be pressed. Up to 16 blocks can be selected. The removed blocks are saved in the controller's inventory. The function of the controller can be tested manually using the "Remove" or "Set" buttons. If an `on` /` off` command is sent to the Door Controller II, it removes or sets the blocks as well. + +[ta3_doorcontroller|image] + ### TA3 Mesecons Converter diff --git a/manuals/toc_DE.md b/manuals/toc_DE.md index eb3164c..43ebff9 100644 --- a/manuals/toc_DE.md +++ b/manuals/toc_DE.md @@ -45,10 +45,10 @@ - [TA2 Flüssigkeitensammler / Liquid Sampler](./manual_ta2_DE.md#ta2-flüssigkeitensammler--liquid-sampler) - [TA2 Gesicherte Kiste / Protected Chest](./manual_ta2_DE.md#ta2-gesicherte-kiste--protected-chest) - [Techage Forceload Block](./manual_ta2_DE.md#techage-forceload-block) -- [TA3: Ölzeitalter](./manual_ta3_DE.md#ta3:-Ölzeitalter) - - [Kohlekraftwerk / Ölkraftwerk](./manual_ta3_DE.md#kohlekraftwerk--Ölkraftwerk) +- [TA3: Ölzeitalter](./manual_ta3_DE.md#ta3:-ölzeitalter) + - [Kohlekraftwerk / Ölkraftwerk](./manual_ta3_DE.md#kohlekraftwerk--ölkraftwerk) - [TA3 Kraftwerks-Feuerbox / Power Station Firebox](./manual_ta3_DE.md#ta3-kraftwerks-feuerbox--power-station-firebox) - - [TA3 Kraftwerks-Ölbrenner / TA3 Power Station Oil Burner](./manual_ta3_DE.md#ta3-kraftwerks-Ölbrenner--ta3-power-station-oil-burner) + - [TA3 Kraftwerks-Ölbrenner / TA3 Power Station Oil Burner](./manual_ta3_DE.md#ta3-kraftwerks-ölbrenner--ta3-power-station-oil-burner) - [TA3 Boiler unten/oben](./manual_ta3_DE.md#ta3-boiler-untenoben) - [TA3 Turbine](./manual_ta3_DE.md#ta3-turbine) - [TA3 Generator](./manual_ta3_DE.md#ta3-generator) @@ -69,7 +69,7 @@ - [TA3 Elektromotor / TA3 Electric Motor](./manual_ta3_DE.md#ta3-elektromotor--ta3-electric-motor) - [TA3 Strom Terminal / Power Terminal](./manual_ta3_DE.md#ta3-strom-terminal--power-terminal) - [TA3 Industrieofen](./manual_ta3_DE.md#ta3-industrieofen) - - [TA3 Ofen-Ölbrenner / Furnace Oil Burner](./manual_ta3_DE.md#ta3-ofen-Ölbrenner--furnace-oil-burner) + - [TA3 Ofen-Ölbrenner / Furnace Oil Burner](./manual_ta3_DE.md#ta3-ofen-ölbrenner--furnace-oil-burner) - [TA3 Ofenoberteil / Furnace Top](./manual_ta3_DE.md#ta3-ofenoberteil--furnace-top) - [TA3 Gebläse / Booster](./manual_ta3_DE.md#ta3-gebläse--booster) - [Flüssigkeiten](./manual_ta3_DE.md#flüssigkeiten) @@ -79,18 +79,18 @@ - [TA4 Röhre / Pipe](./manual_ta3_DE.md#ta4-röhre--pipe) - [TA3 Rohr/Wanddurchbruch / TA3 Pipe Wall Entry Blöcke](./manual_ta3_DE.md#ta3-rohrwanddurchbruch--ta3-pipe-wall-entry-blöcke) - [TA Ventil / TA Valve](./manual_ta3_DE.md#ta-ventil--ta-valve) - - [Öl-Förderung](./manual_ta3_DE.md#Öl-förderung) - - [TA3 Ölexplorer / Oil Explorer](./manual_ta3_DE.md#ta3-Ölexplorer--oil-explorer) - - [TA3 Ölbohrkiste / Oil Drill Box](./manual_ta3_DE.md#ta3-Ölbohrkiste--oil-drill-box) - - [TA3 Ölpumpe / Oil Pumpjack](./manual_ta3_DE.md#ta3-Ölpumpe--oil-pumpjack) + - [Öl-Förderung](./manual_ta3_DE.md#öl-förderung) + - [TA3 Ölexplorer / Oil Explorer](./manual_ta3_DE.md#ta3-ölexplorer--oil-explorer) + - [TA3 Ölbohrkiste / Oil Drill Box](./manual_ta3_DE.md#ta3-ölbohrkiste--oil-drill-box) + - [TA3 Ölpumpe / Oil Pumpjack](./manual_ta3_DE.md#ta3-ölpumpe--oil-pumpjack) - [TA3 Bohrgestänge / Drill Pipe](./manual_ta3_DE.md#ta3-bohrgestänge--drill-pipe) - - [Öltank / Oil Tank](./manual_ta3_DE.md#Öltank--oil-tank) - - [Öl-Transport](./manual_ta3_DE.md#Öl-transport) - - [Öl-Transport mit dem Tankwagen](./manual_ta3_DE.md#Öl-transport-mit-dem-tankwagen) - - [Öl-Transport mit Fässern über Minecarts](./manual_ta3_DE.md#Öl-transport-mit-fässern-über-minecarts) + - [Öltank / Oil Tank](./manual_ta3_DE.md#öltank--oil-tank) + - [Öl-Transport](./manual_ta3_DE.md#öl-transport) + - [Öl-Transport mit dem Tankwagen](./manual_ta3_DE.md#öl-transport-mit-dem-tankwagen) + - [Öl-Transport mit Fässern über Minecarts](./manual_ta3_DE.md#öl-transport-mit-fässern-über-minecarts) - [Tankwagen / Tank Cart](./manual_ta3_DE.md#tankwagen--tank-cart) - [Kistenwagen / Chest Cart](./manual_ta3_DE.md#kistenwagen--chest-cart) - - [Öl-Verarbeitung](./manual_ta3_DE.md#Öl-verarbeitung) + - [Öl-Verarbeitung](./manual_ta3_DE.md#öl-verarbeitung) - [Destillationsturm / distiller tower](./manual_ta3_DE.md#destillationsturm--distiller-tower) - [Aufkocher / reboiler)](./manual_ta3_DE.md#aufkocher--reboiler)) - [Logik-/Schalt-Blöcke](./manual_ta3_DE.md#logik-schalt-blöcke) @@ -103,6 +103,7 @@ - [TechAge Signallampe / Signal Lamp](./manual_ta3_DE.md#techage-signallampe--signal-lamp) - [Tür/Tor Blöcke / Door/Gate Blocks](./manual_ta3_DE.md#türtor-blöcke--doorgate-blocks) - [TA3 Tür Controller / Door Controller](./manual_ta3_DE.md#ta3-tür-controller--door-controller) + - [TA3 Tür Controller II / Door Controller II](./manual_ta3_DE.md#ta3-tür-controller-ii--door-controller-ii) - [TA3 Mesecons Umsetzer / TA3 Mesecons Converter](./manual_ta3_DE.md#ta3-mesecons-umsetzer--ta3-mesecons-converter) - [Detektoren](./manual_ta3_DE.md#detektoren) - [TA3 Detektor / Detector](./manual_ta3_DE.md#ta3-detektor--detector) diff --git a/manuals/toc_EN.md b/manuals/toc_EN.md index dcc1e79..645f2b1 100644 --- a/manuals/toc_EN.md +++ b/manuals/toc_EN.md @@ -102,6 +102,7 @@ - [TechAge Signal Lamp](./manual_ta3_EN.md#techage-signal-lamp) - [Door/Gate Blocks](./manual_ta3_EN.md#doorgate-blocks) - [TA3 Door Controller](./manual_ta3_EN.md#ta3-door-controller) + - [TA3 Door Controller II](./manual_ta3_EN.md#ta3-door-controller-ii) - [TA3 Mesecons Converter](./manual_ta3_EN.md#ta3-mesecons-converter) - [Detectors](./manual_ta3_EN.md#detectors) - [TA3 Detector](./manual_ta3_EN.md#ta3-detector)