Fix bugs and Improve manuals

This commit is contained in:
Joachim Stolberg 2021-07-18 16:25:03 +02:00
parent 061ce04ade
commit 0b34edb5de
20 changed files with 152 additions and 70 deletions

View File

@ -31,11 +31,11 @@ Copyright (C) 2019-2021 Joachim Stolberg
Code: Licensed under the GNU AGPL version 3 or later. See LICENSE.txt Code: Licensed under the GNU AGPL version 3 or later. See LICENSE.txt
Textures: CC BY-SA 3.0 Textures: CC BY-SA 3.0
Many thanks to Thomas-S for his contributions Many thanks to Thomas-S and others for their contributions
### Dependencies ### Dependencies
Required: default, doors, bucket, stairs, screwdriver, basic_materials, tubelib2, minecart, lcdlib, safer_lua Required: default, doors, bucket, stairs, screwdriver, basic_materials, tubelib2, networks, minecart, lcdlib, safer_lua
Recommended: signs_bot, hyperloop, compost, techpack_stairway, autobahn Recommended: signs_bot, hyperloop, compost, techpack_stairway, autobahn
Optional: unified_inventory, wielded_light, unifieddyes, lua-mashal, lsqlite3, moreores, ethereal, mesecon Optional: unified_inventory, wielded_light, unifieddyes, lua-mashal, lsqlite3, moreores, ethereal, mesecon
@ -46,6 +46,7 @@ The mods `default`, `doors`, `bucket`, `stairs`, and `screwdriver` are part of M
The following mods in the newest version have to be downloaded directly from GitHub: The following mods in the newest version have to be downloaded directly from GitHub:
* [tubelib2](https://github.com/joe7575/tubelib2) * [tubelib2](https://github.com/joe7575/tubelib2)
* [networks](https://github.com/joe7575/networks)
* [minecart](https://github.com/joe7575/minecart) * [minecart](https://github.com/joe7575/minecart)
* [lcdlib](https://github.com/joe7575/lcdlib) * [lcdlib](https://github.com/joe7575/lcdlib)
* [safer_lua](https://github.com/joe7575/safer_lua) * [safer_lua](https://github.com/joe7575/safer_lua)
@ -77,6 +78,15 @@ Available worlds will be converted to 'lsqlite3', but there is no way back, so:
### History ### History
**2021-07-18 V1.00**
- Change the way, power distribution works
- Add TA2 storage system
- Add TA4 Isolation Transformer
- Add TA4 Electric Meter
- Add new power terminal
- Many improvements on power producing/consuming nodes
- See Construction Board for some hints on moving to v1
**2021-05-14 V0.25** **2021-05-14 V0.25**
- Add concentrator tubes - Add concentrator tubes
- Add ta4 cable wall entry - Add ta4 cable wall entry

View File

@ -186,6 +186,7 @@ techage.Items = {
ta4_concentrator = "techage:ta4_concentrator27", ta4_concentrator = "techage:ta4_concentrator27",
ta4_electricmeter = "techage:ta4_electricmeter", ta4_electricmeter = "techage:ta4_electricmeter",
ta4_transformer = "techage:ta4_transformer", ta4_transformer = "techage:ta4_transformer",
power_reduction = "techage_power_reduction.png",
--ta4_ "", --ta4_ "",
} }

View File

@ -60,6 +60,7 @@ techage.manual_DE.aTitel = {
"3,TA3 Generator", "3,TA3 Generator",
"3,TA3 Kühler / Cooler", "3,TA3 Kühler / Cooler",
"2,Elektrischer Strom", "2,Elektrischer Strom",
"3,Bedeutung von Speichersystemen",
"3,TA Stromkabel / Electric Cable", "3,TA Stromkabel / Electric Cable",
"3,TA Verteilerdose / Electric Junction Box", "3,TA Verteilerdose / Electric Junction Box",
"3,TA Stromleitung / Power Line", "3,TA Stromleitung / Power Line",
@ -245,14 +246,15 @@ techage.manual_DE.aText = {
" - Aus diesem Grund hat TA2 seinen eigenen Energiespeicher erhalten.\n".. " - Aus diesem Grund hat TA2 seinen eigenen Energiespeicher erhalten.\n"..
" - Die Akkublöcke aus TA3 dienen auch als Energiespeicher. Ihre Funktionsweise wurde entsprechend angepasst.\n".. " - Die Akkublöcke aus TA3 dienen auch als Energiespeicher. Ihre Funktionsweise wurde entsprechend angepasst.\n"..
" - Das TA4 Speichersystem wurde überarbeitet. Die Wärmetauscher (heatexchanger) haben eine neue Nummer bekommen\\, da die Funktionalität vom unteren in den mittleren Block verschoben wurde. Sofern diese ferngesteuert wurden\\, muss die Knotennummer angepasst werden. Die Generatoren haben kein eigenes Menü mehr\\, sondern werden nur noch über den Wärmetauscher ein-/ausgeschaltet. Wärmetauscher und Generator müssen jetzt am gleichen Netz hängen!\n".. " - Das TA4 Speichersystem wurde überarbeitet. Die Wärmetauscher (heatexchanger) haben eine neue Nummer bekommen\\, da die Funktionalität vom unteren in den mittleren Block verschoben wurde. Sofern diese ferngesteuert wurden\\, muss die Knotennummer angepasst werden. Die Generatoren haben kein eigenes Menü mehr\\, sondern werden nur noch über den Wärmetauscher ein-/ausgeschaltet. Wärmetauscher und Generator müssen jetzt am gleichen Netz hängen!\n"..
" - Mehrere Stromnetze können jetzt über einen Transformator Blöcke gekoppelt werden.\n".. " - Mehrere Stromnetze können jetzt über einen TA4 Transformator Blöcke gekoppelt werden.\n"..
" - Neu ist auch ein Stromzähler Block für Unternetze.\n".. " - Neu ist auch ein TA4 Stromzähler Block für Unternetze.\n"..
"\n", "\n",
"Viele weitere Blöcke haben kleinere Änderungen bekommen. Daher kann es sein\\, dass Maschinen oder Anlagen nach der Umstellung nicht gleich wieder anlaufen. Sollte es zu Störungen kommen\\, helfen folgende Tipps:\n".. "Viele weitere Blöcke haben kleinere Änderungen bekommen. Daher kann es sein\\, dass Maschinen oder Anlagen nach der Umstellung nicht gleich wieder anlaufen. Sollte es zu Störungen kommen\\, helfen folgende Tipps:\n"..
"\n".. "\n"..
" - Maschinen aus- und wieder eingeschalten\n".. " - Maschinen aus- und wieder eingeschalten\n"..
" - ein Stromkabel-Block entfernen und wieder setzen\n".. " - ein Stromkabel-Block entfernen und wieder setzen\n"..
" - den Block ganz entfernen und wieder setzen\n".. " - den Block ganz entfernen und wieder setzen\n"..
" - mindestens ein Akkublock oder Speichersystem in jedes Netzwerk\n"..
"\n", "\n",
"Techage fügt dem Spiel einige neue Items hinzu:\n".. "Techage fügt dem Spiel einige neue Items hinzu:\n"..
"\n".. "\n"..
@ -636,6 +638,23 @@ techage.manual_DE.aText = {
"\n".. "\n"..
"\n".. "\n"..
"\n", "\n",
"Speichersysteme im Stromnetz erfüllen zwei Aufgaben:\n"..
"\n"..
" - Um Bedarfsspitzen abzufangen: Alle Generatoren liefern immer gerade soviel Leistung\\, wie benötigt wird. Werden aber Verbraucher ein/ausgeschaltet oder kommt es aus anderen Gründen zu Bedarfsschwankungen\\, so können Verbraucher kurzzeitig ausfallen. Um dies zu verhindern\\, sollte immer mindestens ein Akkublock in jedem Netzwerk vorhanden sein. Dieser dient aus Puffer und gleicht diese Schwankungen im Sekundenbereich aus.\n"..
" - Um regenerative Energie zu speichern: Solar und Wind stehen nicht 24 Stunden am Tag zur Verfügung. Damit die Stromversorgung nicht ausfällt\\, wenn kein Strom produziert wird\\, müssen ein oder mehrere Speichersysteme im Netzwerk verbaut werden. Alternativ können die Lücken auch mit Öl/Kohle-Strom überbrückt werden.\n"..
"\n"..
"Ein Speichersystem gibt seine Kapazität in kud an\\, also ku pro day (Tag). Bspw. ein Speichersystem mit 100 kud liefert 100 ku einen Spieltag lang\\, oder auch 10 ku für 10 Spieltage.\n"..
"\n"..
"Alle TA3/TA4 Energiequellen besitzen eine einstellbare Ladecharakteristik. Standardmäßig ist diese auf \"80% - 100%\" eingestellt. Dies bedeutet\\, dass die Leistung ab 80% Füllung des Speichersystems immer weiter reduziert wird\\, bis sie bei 100 % komplett abschaltet. Sofern Strom im Netzwerk benötigt wird\\, werden die 100 % nie erreicht\\, da die Leistung des Generators irgendwann auf den Strombedarf im Netzwerk abgesunken ist und damit das Speichersystem nicht mehr geladen\\, sondern nur noch die Verbraucher bedient werden.\n"..
"\n"..
"Dies hat mehrere Vorteile:\n"..
"\n"..
" - Die Ladecharakteristik ist einstellbar. Damit kann man bspw. Öl/Kohle Energiequellen bei 60% und die regenerativen Energiequellen erst bei 80% zurückfahren. Damit wird nur Öl/Kohle verbrannt\\, wenn nicht ausreichend regenerativen Energiequellen zur Verfügung stehen.\n"..
" - Mehrere Energiequellen können parallel betrieben werden und werden dabei nahezu gleichmäßig belastet\\, denn alle Energiequellen arbeiten bspw. bis 80% Ladekapazität des Speichersystems mit ihrer vollen Leistung und fahren dann gleichzeitig ihre Leistung zurück.\n"..
" - Alle Speichersysteme in einem Netzwerk bilden einen großen Puffer. An jedem Speichersystem aber auch am Strom Terminal kann immer die Ladekapazität und der Füllungsgrad des gesamten Speichersystems in Prozent abgelesen werden.\n"..
"\n"..
"\n"..
"\n",
"Für die lokale Verkabelung im Boden oder in Gebäuden.\n".. "Für die lokale Verkabelung im Boden oder in Gebäuden.\n"..
"Abzweigungen können mit Hilfe von Verteilerdosen realisiert werden. Die maximale Kabellänge zwischen Maschinen oder Verteilerdosen beträgt 1000 m. Es können maximale 1000 Knoten in einem Strom-Netzwerk verbunden werden. Als Knoten zählen alle Blöcke mit Stromanschluss\\, also auch Verteilerdosen.\n".. "Abzweigungen können mit Hilfe von Verteilerdosen realisiert werden. Die maximale Kabellänge zwischen Maschinen oder Verteilerdosen beträgt 1000 m. Es können maximale 1000 Knoten in einem Strom-Netzwerk verbunden werden. Als Knoten zählen alle Blöcke mit Stromanschluss\\, also auch Verteilerdosen.\n"..
"\n".. "\n"..
@ -1749,6 +1768,7 @@ techage.manual_DE.aItemName = {
"ta3_generator", "ta3_generator",
"ta3_cooler", "ta3_cooler",
"ta3_powerswitch", "ta3_powerswitch",
"power_reduction",
"ta3_powercable", "ta3_powercable",
"ta3_powerjunction", "ta3_powerjunction",
"ta3_powerline", "ta3_powerline",
@ -1968,6 +1988,7 @@ techage.manual_DE.aPlanTable = {
"", "",
"", "",
"", "",
"",
"ta3_furnace", "ta3_furnace",
"", "",
"", "",

View File

@ -4,7 +4,6 @@ techage.manual_EN.aTitel = {
"1,Tech Age Mod", "1,Tech Age Mod",
"2,Hints", "2,Hints",
"2,Changes from version 1.0", "2,Changes from version 1.0",
"2,Changes from version 1.0",
"3,Tips on switching", "3,Tips on switching",
"2,Ores and Minerals", "2,Ores and Minerals",
"3,Meridium", "3,Meridium",
@ -62,6 +61,7 @@ techage.manual_EN.aTitel = {
"3,TA3 generator", "3,TA3 generator",
"3,TA3 cooler", "3,TA3 cooler",
"2,Electrical current", "2,Electrical current",
"3,Importance of storage systems",
"3,TA Electric Cable", "3,TA Electric Cable",
"3,TA Electric Junction Box", "3,TA Electric Junction Box",
"3,TA Power Line", "3,TA Power Line",
@ -241,15 +241,15 @@ techage.manual_EN.aText = {
"\n".. "\n"..
"TA4 adds more power sources\\, but also higher logistical challenges (power lines\\, item transport).\n".. "TA4 adds more power sources\\, but also higher logistical challenges (power lines\\, item transport).\n"..
"\n", "\n",
"",
"From V1.0 (07/17/2021) the following has changed:\n".. "From V1.0 (07/17/2021) the following has changed:\n"..
"\n".. "\n"..
" - The algorithm for calculating the power distribution has changed. This makes energy storage systems more important. These compensate for fluctuations\\, which is important in larger networks with several generators.\n".. " - The algorithm for calculating the power distribution has changed. This makes energy storage systems more important. These compensate for fluctuations\\, which is important in larger networks with several generators.\n"..
" - For this reason TA2 got its own energy storage.\n".. " - For this reason TA2 got its own energy storage.\n"..
" - The battery blocks from TA3 also serve as energy storage. Their functionality has been adapted accordingly.\n".. " - The battery blocks from TA3 also serve as energy storage. Their functionality has been adapted accordingly.\n"..
" - The TA4 storage system has been revised. The heat heat exchanger have been given a new number because the functionality has been moved from the lower to the middle block. If these were remotely controlled\\, the node number must be adapted. The generators no longer have their own menu\\, but are only switched on / off via the heat exchanger. The heat exchanger and generator must now be connected to the same network!\n".. " - The TA4 storage system has been revised. The heat heat exchanger have been given a new number because the functionality has been moved from the lower to the middle block. If these were remotely controlled\\, the node number must be adapted. The generators no longer have their own menu\\, but are only switched on / off via the heat exchanger. The heat exchanger and generator must now be connected to the same network!\n"..
" - Several power grids can now be coupled via a transformer blocks.\n".. " - Several power grids can now be coupled via a TA4 transformer blocks.\n"..
" - An electricity meter block for sub-networks is also new.\n".. " - A TA4 electricity meter block for sub-networks is also new.\n"..
" - At least one battery block or a storage system in each network\n"..
"\n", "\n",
"Many more blocks have received minor changes. It is therefore possible that machines or systems do not start up again immediately after the changeover. In the event of malfunctions\\, the following tips will help:\n".. "Many more blocks have received minor changes. It is therefore possible that machines or systems do not start up again immediately after the changeover. In the event of malfunctions\\, the following tips will help:\n"..
"\n".. "\n"..
@ -645,6 +645,23 @@ techage.manual_EN.aText = {
"\n".. "\n"..
"\n".. "\n"..
"\n", "\n",
"Storage systems in the power grid fulfill two tasks:\n"..
"\n"..
" - To cope with peaks in demand: All generators always deliver just as much power as is needed. However\\, if consumers are switched on/off or there are fluctuations in demand for other reasons\\, consumers can fail for a short time. To prevent this\\, there should always be at least one battery block in every network. This serves as a buffer and compensates for these fluctuations in the seconds range.\n"..
" - To store regenerative energy: Solar and wind are not available 24 hours a day. So that the power supply does not fail when no electricity is produced\\, one or more storage systems must be installed in the network. Alternatively\\, the gaps can also be bridged with oil/coal electricity.\n"..
"\n"..
"A storage system indicates its capacity in kud\\, i.e. ku per day. For example\\, a storage system with 100 kud delivers 100 ku for one game day\\, or 10 ku for 10 game days.\n"..
"\n"..
"All TA3/TA4 energy sources have adjustable charging characteristics. By default this is set to \"80% - 100%\". This means that when the storage system is 80% full\\, the output is reduced further and further until it switches off completely at 100%. If electricity is required in the network\\, 100% will never be reached\\, since the power of the generator has at some point dropped to the electricity demand in the network and the storage system is no longer charged\\, but only the consumers are served.\n"..
"\n"..
"This has several advantages:\n"..
"\n"..
" - The charging characteristics are adjustable. This means\\, for example\\, that oil/coal energy sources can be reduced at 60% and regenerative energy sources only at 80%. This means that oil/coal is only burned if there are not enough renewable energy sources available.\n"..
" - Several energy sources can be operated in parallel and are loaded almost evenly\\, because all energy sources work\\, for example\\, up to 80% of the storage system's charging capacity at their full capacity and then reduce their capacity at the same time.\n"..
" - All storage systems in a network form a large buffer. The charging capacity and the filling level of the entire storage system can always be read in percent on every storage system\\, but also on the electricity terminal.\n"..
"\n"..
" \n"..
"\n",
"For local wiring in the floor or in buildings.\n".. "For local wiring in the floor or in buildings.\n"..
"Branches can be realized using junction boxes. The maximum cable length between machines or junction boxes is 1000 m. A maximum of 1000 nodes can be connected in a power network. All blocks with power connection\\, including junction boxes\\, count as nodes.\n".. "Branches can be realized using junction boxes. The maximum cable length between machines or junction boxes is 1000 m. A maximum of 1000 nodes can be connected in a power network. All blocks with power connection\\, including junction boxes\\, count as nodes.\n"..
"\n".. "\n"..
@ -1699,7 +1716,6 @@ techage.manual_EN.aItemName = {
"", "",
"", "",
"", "",
"",
"meridium", "meridium",
"usmium", "usmium",
"baborium", "baborium",
@ -1755,6 +1771,7 @@ techage.manual_EN.aItemName = {
"ta3_generator", "ta3_generator",
"ta3_cooler", "ta3_cooler",
"ta3_powerswitch", "ta3_powerswitch",
"power_reduction",
"ta3_powercable", "ta3_powercable",
"ta3_powerjunction", "ta3_powerjunction",
"ta3_powerline", "ta3_powerline",
@ -1915,7 +1932,6 @@ techage.manual_EN.aPlanTable = {
"", "",
"", "",
"", "",
"",
"coalpile", "coalpile",
"coalburner", "coalburner",
"", "",
@ -1976,6 +1992,7 @@ techage.manual_EN.aPlanTable = {
"", "",
"", "",
"", "",
"",
"ta3_furnace", "ta3_furnace",
"", "",
"", "",

View File

@ -1,11 +1,14 @@
-- Needed for the trowel -- Needed for the trowel
techage.FILLING_ITEMS = {} local fillings = {}
for name, ndef in pairs(minetest.registered_nodes) do minetest.register_on_mods_loaded(function()
for name, ndef in pairs(minetest.registered_nodes) do
-- test if it is a simple node without logic -- test if it is a simple node without logic
if ndef and not ndef.groups.soil and name ~= "default:cobble" and if ndef and not ndef.groups.soil and name ~= "default:cobble" and
not ndef.after_place_node and not ndef.on_construct then not ndef.after_place_node and not ndef.on_construct then
table.insert(techage.FILLING_ITEMS, name) table.insert(fillings, name)
end end
end end
networks.register_filling_items(fillings)
end)

View File

@ -17,7 +17,7 @@ local M = minetest.get_meta
local S = techage.S local S = techage.S
local Pipe = techage.LiquidPipe local Pipe = techage.LiquidPipe
local liquid = techage.liquid local liquid = networks.liquid
local function is_ocean(pos) local function is_ocean(pos)
if pos.y > 1 then if pos.y > 1 then
@ -33,37 +33,35 @@ local function is_ocean(pos)
M(pos):set_string("infotext", S("Error: No natural water!")) M(pos):set_string("infotext", S("Error: No natural water!"))
return false return false
end end
M(pos):set_string("infotext", S("Operational"))
return true return true
end end
local function srv_peek(pos) local function peek_liquid(pos)
local nvm = techage.get_nvm(pos) local mem = techage.get_mem(pos)
if is_ocean(pos) then if is_ocean(pos) then
nvm.liquid.name = "techage:water" mem.liquid_name = "techage:water"
nvm.liquid.amount = 1 mem.liquid_amount = 1
else else
nvm.liquid.name = nil mem.liquid_name = "techage:water"
nvm.liquid.amount = 0 mem.liquid_amount = 0
end end
return nvm.liquid.name return mem.liquid_name
end end
local function take_liquid(pos, indir, name, amount) local function take_liquid(pos, indir, name, amount)
local nvm = techage.get_nvm(pos) local mem = techage.get_mem(pos)
return nvm.liquid.amount, nvm.liquid.name if not mem.liquid_name then
peek_liquid(pos)
end
return mem.liquid_amount or 0, mem.liquid_name
end end
local function untake_liquid(pos, indir, name, amount) local function untake_liquid(pos, indir, name, amount)
return 0 return 0
end end
local netw_def = {
pipe2 = {
sides = {U = 1}, -- Pipe connection sides
ntype = "tank",
},
}
minetest.register_node("techage:ta4_waterinlet", { minetest.register_node("techage:ta4_waterinlet", {
description = S("TA4 Water Inlet"), description = S("TA4 Water Inlet"),
tiles = { tiles = {
@ -78,29 +76,13 @@ minetest.register_node("techage:ta4_waterinlet", {
after_place_node = function(pos, placer) after_place_node = function(pos, placer)
local meta = M(pos) local meta = M(pos)
local nvm = techage.get_nvm(pos)
nvm.liquid = {}
Pipe:after_place_node(pos) Pipe:after_place_node(pos)
srv_peek(pos) is_ocean(pos)
end, end,
tubelib2_on_update2 = function(pos, outdir, tlib2, node)
liquid.update_network(pos, outdir)
end,
--on_timer = node_timer,
--on_punch = liquid.on_punch,
after_dig_node = function(pos, oldnode, oldmetadata, digger) after_dig_node = function(pos, oldnode, oldmetadata, digger)
Pipe:after_dig_node(pos) Pipe:after_dig_node(pos)
techage.remove_node(pos, oldnode, oldmetadata) techage.remove_node(pos, oldnode, oldmetadata)
end, end,
liquid = {
capa = 1,
peek = liquid.srv_peek,
take = take_liquid,
untake = untake_liquid,
},
networks = netw_def,
--on_rightclick = on_rightclick,
--can_dig = can_dig,
paramtype2 = "facedir", paramtype2 = "facedir",
on_rotate = screwdriver.disallow, on_rotate = screwdriver.disallow,
groups = {cracky=2}, groups = {cracky=2},
@ -108,7 +90,14 @@ minetest.register_node("techage:ta4_waterinlet", {
sounds = default.node_sound_metal_defaults(), sounds = default.node_sound_metal_defaults(),
}) })
Pipe:add_secondary_node_names({"techage:ta4_waterinlet"}) liquid.register_nodes({"techage:ta4_waterinlet"},
Pipe, "tank", {"U"}, {
capa = 1,
peek = peek_liquid,
take = take_liquid,
untake = untake_liquid,
}
)
minetest.register_craft({ minetest.register_craft({
output = "techage:ta4_waterinlet", output = "techage:ta4_waterinlet",

View File

@ -734,7 +734,7 @@ Consumer=Verbraucher
Network Data=Netzwerkdaten Network Data=Netzwerkdaten
Number of consumers:=Anzahl der Verbraucher Number of consumers:=Anzahl der Verbraucher
Number of generators:=Anzahl der Generatoren Number of generators:=Anzahl der Generatoren
Number of network nodes:=Anzahl von Netzwekblöcken Number of network nodes:=Anzahl von Netzwerkblöcken
Number of storage systems:=Anzahl der Speichersysteme Number of storage systems:=Anzahl der Speichersysteme
TA3 Power Terminal=TA3 Strom Terminal TA3 Power Terminal=TA3 Strom Terminal
@ -1065,7 +1065,7 @@ Usmium Powder=Usmium Pulver
### valve.lua ### ### valve.lua ###
TA Valve=TA Ventil TA Valve=TA Ventil
TA3 Valve= TA3 Valve=TA3 Ventil
### waterinlet.lua ### ### waterinlet.lua ###

View File

@ -74,7 +74,7 @@ Since the levels build on each other, all ages have to be run through one after
## Power Consumption ## Power Consumption
| TechAge Machine | TA2 [ku] | TA3 [ku] | TA4 [ku] | t| TechAge Machine | TA2 [ku] | TA3 [ku] | TA4 [ku] |
| ------------------------------ | -------- | -------- | --------- | | ------------------------------ | -------- | -------- | --------- |
| Autocrafter | 4 | 6 | (9) | | Autocrafter | 4 | 6 | (9) |
| Electronic Fab | 8 | 12 | 12 | | Electronic Fab | 8 | 12 | 12 |
@ -93,9 +93,7 @@ Since the levels build on each other, all ages have to be run through one after
| TA4 Reactor | - | - | 8 | | TA4 Reactor | - | - | 8 |
| Steam Engine | 25 | | | | Steam Engine | 25 | | |
| Coal Power Station | | 80 | | | Coal Power Station | | 80 | |
| TA3 Accu Box | | 10 | |
| TA3 Tiny Power Generator | | 12 | | | TA3 Tiny Power Generator | | 12 | |
| TA4 Energy Storage Generator | | | 60 |
| TA4 Solar Inverter | | | up to 100 | | TA4 Solar Inverter | | | up to 100 |
| TA4 Wind Turbine | | | 70 | | TA4 Wind Turbine | | | 70 |

View File

@ -46,8 +46,8 @@ Ab V1.0 (17.07.2021) hat sich folgendes geändert:
- Aus diesem Grund hat TA2 seinen eigenen Energiespeicher erhalten. - Aus diesem Grund hat TA2 seinen eigenen Energiespeicher erhalten.
- Die Akkublöcke aus TA3 dienen auch als Energiespeicher. Ihre Funktionsweise wurde entsprechend angepasst. - Die Akkublöcke aus TA3 dienen auch als Energiespeicher. Ihre Funktionsweise wurde entsprechend angepasst.
- Das TA4 Speichersystem wurde überarbeitet. Die Wärmetauscher (heatexchanger) haben eine neue Nummer bekommen, da die Funktionalität vom unteren in den mittleren Block verschoben wurde. Sofern diese ferngesteuert wurden, muss die Knotennummer angepasst werden. Die Generatoren haben kein eigenes Menü mehr, sondern werden nur noch über den Wärmetauscher ein-/ausgeschaltet. Wärmetauscher und Generator müssen jetzt am gleichen Netz hängen! - Das TA4 Speichersystem wurde überarbeitet. Die Wärmetauscher (heatexchanger) haben eine neue Nummer bekommen, da die Funktionalität vom unteren in den mittleren Block verschoben wurde. Sofern diese ferngesteuert wurden, muss die Knotennummer angepasst werden. Die Generatoren haben kein eigenes Menü mehr, sondern werden nur noch über den Wärmetauscher ein-/ausgeschaltet. Wärmetauscher und Generator müssen jetzt am gleichen Netz hängen!
- Mehrere Stromnetze können jetzt über einen Transformator Blöcke gekoppelt werden. - Mehrere Stromnetze können jetzt über einen TA4 Transformator Blöcke gekoppelt werden.
- Neu ist auch ein Stromzähler Block für Unternetze. - Neu ist auch ein TA4 Stromzähler Block für Unternetze.
### Tipps zur Umstellung ### Tipps zur Umstellung
@ -56,6 +56,7 @@ Viele weitere Blöcke haben kleinere Änderungen bekommen. Daher kann es sein, d
- Maschinen aus- und wieder eingeschalten - Maschinen aus- und wieder eingeschalten
- ein Stromkabel-Block entfernen und wieder setzen - ein Stromkabel-Block entfernen und wieder setzen
- den Block ganz entfernen und wieder setzen - den Block ganz entfernen und wieder setzen
- mindestens ein Akkublock oder Speichersystem in jedes Netzwerk

View File

@ -38,8 +38,6 @@ TA4 adds more power sources, but also higher logistical challenges (power lines,
## Changes from version 1.0
## Changes from version 1.0 ## Changes from version 1.0
From V1.0 (07/17/2021) the following has changed: From V1.0 (07/17/2021) the following has changed:
@ -48,8 +46,9 @@ From V1.0 (07/17/2021) the following has changed:
- For this reason TA2 got its own energy storage. - For this reason TA2 got its own energy storage.
- The battery blocks from TA3 also serve as energy storage. Their functionality has been adapted accordingly. - The battery blocks from TA3 also serve as energy storage. Their functionality has been adapted accordingly.
- The TA4 storage system has been revised. The heat heat exchanger have been given a new number because the functionality has been moved from the lower to the middle block. If these were remotely controlled, the node number must be adapted. The generators no longer have their own menu, but are only switched on / off via the heat exchanger. The heat exchanger and generator must now be connected to the same network! - The TA4 storage system has been revised. The heat heat exchanger have been given a new number because the functionality has been moved from the lower to the middle block. If these were remotely controlled, the node number must be adapted. The generators no longer have their own menu, but are only switched on / off via the heat exchanger. The heat exchanger and generator must now be connected to the same network!
- Several power grids can now be coupled via a transformer blocks. - Several power grids can now be coupled via a TA4 transformer blocks.
- An electricity meter block for sub-networks is also new. - A TA4 electricity meter block for sub-networks is also new.
- At least one battery block or a storage system in each network
### Tips on switching ### Tips on switching

View File

@ -89,9 +89,29 @@ In diesem Zusammenhang ist auch wichtig, dass die Funktionsweise von Forceload B
In TA4 kommt noch ein Kabel für die Solaranlage hinzu. In TA4 kommt noch ein Kabel für die Solaranlage hinzu.
[ta3_powerswitch|image] [ta3_powerswitch|image]
### Bedeutung von Speichersystemen
Speichersysteme im Stromnetz erfüllen zwei Aufgaben:
- Um Bedarfsspitzen abzufangen: Alle Generatoren liefern immer gerade soviel Leistung, wie benötigt wird. Werden aber Verbraucher ein/ausgeschaltet oder kommt es aus anderen Gründen zu Bedarfsschwankungen, so können Verbraucher kurzzeitig ausfallen. Um dies zu verhindern, sollte immer mindestens ein Akkublock in jedem Netzwerk vorhanden sein. Dieser dient aus Puffer und gleicht diese Schwankungen im Sekundenbereich aus.
- Um regenerative Energie zu speichern: Solar und Wind stehen nicht 24 Stunden am Tag zur Verfügung. Damit die Stromversorgung nicht ausfällt, wenn kein Strom produziert wird, müssen ein oder mehrere Speichersysteme im Netzwerk verbaut werden. Alternativ können die Lücken auch mit Öl/Kohle-Strom überbrückt werden.
Ein Speichersystem gibt seine Kapazität in kud an, also ku pro day (Tag). Bspw. ein Speichersystem mit 100 kud liefert 100 ku einen Spieltag lang, oder auch 10 ku für 10 Spieltage.
Alle TA3/TA4 Energiequellen besitzen eine einstellbare Ladecharakteristik. Standardmäßig ist diese auf "80% - 100%" eingestellt. Dies bedeutet, dass die Leistung ab 80% Füllung des Speichersystems immer weiter reduziert wird, bis sie bei 100 % komplett abschaltet. Sofern Strom im Netzwerk benötigt wird, werden die 100 % nie erreicht, da die Leistung des Generators irgendwann auf den Strombedarf im Netzwerk abgesunken ist und damit das Speichersystem nicht mehr geladen, sondern nur noch die Verbraucher bedient werden.
Dies hat mehrere Vorteile:
- Die Ladecharakteristik ist einstellbar. Damit kann man bspw. Öl/Kohle Energiequellen bei 60% und die regenerativen Energiequellen erst bei 80% zurückfahren. Damit wird nur Öl/Kohle verbrannt, wenn nicht ausreichend regenerativen Energiequellen zur Verfügung stehen.
- Mehrere Energiequellen können parallel betrieben werden und werden dabei nahezu gleichmäßig belastet, denn alle Energiequellen arbeiten bspw. bis 80% Ladekapazität des Speichersystems mit ihrer vollen Leistung und fahren dann gleichzeitig ihre Leistung zurück.
- Alle Speichersysteme in einem Netzwerk bilden einen großen Puffer. An jedem Speichersystem aber auch am Strom Terminal kann immer die Ladekapazität und der Füllungsgrad des gesamten Speichersystems in Prozent abgelesen werden.
[power_reduction|image]
### TA Stromkabel / Electric Cable ### TA Stromkabel / Electric Cable

View File

@ -93,6 +93,27 @@ In TA4 there is also a cable for the solar system.
[ta3_powerswitch|image] [ta3_powerswitch|image]
### Importance of storage systems
Storage systems in the power grid fulfill two tasks:
- To cope with peaks in demand: All generators always deliver just as much power as is needed. However, if consumers are switched on/off or there are fluctuations in demand for other reasons, consumers can fail for a short time. To prevent this, there should always be at least one battery block in every network. This serves as a buffer and compensates for these fluctuations in the seconds range.
- To store regenerative energy: Solar and wind are not available 24 hours a day. So that the power supply does not fail when no electricity is produced, one or more storage systems must be installed in the network. Alternatively, the gaps can also be bridged with oil/coal electricity.
A storage system indicates its capacity in kud, i.e. ku per day. For example, a storage system with 100 kud delivers 100 ku for one game day, or 10 ku for 10 game days.
All TA3/TA4 energy sources have adjustable charging characteristics. By default this is set to "80% - 100%". This means that when the storage system is 80% full, the output is reduced further and further until it switches off completely at 100%. If electricity is required in the network, 100% will never be reached, since the power of the generator has at some point dropped to the electricity demand in the network and the storage system is no longer charged, but only the consumers are served.
This has several advantages:
- The charging characteristics are adjustable. This means, for example, that oil/coal energy sources can be reduced at 60% and regenerative energy sources only at 80%. This means that oil/coal is only burned if there are not enough renewable energy sources available.
- Several energy sources can be operated in parallel and are loaded almost evenly, because all energy sources work, for example, up to 80% of the storage system's charging capacity at their full capacity and then reduce their capacity at the same time.
- All storage systems in a network form a large buffer. The charging capacity and the filling level of the entire storage system can always be read in percent on every storage system, but also on the electricity terminal.
[power_reduction|image]
### TA Electric Cable ### TA Electric Cable
For local wiring in the floor or in buildings. For local wiring in the floor or in buildings.

View File

@ -59,6 +59,7 @@
- [TA3 Generator](./manual_ta3_DE.md#ta3-generator) - [TA3 Generator](./manual_ta3_DE.md#ta3-generator)
- [TA3 Kühler / Cooler](./manual_ta3_DE.md#ta3-kühler--cooler) - [TA3 Kühler / Cooler](./manual_ta3_DE.md#ta3-kühler--cooler)
- [Elektrischer Strom](./manual_ta3_DE.md#elektrischer-strom) - [Elektrischer Strom](./manual_ta3_DE.md#elektrischer-strom)
- [Bedeutung von Speichersystemen](./manual_ta3_DE.md#bedeutung-von-speichersystemen)
- [TA Stromkabel / Electric Cable](./manual_ta3_DE.md#ta-stromkabel--electric-cable) - [TA Stromkabel / Electric Cable](./manual_ta3_DE.md#ta-stromkabel--electric-cable)
- [TA Verteilerdose / Electric Junction Box](./manual_ta3_DE.md#ta-verteilerdose--electric-junction-box) - [TA Verteilerdose / Electric Junction Box](./manual_ta3_DE.md#ta-verteilerdose--electric-junction-box)
- [TA Stromleitung / Power Line](./manual_ta3_DE.md#ta-stromleitung--power-line) - [TA Stromleitung / Power Line](./manual_ta3_DE.md#ta-stromleitung--power-line)

View File

@ -2,7 +2,6 @@
- [Tech Age Mod](./manual_EN.md#tech-age-mod) - [Tech Age Mod](./manual_EN.md#tech-age-mod)
- [Hints](./manual_EN.md#hints) - [Hints](./manual_EN.md#hints)
- [Changes from version 1.0](./manual_EN.md#changes-from-version-1.0)
- [Changes from version 1.0](./manual_EN.md#changes-from-version-1.0) - [Changes from version 1.0](./manual_EN.md#changes-from-version-1.0)
- [Tips on switching](./manual_EN.md#tips-on-switching) - [Tips on switching](./manual_EN.md#tips-on-switching)
- [Ores and Minerals](./manual_EN.md#ores-and-minerals) - [Ores and Minerals](./manual_EN.md#ores-and-minerals)
@ -61,6 +60,7 @@
- [TA3 generator](./manual_ta3_EN.md#ta3-generator) - [TA3 generator](./manual_ta3_EN.md#ta3-generator)
- [TA3 cooler](./manual_ta3_EN.md#ta3-cooler) - [TA3 cooler](./manual_ta3_EN.md#ta3-cooler)
- [Electrical current](./manual_ta3_EN.md#electrical-current) - [Electrical current](./manual_ta3_EN.md#electrical-current)
- [Importance of storage systems](./manual_ta3_EN.md#importance-of-storage-systems)
- [TA Electric Cable](./manual_ta3_EN.md#ta-electric-cable) - [TA Electric Cable](./manual_ta3_EN.md#ta-electric-cable)
- [TA Electric Junction Box](./manual_ta3_EN.md#ta-electric-junction-box) - [TA Electric Junction Box](./manual_ta3_EN.md#ta-electric-junction-box)
- [TA Power Line](./manual_ta3_EN.md#ta-power-line) - [TA Power Line](./manual_ta3_EN.md#ta-power-line)

View File

@ -50,7 +50,6 @@ local Cable = tubelib2.Tube:new({
-- Enable hidden cables -- Enable hidden cables
networks.use_metadata(Cable) networks.use_metadata(Cable)
networks.register_hidden_message("Use the trowel tool to remove the node.") networks.register_hidden_message("Use the trowel tool to remove the node.")
networks.register_filling_items(techage.FILLING_ITEMS)
-- Use global callback instead of node related functions -- Use global callback instead of node related functions
Cable:register_on_tube_update2(function(pos, outdir, tlib2, node) Cable:register_on_tube_update2(function(pos, outdir, tlib2, node)

View File

@ -107,7 +107,7 @@ end
local State = techage.NodeStates:new({ local State = techage.NodeStates:new({
node_name_passive = "techage:ta4_solar_inverter", node_name_passive = "techage:ta4_solar_inverter",
cycle_time = CYCLE_TIME, cycle_time = CYCLE_TIME,
standby_ticks = 0, standby_ticks = 2,
formspec_func = formspec, formspec_func = formspec,
infotext_name = S("TA4 Solar Inverter"), infotext_name = S("TA4 Solar Inverter"),
can_start = can_start, can_start = can_start,

View File

@ -57,6 +57,7 @@ end
local State = techage.NodeStates:new({ local State = techage.NodeStates:new({
node_name_passive = "techage:ta4_electricmeter", node_name_passive = "techage:ta4_electricmeter",
infotext_name = S("TA4 Electric Meter"),
cycle_time = CYCLE_TIME, cycle_time = CYCLE_TIME,
standby_ticks = 0, standby_ticks = 0,
formspec_func = formspec, formspec_func = formspec,

View File

@ -56,6 +56,7 @@ end
local State = techage.NodeStates:new({ local State = techage.NodeStates:new({
node_name_passive = "techage:ta4_transformer", node_name_passive = "techage:ta4_transformer",
infotext_name = S("TA4 Isolation Transformer"),
cycle_time = CYCLE_TIME, cycle_time = CYCLE_TIME,
standby_ticks = 0, standby_ticks = 0,
formspec_func = formspec, formspec_func = formspec,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 909 B

View File

@ -79,7 +79,7 @@ local function formspec(self, pos, nvm)
end end
local function add_rotor(pos, nvm, force) local function add_rotor(pos, nvm, force)
if (force and not nvm.err) or check_rotor(pos, nvm) then if (force and not nvm.error) or check_rotor(pos, nvm) then
local hash = minetest.hash_node_position(pos) local hash = minetest.hash_node_position(pos)
if not Rotors[hash] then if not Rotors[hash] then
local node = minetest.get_node(pos) local node = minetest.get_node(pos)