From 5a5a248d1df9bf4ae565b9973d1b9a4956631757 Mon Sep 17 00:00:00 2001 From: Joachim Stolberg Date: Sun, 1 Nov 2020 21:38:52 +0100 Subject: [PATCH] Add nodes TA2 Power Generator and TA3 Electric Motor --- README.md | 8 ++++++++ basis/networks.lua | 2 +- doc/items.lua | 2 ++ doc/manual_DE.lua | 34 +++++++++++++++++++++++++++++++++- doc/manual_EN.lua | 23 ++++++++++++++++++++++- init.lua | 4 +++- locale/techage.de.tr | 5 +++++ locale/template.txt | 5 +++++ manuals/manual_ta2_DE.md | 11 +++++++++++ manuals/manual_ta2_EN.md | 12 ++++++++++++ manuals/manual_ta3_DE.md | 21 +++++++++++++++++++++ manuals/manual_ta3_EN.md | 12 ++++++++++++ manuals/toc_DE.md | 29 ++++++++++++++++------------- manuals/toc_EN.md | 2 ++ power/distribution.lua | 8 ++++---- power/node_api.lua | 19 +++++++++++++++++++ power/power_terminal2.lua | 2 ++ 17 files changed, 178 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 84f3202..bcd12ac 100644 --- a/README.md +++ b/README.md @@ -77,6 +77,14 @@ Available worlds will be converted to 'lsqlite3', but there is no way back, so: ### History +**2020-11-01 V0.25** +- Pull request #37: Trowel: Add protection support (from Thomas-S) +- Pull request #38: Charcoal Pile: Ignore "ignore" nodes (from Thomas-S) +- Autocrafter: Add register function for uncraftable items +- Fix bug: Tubes do not recognize when TA2 nodes are added/removed +- TA4 chest/tank: Add 'public' checkbox to allow public access +- Add nodes TA2 Power Generator and TA3 Electric Motor + **2020-10-20 V0.24** - Pull request #27: Liquid Tanks: Add protection support (from Thomas-S) - Pull request #28: Quarry: Improve digging behaviour (from Thomas-S) diff --git a/basis/networks.lua b/basis/networks.lua index 29ff735..ddc16b4 100644 --- a/basis/networks.lua +++ b/basis/networks.lua @@ -243,7 +243,7 @@ local function collect_network_nodes(pos, outdir, tlib2) end for _,ntype in ipairs(ntypes) do if not netw[ntype] then netw[ntype] = {} end - netw[ntype][#netw[ntype] + 1] = {pos = pos, indir = indir, nominal = ndef.nominal or 0} + netw[ntype][#netw[ntype] + 1] = {pos = pos, indir = indir, nominal = ndef.nominal} end end) netw.best_before = minetest.get_gametime() + BEST_BEFORE diff --git a/doc/items.lua b/doc/items.lua index 784ffa4..0a3db3e 100644 --- a/doc/items.lua +++ b/doc/items.lua @@ -48,6 +48,7 @@ techage.Items = { ta2_chest = "techage:chest_ta2", ta2_forceload = "techage:forceload", ta2_driveaxle = "techage:axle", + ta2_generator = "techage:ta2_generator_off", --------------------- techage_ta3 = "techage_ta3.png", techage_ta31 = "techage_ta3b.png", @@ -114,6 +115,7 @@ techage.Items = { ta3_pipe_wall_entry = "techage:ta3_pipe_wall_entry", ta3_mesecons_converter = "techage:ta3_mesecons_converter", ta3_valve = "techage:ta3_valve_closed", + ta3_motor = "techage:ta3_motor_off", ---------------------------- techage_ta4 = "techage_ta4.png", ta4_windturbine = "techage:ta4_wind_turbine", diff --git a/doc/manual_DE.lua b/doc/manual_DE.lua index 9ff6fb0..976e55c 100644 --- a/doc/manual_DE.lua +++ b/doc/manual_DE.lua @@ -28,6 +28,7 @@ techage.manual_DE.aTitel = { "3,TA2 Schwungrad / Flywheel", "3,TA2 Dampfleitungen / Steam Pipe", "3,TA2 Antriebsachsen / TA2 Drive Axle", + "3,TA2 Stromgenerator / TA2 Power Generator", "2,Items schieben und sortieren", "3,Röhren / TechAge Tube", "3,TA2 Schieber / Pusher", @@ -66,6 +67,8 @@ techage.manual_DE.aTitel = { "3,TA3 Kleiner Stromgenerator / Tiny Power Generator", "3,TA3 Akku Block / Akku Box", "3,TA3 Strom Terminal / Power Terminal", + "3,TA3 Elektromotor / TA3 Electric Motor", + "3,TA3 Strom Terminal / Power Terminal", "2,TA3 Industrieofen", "3,TA3 Ofen-Ölbrenner / Furnace Oil Burner", "3,TA3 Ofenoberteil / Furnace Top", @@ -399,6 +402,14 @@ techage.manual_DE.aText = { "\n".. "\n".. "\n", + "Um Lampen oder andere Stromverbraucher an einer Dampfmaschine betreiben zu können\\, wird der TA2 Stromgenerator benötigt. Der TA2 Stromgenerator muss auf einer Seite mit Antriebsachsen verbunden werden und liefert dann auf der anderen Seite elektrischen Strom.\n".. + "\n".. + "Wird der Stromgenerator nicht mit ausreichend Kraft versorgt\\, geht er in einen Fehlerzustand und muss über einen Rechtsklick wieder aktiviert werden.\n".. + "\n".. + "Das Stromgenerator nimmt primär max. 25 ku an Achsenkraft auf und gibt sekundär max. 24 ku als Strom wieder ab. Er verbraucht also ein ku für die Umwandlung.\n".. + "\n".. + "\n".. + "\n", "Um Gegenstände (Items) von einer Verarbeitungsstation zur nächsten weiter zu transportieren\\, werden Schieber und Röhren verwendet. Siehe Plan.\n".. "\n".. "\n".. @@ -649,6 +660,21 @@ techage.manual_DE.aText = { "\n".. "\n".. "\n", + "Um TA2 Maschinen über das Stromnetz betreiben zu können\\, wird der TA3 Elektromotor benötigt. Dieser wandelt Strom in Achsenkraft um.\n".. + "Wird der Elektromotor nicht mit ausreichend Strom versorgt\\, geht er in einen Fehlerzustand und muss über einen Rechtsklick wieder aktiviert werden.\n".. + "\n".. + "Das Elektromotor nimmt primär max. 40 ku an Strom auf und gibt sekundär max. 39 ku als Achsenkraft wieder ab. Er verbraucht also ein ku für die Umwandlung.\n".. + "\n".. + "\n".. + "\n", + "Das Strom-Terminal muss mit dem Stromnetz verbunden werden. Es zeigt Daten aus dem Stromnetz an.\n".. + "\n".. + "In der oberen Hälfte werden nur die Daten eines ausgewählten Typs ausgegeben. Wird als Typ bspw. \"Kraftwerk\" gewählt\\, so werden nur die Daten von Öl- und Kohlekraftwerken gesammelt und ausgegeben. Links werden die Daten von Generatoren (Stromabgabe) und rechts die Daten von Energiespeichern (Stromaufnahme) ausgegeben. Beim Akkublocks bspw. wird beides ausgegeben\\, da der Akku Strom aufnehmen und abgeben kann.\n".. + "\n".. + "In der unteren Hälfte werden die Daten aller Generatoren und Speichersystemen des ganzen Stromnetzen zusammengefasst ausgegeben.\n".. + "\n".. + "\n".. + "\n", "Der TA3 Industrieofen dient als Ergänzung zu normalen Ofen (furnace). Damit können alle Waren mit \"Koch\" Rezepten\\, auch im Industrieofen hergestellt werden. Es gibt aber auch spezielle Rezepte\\, die nur im Industrieofen hergestellt werden können.\n".. "Der Industrieofen hat sein eigenes Menü zur Rezeptauswahl. Abhängig von den Waren im Industrieofen Inventar links kann rechts das Ausgangsprodukt gewählt werden.\n".. "\n".. @@ -1160,7 +1186,7 @@ techage.manual_DE.aText = { " - Hülle mit 7x7x7 Concrete Blocks\\, gefüllt mit 125 Gravel\\, Speicherkapazität: 2\\,5 Tage bei 60 ku\n".. " - Hülle mit 9x9x9 Concrete Blocks\\, gefüllt mit 343 Gravel\\, Speicherkapazität: 6\\,5 Tage bei 60 ku\n".. "\n".. - "In der Betonhülle darf ein Fenster aus einem Obsidian Glas Block sein. Dieses muss ziemlich in der Mitte der Wand platziert werden. Durch dieses Fenster sieht man\\, ob der Speicher mehr als 80 % geladen ist. Im Plan rechts sieht man den Aufbau aus TA4 Wärmetauscher bestehend aus 3 Blöcken\\, der TA4 Turbine und dem TA4 Generator. Beim Wärmetauscher ist auf die Ausrichtung achten (der Pfeil bei Block 1 muss zur Turbine zeigen).\n".. + "In der Betonhülle darf ein Fenster aus einem Obsidian Glas Block sein. Dieses muss ziemlich in der Mitte der Wand platziert werden. Durch dieses Fenster sieht man\\, ob der Speicher mehr als 80 % geladen ist. Im Plan rechts sieht man den Aufbau aus TA4 Wärmetauscher bestehend aus 3 Blöcken\\, der TA4 Turbine und dem TA4 Generator. Beim Wärmetauscher ist auf die Ausrichtung zu achten (der Pfeil bei Block 1 muss zur Turbine zeigen).\n".. "\n".. "Entgegen dem Plan rechts müssen die Anschlüsse am Speicherblock auf gleicher Ebene sein (horizontal angeordnet\\, also nicht unten und oben). Die Rohrzuläufe (TA4 Pipe Inlet) müssen genau in der Mitte der Wand sein und stehen sich damit gegenüber. Als Röhren kommen die gelbel TA4 Röhren zum Einsatz. Die TA3 Dampfrohre können hier nicht verwendet werden.\n".. "Sowohl der Generator als auch der Wärmetauscher haben einen Stromanschluss und müssen mit dem Stromnetz verbunden werden.\n".. @@ -1572,6 +1598,7 @@ techage.manual_DE.aItemName = { "ta2_flywheel", "ta2_steampipe", "ta2_driveaxle", + "ta2_generator", "", "tube", "ta2_pusher", @@ -1610,6 +1637,8 @@ techage.manual_DE.aItemName = { "ta3_tinygenerator", "ta3_akkublock", "ta3_powerterminal", + "ta3_motor", + "ta3_powerterminal", "", "ta3_furnacefirebox", "ta3_furnace", @@ -1764,6 +1793,7 @@ techage.manual_DE.aPlanTable = { "", "", "", + "", "itemtransport", "", "", @@ -1802,6 +1832,8 @@ techage.manual_DE.aPlanTable = { "", "", "", + "", + "", "ta3_furnace", "", "", diff --git a/doc/manual_EN.lua b/doc/manual_EN.lua index 84060c1..7839009 100644 --- a/doc/manual_EN.lua +++ b/doc/manual_EN.lua @@ -28,6 +28,7 @@ techage.manual_EN.aTitel = { "3,TA2 Flywheel", "3,TA2 Steam Pipes", "3,TA2 Drive Axle / TA2 Gearbox", + "3,TA2 Power Generator", "2,Push and sort items", "3,TechAge Tube", "3,TA2 Pusher", @@ -66,6 +67,7 @@ techage.manual_EN.aTitel = { "3,TA3 Small Power Generator", "3,TA3 Battery Block", "3,TA3 Power Terminal", + "3,TA3 Electric Motor", "2,TA3 Industrial Furnace", "3,TA3 Furnace Oil Burner", "3,TA3 Furnace Top", @@ -399,6 +401,14 @@ techage.manual_EN.aText = { "\n".. "\n".. "\n", + "The TA2 Power Generator is required to operate lamps or other power consumers on a steam engine. The TA2 Power Generator has to be connected to drive axles on one side and then supplies electricity on the other side.\n".. + "\n".. + "If the Power Generator is not supplied with sufficient power\\, it goes into an error state and must be reactivated with a right-click.\n".. + "\n".. + "The Power Generator takes max. 25 ku of axle power and provides on the other side max. 24 ku as electricity. So he consumes one ku for the conversion.\n".. + "\n".. + "\n".. + "\n", "In order to transport objects from one processing station to the next\\, pushers and tubes are used. See plan.\n".. "\n".. "\n".. @@ -649,6 +659,13 @@ techage.manual_EN.aText = { "\n".. "\n".. "\n", + "The TA3 Electric Motor is required in order to be able to operate TA2 machines via the power grid. The TA3 Electric Motor converts electricity into axle power.\n".. + "If the electric motor is not supplied with sufficient power\\, it goes into an fault state and must be reactivated with a right-click.\n".. + "\n".. + "The electric motor takes max. 40 ku of electricity and provides on the other side max. 39 ku as axle power. So he consumes one ku for the conversion.\n".. + "\n".. + "\n".. + "\n", "The TA3 industrial furnace serves as a supplement to normal furnaces. This means that all goods can be produced with \"cooking\" recipes\\, even in an industrial furnace. But there are also special recipes that can only be made in an industrial furnace.\n".. "The industrial furnace has its own menu for recipe selection. Depending on the goods in the industrial furnace inventory on the left\\, the output product can be selected on the right.\n".. "\n".. @@ -1471,7 +1488,7 @@ techage.manual_EN.aText = { "\n".. "If the chest is filled with a pusher\\, all stores fill from left to right. If all 8 stores are full and no further items can be added\\, further items are rejected.\n".. "\n".. - "* Row function *\n".. + "*Row function*\n".. "\n".. "Several TA4 8x2000 chests can be connected to a large chest with more content. To do this\\, the chests must be placed in a row one after the other.\n".. "\n".. @@ -1563,6 +1580,7 @@ techage.manual_EN.aItemName = { "ta2_flywheel", "ta2_steampipe", "ta2_driveaxle", + "ta2_generator", "", "tube", "ta2_pusher", @@ -1601,6 +1619,7 @@ techage.manual_EN.aItemName = { "ta3_tinygenerator", "ta3_akkublock", "ta3_powerterminal", + "ta3_motor", "", "ta3_furnacefirebox", "ta3_furnace", @@ -1755,6 +1774,7 @@ techage.manual_EN.aPlanTable = { "", "", "", + "", "itemtransport", "", "", @@ -1793,6 +1813,7 @@ techage.manual_EN.aPlanTable = { "", "", "", + "", "ta3_furnace", "", "", diff --git a/init.lua b/init.lua index 5eea301..ee8d76a 100644 --- a/init.lua +++ b/init.lua @@ -13,7 +13,7 @@ techage = {} -- Version for compatibility checks, see readme.md/history -techage.version = 0.23 +techage.version = 0.25 if minetest.global_exists("tubelib") then minetest.log("error", "[techage] Techage can't be used together with the mod tubelib!") @@ -217,6 +217,8 @@ dofile(MP.."/oil/reboiler.lua") -- TA3 power based dofile(MP.."/ta3_power/tiny_generator.lua") dofile(MP.."/ta3_power/akkubox.lua") +dofile(MP.."/ta3_power/axle2power.lua") +dofile(MP.."/ta3_power/power2axle.lua") -- Digtron if minetest.global_exists("digtron") then diff --git a/locale/techage.de.tr b/locale/techage.de.tr index 89138a5..5812d39 100644 --- a/locale/techage.de.tr +++ b/locale/techage.de.tr @@ -241,7 +241,10 @@ TA2 Ele Fab=TA2 E-Fabrik TA2 Firebox=TA2 Feuerkiste TA2 Flywheel=TA2 Schwungrad TA2 Gearbox=TA2 Getriebeblock +TA2 Generator=TA2 Generator TA2 Gravel Sieve=TA2 Kiessieb +TA2 Power Generator=TA2 Stromgenerator +TA2 Power Generator: Overload fault?@n(restart with right-click)=TA2 Stromgenerator: Überlastfehler?@n(Neustart mit Rechtsklick) TA2 Protected Chest=TA2 Gesicherte Kiste TA2 Steam Pipe=TA2 Dampfleitung TA3 Accu Box=Akkublock @@ -268,6 +271,8 @@ TA3 Door Controller=TA3 Tür Controller TA3 Drill Pipe=TA3 Bohrgestänge TA3 Drill Pipe Wrench=TA3 Bohrgestängezange TA3 Ele Fab=TA3 E-Fabrik +TA3 Electric Motor=TA3 Elektromotor +TA3 Electric Motor: Overload fault?@n(restart with right-click)=TA3 Elektromotor: Überlastfehler?@n(Neustart mit Rechtsklick) TA3 Fuel Oil=TA3 Schweröl TA3 Fuel Oil Barrel=TA3 Schwerölfass TA3 Fuel Oil Canister=TA3 Schwerölkanister diff --git a/locale/template.txt b/locale/template.txt index 9debb14..a4f6a7e 100644 --- a/locale/template.txt +++ b/locale/template.txt @@ -239,7 +239,10 @@ TA2 Ele Fab= TA2 Firebox= TA2 Flywheel= TA2 Gearbox= +TA2 Generator= TA2 Gravel Sieve= +TA2 Power Generator= +TA2 Power Generator: Overload fault?@n(restart with right-click)= TA2 Protected Chest= TA2 Steam Pipe= TA3 Accu Box= @@ -266,6 +269,8 @@ TA3 Door Controller= TA3 Drill Pipe= TA3 Drill Pipe Wrench= TA3 Ele Fab= +TA3 Electric Motor= +TA3 Electric Motor: Overload fault?@n(restart with right-click)= TA3 Fuel Oil= TA3 Fuel Oil Barrel= TA3 Fuel Oil Canister= diff --git a/manuals/manual_ta2_DE.md b/manuals/manual_ta2_DE.md index 6b718d9..fc3c9c8 100644 --- a/manuals/manual_ta2_DE.md +++ b/manuals/manual_ta2_DE.md @@ -70,6 +70,17 @@ Die Antriebsachsen dienen zur Kraftübertragung von der Dampfmaschine zu anderen [ta2_driveaxle|image] +### TA2 Stromgenerator / TA2 Power Generator + +Um Lampen oder andere Stromverbraucher an einer Dampfmaschine betreiben zu können, wird der TA2 Stromgenerator benötigt. Der TA2 Stromgenerator muss auf einer Seite mit Antriebsachsen verbunden werden und liefert dann auf der anderen Seite elektrischen Strom. + +Wird der Stromgenerator nicht mit ausreichend Kraft versorgt, geht er in einen Fehlerzustand und muss über einen Rechtsklick wieder aktiviert werden. + +Das Stromgenerator nimmt primär max. 25 ku an Achsenkraft auf und gibt sekundär max. 24 ku als Strom wieder ab. Er verbraucht also ein ku für die Umwandlung. + +[ta2_generator|image] + + ## Items schieben und sortieren diff --git a/manuals/manual_ta2_EN.md b/manuals/manual_ta2_EN.md index 63d0db8..0315800 100644 --- a/manuals/manual_ta2_EN.md +++ b/manuals/manual_ta2_EN.md @@ -71,6 +71,18 @@ The drive axles are used to transmit power from the steam engine to other machin [ta2_driveaxle|image] + +### TA2 Power Generator + +The TA2 Power Generator is required to operate lamps or other power consumers on a steam engine. The TA2 Power Generator has to be connected to drive axles on one side and then supplies electricity on the other side. + +If the Power Generator is not supplied with sufficient power, it goes into an error state and must be reactivated with a right-click. + +The Power Generator takes max. 25 ku of axle power and provides on the other side max. 24 ku as electricity. So he consumes one ku for the conversion. + +[ta2_generator|image] + + ## Push and sort items In order to transport objects from one processing station to the next, pushers and tubes are used. See plan. diff --git a/manuals/manual_ta3_DE.md b/manuals/manual_ta3_DE.md index a10211d..e51f4d2 100644 --- a/manuals/manual_ta3_DE.md +++ b/manuals/manual_ta3_DE.md @@ -198,6 +198,27 @@ In der unteren Hälfte werden die Daten aller Generatoren und Speichersystemen d [ta3_powerterminal|image] +### TA3 Elektromotor / TA3 Electric Motor + +Um TA2 Maschinen über das Stromnetz betreiben zu können, wird der TA3 Elektromotor benötigt. Dieser wandelt Strom in Achsenkraft um. +Wird der Elektromotor nicht mit ausreichend Strom versorgt, geht er in einen Fehlerzustand und muss über einen Rechtsklick wieder aktiviert werden. + +Das Elektromotor nimmt primär max. 40 ku an Strom auf und gibt sekundär max. 39 ku als Achsenkraft wieder ab. Er verbraucht also ein ku für die Umwandlung. + +[ta3_motor|image] + + +### TA3 Strom Terminal / Power Terminal + +Das Strom-Terminal muss mit dem Stromnetz verbunden werden. Es zeigt Daten aus dem Stromnetz an. + +In der oberen Hälfte werden nur die Daten eines ausgewählten Typs ausgegeben. Wird als Typ bspw. "Kraftwerk" gewählt, so werden nur die Daten von Öl- und Kohlekraftwerken gesammelt und ausgegeben. Links werden die Daten von Generatoren (Stromabgabe) und rechts die Daten von Energiespeichern (Stromaufnahme) ausgegeben. Beim Akkublocks bspw. wird beides ausgegeben, da der Akku Strom aufnehmen und abgeben kann. + +In der unteren Hälfte werden die Daten aller Generatoren und Speichersystemen des ganzen Stromnetzen zusammengefasst ausgegeben. + +[ta3_powerterminal|image] + + ## TA3 Industrieofen Der TA3 Industrieofen dient als Ergänzung zu normalen Ofen (furnace). Damit können alle Waren mit "Koch" Rezepten, auch im Industrieofen hergestellt werden. Es gibt aber auch spezielle Rezepte, die nur im Industrieofen hergestellt werden können. diff --git a/manuals/manual_ta3_EN.md b/manuals/manual_ta3_EN.md index e3a224a..afb2212 100644 --- a/manuals/manual_ta3_EN.md +++ b/manuals/manual_ta3_EN.md @@ -198,6 +198,18 @@ In the lower half, the data of all generators and storage systems of the entire [ta3_powerterminal|image] +### TA3 Electric Motor + +The TA3 Electric Motor is required in order to be able to operate TA2 machines via the power grid. The TA3 Electric Motor converts electricity into axle power. +If the electric motor is not supplied with sufficient power, it goes into an fault state and must be reactivated with a right-click. + +The electric motor takes max. 40 ku of electricity and provides on the other side max. 39 ku as axle power. So he consumes one ku for the conversion. + +[ta3_motor|image] + + + + ## TA3 Industrial Furnace The TA3 industrial furnace serves as a supplement to normal furnaces. This means that all goods can be produced with "cooking" recipes, even in an industrial furnace. But there are also special recipes that can only be made in an industrial furnace. diff --git a/manuals/toc_DE.md b/manuals/toc_DE.md index c018a99..eb3164c 100644 --- a/manuals/toc_DE.md +++ b/manuals/toc_DE.md @@ -27,6 +27,7 @@ - [TA2 Schwungrad / Flywheel](./manual_ta2_DE.md#ta2-schwungrad--flywheel) - [TA2 Dampfleitungen / Steam Pipe](./manual_ta2_DE.md#ta2-dampfleitungen--steam-pipe) - [TA2 Antriebsachsen / TA2 Drive Axle](./manual_ta2_DE.md#ta2-antriebsachsen--ta2-drive-axle) + - [TA2 Stromgenerator / TA2 Power Generator](./manual_ta2_DE.md#ta2-stromgenerator--ta2-power-generator) - [Items schieben und sortieren](./manual_ta2_DE.md#items-schieben-und-sortieren) - [Röhren / TechAge Tube](./manual_ta2_DE.md#röhren--techage-tube) - [TA2 Schieber / Pusher](./manual_ta2_DE.md#ta2-schieber--pusher) @@ -44,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) @@ -65,8 +66,10 @@ - [TA3 Kleiner Stromgenerator / Tiny Power Generator](./manual_ta3_DE.md#ta3-kleiner-stromgenerator--tiny-power-generator) - [TA3 Akku Block / Akku Box](./manual_ta3_DE.md#ta3-akku-block---akku-box) - [TA3 Strom Terminal / Power Terminal](./manual_ta3_DE.md#ta3-strom-terminal--power-terminal) + - [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) @@ -76,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) diff --git a/manuals/toc_EN.md b/manuals/toc_EN.md index f22bfad..dcc1e79 100644 --- a/manuals/toc_EN.md +++ b/manuals/toc_EN.md @@ -27,6 +27,7 @@ - [TA2 Flywheel](./manual_ta2_EN.md#ta2-flywheel) - [TA2 Steam Pipes](./manual_ta2_EN.md#ta2-steam-pipes) - [TA2 Drive Axle / TA2 Gearbox](./manual_ta2_EN.md#ta2-drive-axle--ta2-gearbox) + - [TA2 Power Generator](./manual_ta2_EN.md#ta2-power-generator) - [Push and sort items](./manual_ta2_EN.md#push-and-sort-items) - [TechAge Tube](./manual_ta2_EN.md#techage-tube) - [TA2 Pusher](./manual_ta2_EN.md#ta2-pusher) @@ -65,6 +66,7 @@ - [TA3 Small Power Generator](./manual_ta3_EN.md#ta3-small-power-generator) - [TA3 Battery Block](./manual_ta3_EN.md#ta3-battery-block) - [TA3 Power Terminal](./manual_ta3_EN.md#ta3-power-terminal) + - [TA3 Electric Motor](./manual_ta3_EN.md#ta3-electric-motor) - [TA3 Industrial Furnace](./manual_ta3_EN.md#ta3-industrial-furnace) - [TA3 Furnace Oil Burner](./manual_ta3_EN.md#ta3-furnace-oil-burner) - [TA3 Furnace Top](./manual_ta3_EN.md#ta3-furnace-top) diff --git a/power/distribution.lua b/power/distribution.lua index 2e1a079..60a4c20 100644 --- a/power/distribution.lua +++ b/power/distribution.lua @@ -27,7 +27,7 @@ local function start_consumer(tbl, tlib_type) if def and def["cstate"] == NOPOWER and (def["calive"] or 0) > 0 then local ndef = net_def(v.pos, tlib_type) def["cstate"] = RUNNING - def["taken"] = v.nominal or 0 + def["taken"] = v.nominal or def.curr_power or 0 if ndef.on_power then ndef.on_power(v.pos, tlib_type) end @@ -73,10 +73,10 @@ local function get_consumer_sum(tbl, tlib_type, cycle_time) if def and def["cstate"] ~= STOPPED then def["calive"] = (def["calive"] or 1) - cycle_time/2 if def["calive"] >= 0 then - sum = sum + v.nominal + sum = sum + (v.nominal or def.curr_power or 0) end end - --print(N(v.pos), P2S(v.pos), def["cstate"], def["calive"]) + --print(N(v.pos), P2S(v.pos), def["cstate"], def["calive"], sum) end return sum end @@ -155,7 +155,7 @@ function techage.power.get_con1_sum(network, tlib_type) local nvm = techage.get_nvm(v.pos) local def = nvm[tlib_type] -- power related network data if def and def["cstate"] ~= STOPPED then - sum = sum + v.nominal + sum = sum + (v.nominal or def.curr_power or 0) end end return sum diff --git a/power/node_api.lua b/power/node_api.lua index 2bc99be..07d6a7a 100644 --- a/power/node_api.lua +++ b/power/node_api.lua @@ -228,5 +228,24 @@ function techage.power.generator_alive(pos, Cable, cycle_time, outdir, curr_powe return 0 end +-- Calculate the needed power over all con1 consumers +function techage.power.needed_power(pos, Cable, outdir) + local sum = 0 + networks.connection_walk(pos, outdir, Cable, function(pos, indir, node) + local net = net_def(pos, Cable.tube_type) -- network definition + if net.ntype == "con1" then + local nvm = techage.get_nvm(pos) + local def = nvm[Cable.tube_type] -- power related data + + if def and def["cstate"] ~= STOPPED then + if def["calive"] >= 0 then + sum = sum + (net.nominal or def.curr_power or 0) + end + end + end + end) + return sum +end + -- function delete_netID(pos, outdir, Cable) techage.power.delete_netID = delete_netID diff --git a/power/power_terminal2.lua b/power/power_terminal2.lua index 240f237..2c5d691 100644 --- a/power/power_terminal2.lua +++ b/power/power_terminal2.lua @@ -37,6 +37,7 @@ local Generators = { S("Energy storage"), S("Fuel cell"), S("Electrolyzer"), + S("TA2 Generator"), } local Storage = { @@ -55,6 +56,7 @@ local GeneratorPerformances = { 60, -- S("Energy storage") 25, -- S("Fuel cell") 30, -- S("Electrolyzer") + 24, -- S("TA2 Generator") } --