From c8f685c0d599cad0bdacd12f31b31ed958424415 Mon Sep 17 00:00:00 2001 From: Joachim Stolberg Date: Sat, 22 Feb 2020 20:43:14 +0100 Subject: [PATCH] LBMs and repair tool added for the migration --- basic_machines/quarry.lua | 25 +++-- doc/guide.lua | 4 +- doc/items.lua | 2 + doc/manual_DE.lua | 71 +++++++++---- energy_storage/heatexchanger1.lua | 7 +- energy_storage/heatexchanger2.lua | 2 +- hydrogen/fuelcell.lua | 4 + lamps/lib.lua | 2 +- liquids/filler.lua | 10 ++ liquids/node_api.lua | 2 - liquids/pump.lua | 2 +- locale/techage.de.tr | 13 +-- locale/techage.de.tr.old | 6 +- locale/template.txt | 6 +- manuals/manual_DE.md | 29 +++++ manuals/manual_ta1_DE.md | 6 +- manuals/manual_ta2_DE.md | 2 +- manuals/manual_ta3_DE.md | 29 +++-- manuals/manual_ta4_DE.md | 14 ++- manuals/toc_DE.md | 6 +- power/distribution.lua | 2 +- power/formspecs.lua | 3 + power/junctionbox.lua | 19 ++++ power/power_line.lua | 4 + solar/solarcell.lua | 13 ++- ta3_power/akkubox.lua | 4 + tools/repairkit.lua | 170 ++++++++++++++++++++++++++++-- 27 files changed, 375 insertions(+), 82 deletions(-) diff --git a/basic_machines/quarry.lua b/basic_machines/quarry.lua index 4141079..5097561 100644 --- a/basic_machines/quarry.lua +++ b/basic_machines/quarry.lua @@ -3,15 +3,11 @@ TechAge ======= - Copyright (C) 2019 Joachim Stolberg + Copyright (C) 2019-2020 Joachim Stolberg GPL v3 See LICENSE.txt for more information - Gravel Sieve, sieving gravel to find ores - - quarry.lua - Quarry machine to dig stones and other ground blocks. The Quarry digs a hole 5x5 blocks large and up to 80 blocks deep. @@ -395,17 +391,26 @@ local node_name_ta2, node_name_ta3, node_name_ta4 = minetest.register_craft({ output = node_name_ta2, recipe = { - {"default:steel_ingot", "default:diamond", "default:steel_ingot"}, - {"techage:tubeS", "basic_materials:gear_steel", "techage:tubeS"}, - {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"group:wood", "default:mese_crystal", "group:wood"}, + {"techage:tubeS", "default:pick_diamond", "techage:iron_ingot"}, + {"group:wood", "techage:iron_ingot", "group:wood"}, }, }) minetest.register_craft({ output = node_name_ta3, recipe = { - {"", "default:diamond", ""}, - {"", "node_name_ta2", ""}, + {"", "default:mese_crystal", ""}, + {"", node_name_ta2, ""}, {"", "techage:vacuum_tube", ""}, }, }) + +minetest.register_craft({ + output = node_name_ta4, + recipe = { + {"", "default:mese_crystal", ""}, + {"", node_name_ta3, ""}, + {"", "techage:ta4_wlanchip", ""}, + }, +}) diff --git a/doc/guide.lua b/doc/guide.lua index 3361f57..1323a56 100644 --- a/doc/guide.lua +++ b/doc/guide.lua @@ -79,10 +79,8 @@ local function formspec_help(meta) default.gui_slots.. "item_image[9.6,0;1,1;techage:construction_board]".. bttn.. - "style_type[textarea;textcolor=#AAAAAA]".. + "style_type[textarea;textcolor=#FFFFFF]".. "textarea[0.3,5.7;11,5.3;;"..(aText[idx] or "")..";]".. - --"textarea[0.3,4.7;11,5.3;;\027(c@#0000ff)Text \027(c@#00ff00)Text2;]".. - --"textarea[0.3,4.7;11,5.3;;"..tostring(text)..";]".. "box[0,5.75;10.775,4.45;#000000]".. "tablecolumns[tree,width=1;text,width=10,align=inline]".. diff --git a/doc/items.lua b/doc/items.lua index 05318fa..43308fd 100644 --- a/doc/items.lua +++ b/doc/items.lua @@ -86,6 +86,7 @@ techage.Items = { ta3_pump = "techage:t3_pump", oiltank = "techage:oiltank", reboiler = "techage:ta3_reboiler", + ta3_filler = "techage:filler", ---------------------------- ta3_button = "techage:ta3_button_off", ta3_cartdetector = "techage:ta3_cartdetector_off", @@ -131,5 +132,6 @@ techage.Items = { ta4_reactorstand = "techage:ta4_reactor_stand", ta4_reactorbase = "techage:ta4_reactor_base", ta4_furnaceheater = "techage:furnace_heater", + ta4_waterpump = "techage:t4_waterpump", --ta4_ "", } diff --git a/doc/manual_DE.lua b/doc/manual_DE.lua index bb1df57..1b76c4e 100644 --- a/doc/manual_DE.lua +++ b/doc/manual_DE.lua @@ -2,6 +2,8 @@ techage.manual_DE = {} techage.manual_DE.aTitel = { "1,Tech Age Mod", + "2,Software Update", + "3,Was hat sich am Spiel geändert", "2,Hinweise", "2,Erze und Mineralien", "3,Meridium", @@ -71,6 +73,7 @@ techage.manual_DE.aTitel = { "2,Flüssigkeiten", "3,TA3 Tank / TA3 Tank", "3,TA3 Pumpe / TA3 Pump", + "3,TA Einfülltrichter / TA Liquid Filler", "2,Öl-Förderung", "3,TA3 Ölexplorer / Oil Explorer", "3,TA3 Ölbohrkiste / Oil Drill Box", @@ -140,6 +143,7 @@ techage.manual_DE.aTitel = { "3,TA4 Tank / TA4 Tank", "3,TA4 Pumpe / TA4 Pump", "3,TA4 Ofenheizung / furnace heater", + "3,TA4 Wasserpumpe / Water Pump", } techage.manual_DE.aText = { @@ -159,10 +163,18 @@ techage.manual_DE.aText = { "\n".. "\n".. "\n", + "\027(c@#ffffff)Da sich mit dem Update die Art und Weise wie Daten der Maschinen gespeichert werden\\, geändert hat\\, sind nach dem Update alle Maschinen erst einmal ohne Daten und damit Funktionslos und müssen \"repariert\" werden. \n".. + "\n".. + "Dazu gibt es ein Reparaturset\\, bestehend aus dem Schraubenschlüssel (Techage Info Werkzeug) und der Werkzeugtasche (TechAge Reparaturset). Beide Werkzeuge können gecraftet werden.\n".. + "\n".. + " - Mit dem Schraubenschlüssel können die Verbindungen über das Stromnetz geprüft werden. Dazu einfach auf einen Generator oder eine Junction klicken\\, dann werden alle verbundenen Blöcke in der Umgebung markiert. Bei Unterbrechungen immer den letzten markierten Block (Junction) in der Kette neu setzen.\n".. + " - Wasserstoff ist nun wie eine Flüssigkeit zu behandeln. Elektrolyseur und Brennstoffzelle müssen daher nicht mehr über Röhren und Schieber sondern über Pumpen und Flüssigkeitsleitungen miteinander verbunden werden.\n".. + "\n", + " - Generator und Wärmetauscher beim Energiespeicher arbeiten nun unabhängig von einander und können auch einzeln mit dem Stromnetz verbunden sein.\n".. + " - \n".. + "\n", "Diese Dokumentation ist sowohl \"ingame\" (Block Konstruktionsplan) als auch auf GitHub als MD-Files verfügbar.\n".. "\n".. - " - Link: https://github.com/joe7575/techage/blob/master/manuals/toc_DE.md\n".. - " - Short Link: https://tinyurl.com/y2lwl35h\n".. "\n".. "Die Konstruktionspläne (Diagramme) für den Aufbau der Maschinen sowie die Bilder sind aber nur ingame verfügbar.\n".. "\n".. @@ -196,6 +208,7 @@ techage.manual_DE.aText = { " - 28.09.2019: Um Solaranlage erweitert\n".. " - 05.10.2019: Daten zur Solaranlage und Beschreibung zum Wechselrichter und zum Power-Terminal geändert\n".. " - 18.11.2019: Kapitel für Erze\\, Reaktor\\, Aluminium\\, Silo\\, Bauxit\\, Ofenheizung\\, Kieswaschanlage hinzugefügt\n".. + " - 22.02.2020: Korrekturen und Kapitel zum Update\n".. "\n", "In TA1 geht es darum\\, mit einfachen Werkzeugen und Gerätschaften ausreichend Erze zu schürfen und Holzkohle herzustellen\\, so dass damit TA2 Maschinen hergestellt und betrieben werden können.\n".. "\n".. @@ -242,7 +255,7 @@ techage.manual_DE.aText = { "\n".. "\n".. "\n", - "TA1 hat seine eigenen Werkzeuge wie Hammer und Kiessieb\\, aber auch bereits eine Maschine zur Automatisierung\\, den TA1 Trichter (hopper).\n".. + "TA1 hat seine eigenen Werkzeuge wie Hammer und Kiessieb\\, aber auch der Minecart Hopper kann genutzt werden.\n".. "\n".. "\n".. "\n", @@ -256,9 +269,9 @@ techage.manual_DE.aText = { "\n".. "\n".. "\n", - "Der Trichter saugt Gegenstände (items) von oben ein und gibt diese nach rechts weiter. Beim Platzieren des Trichters muss daher auf die Ausgaberichtung geachtet werden.\n".. + "Der Hopper aus der Mod \"Minecart\" dient in erster Linie zum Be- und Entladen von Minecarts. Er saugt Gegenstände (items) von oben ein und gibt diese nach rechts weiter. Beim Platzieren des Trichters muss daher auf die Ausgaberichtung geachtet werden.\n".. "\n".. - "Der Trichter kann auch Items aus Kisten (chest) ziehen\\, sofern die Kiste auf dem Trichter steht. \n".. + "Der Trichter kann aber auch Items aus Kisten (chest) ziehen\\, sofern die Kiste auf dem Trichter steht. \n".. "\n".. "Der Trichter kann auch Items in Kisten legen\\, sofern die Kiste neben dem Trichter steht.\n".. "\n".. @@ -305,7 +318,7 @@ techage.manual_DE.aText = { "\n".. "\n".. "\n", - "Teil der Dampfmaschine. Muss mit Wasser gefüllt werden. Wem kein Wasser mehr vorhanden ist oder die Temperatur zu weit absinkt\\, schaltet sich die Dampfmaschine ab.\n".. + "Teil der Dampfmaschine. Muss mit Wasser gefüllt werden. Dies erfolgt durch Klicken mit einem Wassereimer auf den Boiler. Wenn kein Wasser mehr vorhanden ist oder die Temperatur zu weit absinkt\\, schaltet sich die Dampfmaschine ab.\n".. "\n".. "\n".. "\n", @@ -473,7 +486,7 @@ techage.manual_DE.aText = { "\n".. "\n".. "\n", - "Teil des Kraftwerk. Muss mit Wasser gefüllt werden. Wem kein Wasser mehr vorhanden ist oder die Temperatur zu weit absinkt\\, schaltet sich der Boiler ab.\n".. + "Teil des Kraftwerk. Muss mit Wasser gefüllt werden. Wem kein Wasser mehr vorhanden ist oder die Temperatur zu weit absinkt\\, schaltet sich das Kraftwerk ab.\n".. "\n".. "\n".. "\n", @@ -496,7 +509,7 @@ techage.manual_DE.aText = { " - Überlandleitungen (TA Stromleitung) für Freiluftverkabelung über große Strecken. Diese Kabel sind geschützt\\, können also von anderen Spielern nicht entfernt werden.\n".. "\n".. "Mehrere Verbraucher und Generatoren können in einem Stromnetzwerk zusammen betrieben werden. Mit Hilfe der Verteilerdosen können so große Netzwerke aufgebaut werden.\n".. - "Wird zu wenig Strom bereitgestellt\\, gehen Teile der Verbraucher aus\\, bzw. Lampen beginnen zu flackern.\n".. + "Wird zu wenig Strom bereitgestellt\\, gehen die Verbraucher aus.\n".. "In diesem Zusammenhang ist auch wichtig\\, dass die Funktionsweise von Forceload Blöcken verstanden wurde\\, denn bspw. Generatoren liefern nur Strom\\, wenn der entsprechende Map-Block geladen ist. Dies kann mit einen Forceload Block erzwungen werden.\n".. "\n".. "In TA4 kommt noch ein Kabel für die Solaranlage hinzu.\n".. @@ -565,10 +578,10 @@ techage.manual_DE.aText = { "\n".. "\n".. "\n", - "Das Strom-Terminal muss vor eine Verteilerdose platziert werden. Es zeigt Daten aus dem Stromnetz an wie:\n".. + "Das Strom-Terminal muss mit dem Stromnetz verbunden werden. Es zeigt Daten aus dem Stromnetz an wie:\n".. "\n".. " - Anzahl und Leistung der verschiedenen Generatoren und Akkus (aktuell/maximal)\n".. - " - Anzahl der Netzwerk-Blöcke (max. 1000)\nDie Daten des Terminals werden beim Öffnen des Menüs für einige Sekunden aktualisiert. Danach kann die Anzeige durch Anklicken des \"Update\" Buttons erneut aktualisiert werden.\n".. + " - Anzahl der Netzwerk-Blöcke (max. 1000)\n".. "\n".. "\n".. "\n", @@ -597,7 +610,7 @@ techage.manual_DE.aText = { "\n".. "\n".. "\n", - "Flüssigkeiten wie Wasser oder Öl können nur die spezielle Leitungen gepumpt und in Tanks gespeichert werden. Wie auch bei Wasser gibt es aber Behälter (Eimer\\, Kanister\\, Fässer)\\, in denen die Flüssig gelagert und transportiert werden kann.\n".. + "Flüssigkeiten wie Wasser oder Öl können nur die spezielle Leitungen gepumpt und in Tanks gespeichert werden. Wie auch bei Wasser gibt es aber Behälter (Kanister\\, Fässer)\\, in denen die Flüssig gelagert und transportiert werden kann.\n".. "\n".. "Über die gelben Leitungen und Verbindungsstücke ist es auch möglich\\, mehrere Tanks zu verbinden. Allerdings müssen die Tanks den selben Inhalt haben und zwischen Tank\\, Pumpe und Verteiler muss immer mindestens eine gelbe Leitung sein.\n".. "Bspw. zwei Tanks direkt mit einem Verteilerstück zu verbinden\\, geht nicht.\n".. @@ -605,12 +618,8 @@ techage.manual_DE.aText = { "\n".. "\n", "In einem Tank können Flüssigkeiten gespeichert werden. Ein Tank kann über eine Pumpe gefüllt bzw. geleert werden. Dazu muss die Pumpe über einer Leitung (gelbe Röhre) mit dem Tank verbunden sein.\n".. - "Ein Tank kann aber auch über Eimer/Fässer gefüllt bzw. geleert werden:\n".. "\n".. - " - werden leere Fässer mit einem Schieber oder von Hand in den Tank gegeben\\, werden diese gefüllt und können ausgangsseitig wieder entnommen werden\n".. - " - werden volle Fässer mit einem Schieber oder von Hand in den Tank gegeben\\, werden diese geleert und können ausgangsseitig wieder entnommen werden\n".. - "\n".. - "Dabei ist zu beachten\\, dass Fässer nur komplett gefüllt oder entleert werden können. Sind bspw. weniger als 10 Einheiten im Tank\\, muss dieser Rest mit Eimern oder Kanistern entnommen oder leergepumpt werden.\n".. + "Ein Tank kann auch von Hand gefüllt oder geleert werden\\, indem mit einem vollen oder leeren Flüssigkeitsbehälter (Fass\\, Kanister) auf den Tank geklickt wird. Dabei ist zu beachten\\, dass Fässer nur komplett gefüllt oder entleert werden können. Sind bspw. weniger als 10 Einheiten im Tank\\, muss dieser Rest mit Kanistern entnommen oder leergepumpt werden.\n".. "\n".. "In einen TA3 Tank passen 500 Einheiten oder 50 Fässer einer Flüssigkeit.\n".. "\n".. @@ -626,6 +635,15 @@ techage.manual_DE.aText = { "\n".. "\n".. "\n", + "Um Flüssigkeiten zwischen Behältern und Tanks umzufüllen\\, dient der Einfülltrichter.\n".. + "\n".. + " - wird der Einfülltrichter unter einen Tank gesetzt und werden leere Fässer mit einem Schieber oder von Hand in den Einfülltrichter gegeben\\, wird der Tankinhalt in die Fässer umgefüllt und die Fässer können ausgangsseitig wieder entnommen werden\n".. + " - wird der Einfülltrichter auf einen Tank gesetzt und werden volle Fässer mit einem Schieber oder von Hand in den Einfülltrichter gegeben\\, werden diese in den Tank umgefüllt und die Fässer können ausgangsseitig wieder entnommen werden\n".. + "\n".. + "Dabei ist zu beachten\\, dass Fässer nur komplett gefüllt oder entleert werden können. Sind bspw. weniger als 10 Einheiten im Tank\\, muss dieser Rest mit Kanistern entnommen oder leergepumpt werden.\n".. + "\n".. + "\n".. + "\n", "Um deine Generatoren und Öfen mit Öl betreiben zu können\\, muss du zuerst nach Öl suchen und einen Bohrturm errichten und danach das Öl fördern.\n".. "Dazu dienen dir TA3 Ölexplorer\\, TA3 Ölbohrkiste und TA3 Ölpumpe.\n".. "\n".. @@ -889,7 +907,7 @@ techage.manual_DE.aText = { "", "Das Techage Info Tool (Schraubenschlüssel) hat verschiedene Funktionen. Er zeigt die Uhrzeit\\, die Position\\, die Temperatur und das Biome an\\, wenn auf einen unbekannten Block geklickt wird.\n".. "Wird auf einen TechAge Block mit Kommandoschnittstelle geklickt\\, werden alle verfügbaren Daten abgerufen (siehe auch \"Logik-/Schalt-Blöcke\").\n".. - "Bei Strom-Verteilerdosen werden die Daten aus dem Stromnetz angezeigt. Außerdem werden die benachbarten Netzwerkteilnehmer (über bis zu 4 Verteiler hinweg) mit einem blauen Käfig und einem Text angezeigt. Der Text zeigt die Position und die Anzahl der Verbindungen zu anderen Blöcken (0..6). Dies soll bei der Suche nach Kabelunterbrechungen helfen.\n".. + "Bei Strom-Verteilerdosen werden die benachbarten Netzwerkteilnehmer (bis zu 50 Meter weit) mit einem blauen Käfig angezeigt.\n".. "\n".. "\n".. "\n", @@ -970,8 +988,7 @@ techage.manual_DE.aText = { "\n".. "\n", "Der Wechselrichter wandelt den Solarstrom (DC) in Wechselstrom (AC) um\\, so dass dieser in das Stromnetz eingespeist werden kann.\n".. - "Ein Wechselrichter\\, bestehend aus zwei Blöcken kann maximal 100 ku an Strom einspeisen\\, was 33 Solarmodulen oder auch mehr entspricht.\n".. - "Der DC Block muss links neben den AC-Block gesetzt werden.\n".. + "Ein Wechselrichter kann maximal 100 ku an Strom einspeisen\\, was 33 Solarmodulen oder auch mehr entspricht.\n".. "\n".. "\n".. "\n", @@ -1018,7 +1035,9 @@ techage.manual_DE.aText = { "\n".. "\n".. "\n", - "Der Generator dient zur Stromerzeugung. Daher muss auch der Generator am Stromnetz angeschlossen werden. Dabei muss beachtet werden\\, dass es ein funktionierendes Stromnetz ist\\, denn der Generator des Energiespeichers kann nicht als einzelne Stromquelle funktionieren. Der Generator kann 60 ku abgeben.\n".. + "Der Generator dient zur Stromerzeugung. Daher muss auch der Generator am Stromnetz angeschlossen werden. \n".. + "\n".. + "Der Generator kann 60 ku abgeben.\n".. "\n".. "\n".. "\n", @@ -1122,6 +1141,10 @@ techage.manual_DE.aText = { "\n".. "\n".. "\n", + "Mit der Wasserpumpe kann Wasser über Flüssigkeitsleitungen in Tanks gepumpt und so für Rezepte genutzt werden. Die Wasserpumpe muss dazu ins Meer gesetzt werden Ein \"Pool\" aus ein paar Wasserblöcken geht nicht!\n".. + "\n".. + "\n".. + "\n", } techage.manual_DE.aItemName = { @@ -1134,6 +1157,8 @@ techage.manual_DE.aItemName = { "", "", "", + "", + "", "techage_ta1", "", "", @@ -1195,6 +1220,7 @@ techage.manual_DE.aItemName = { "", "ta3_tank", "ta3_pump", + "ta3_filler", "techage_ta3", "ta3_oilexplorer", "ta3_drillbox", @@ -1264,6 +1290,7 @@ techage.manual_DE.aItemName = { "ta4_tank", "ta4_pump", "ta4_furnaceheater", + "ta4_waterpump", } techage.manual_DE.aPlanTable = { @@ -1277,6 +1304,8 @@ techage.manual_DE.aPlanTable = { "", "", "", + "", + "", "coalpile", "coalburner", "", @@ -1344,6 +1373,7 @@ techage.manual_DE.aPlanTable = { "", "", "", + "", "ta3_distiller", "", "", @@ -1406,5 +1436,6 @@ techage.manual_DE.aPlanTable = { "", "", "", + "", } diff --git a/energy_storage/heatexchanger1.lua b/energy_storage/heatexchanger1.lua index 231571f..10a0ea3 100644 --- a/energy_storage/heatexchanger1.lua +++ b/energy_storage/heatexchanger1.lua @@ -160,6 +160,7 @@ end local function node_timer(pos, elapsed) local nvm = techage.get_nvm(pos) nvm.capa = nvm.capa or 0 + nvm.capa_max = nvm.capa_max or 0 local taken = 0 local given = 0 @@ -234,7 +235,7 @@ techage.register_node({"techage:heatexchanger1"}, { local nvm = techage.get_nvm(pos) -- used by heatexchanger2 if topic == "state" then - return nvm.capa_max, nvm.capa, PWR_PERF, math.max(nvm.needed or 0, 0) + return (nvm.capa_max or 0), (nvm.capa or 0), PWR_PERF, math.max(nvm.needed or 0, 0) elseif topic == "integrity" then return inlet_cmnd(pos, "volume", payload) elseif topic == "state" then @@ -262,6 +263,10 @@ techage.register_node({"techage:heatexchanger1"}, { if nvm.running and nvm.charging then play_sound(pos) end + local mem = tubelib2.get_mem(pos) + local nvm = techage.get_nvm(pos) + nvm.capa = (nvm.capa or 0) + (mem.capa or 0) + tubelib2.del_mem(pos) end, }) diff --git a/energy_storage/heatexchanger2.lua b/energy_storage/heatexchanger2.lua index 30f4247..e53afa3 100644 --- a/energy_storage/heatexchanger2.lua +++ b/energy_storage/heatexchanger2.lua @@ -48,7 +48,7 @@ local function formspec(self, pos, nvm) end local function can_start(pos, nvm, state) - print("can_start", he1_cmnd(pos, "can_start")) + --print("can_start", he1_cmnd(pos, "can_start")) return he1_cmnd(pos, "can_start") or S("did you check the plan?") end diff --git a/hydrogen/fuelcell.lua b/hydrogen/fuelcell.lua index 5009e7f..0ed7ead 100644 --- a/hydrogen/fuelcell.lua +++ b/hydrogen/fuelcell.lua @@ -135,6 +135,10 @@ local function after_place_node(pos) M(pos):set_int("outdir", networks.side_to_outdir(pos, "R")) Pipe:after_place_node(pos) Cable:after_place_node(pos) + local inv = M(pos):get_inventory() + inv:set_size('src', 4) + inv:set_stack('src', 2, {name = "techage:gasoline", count = 60}) + inv:set_stack('src', 4, {name = "techage:gasoline", count = 60}) end local function after_dig_node(pos, oldnode, oldmetadata, digger) diff --git a/lamps/lib.lua b/lamps/lib.lua index 195a648..1023c90 100644 --- a/lamps/lib.lua +++ b/lamps/lib.lua @@ -97,7 +97,7 @@ end local net_def = { ele1 = { - sides = {U=1, D=1}, -- Cable connection sides + sides = {U=1, D=1, L=1, R=1, F=1, B=1}, -- Cable connection sides ntype = "con1", on_power = on_power, on_nopower = on_nopower, diff --git a/liquids/filler.lua b/liquids/filler.lua index 27d427f..e25f9f9 100644 --- a/liquids/filler.lua +++ b/liquids/filler.lua @@ -144,3 +144,13 @@ techage.register_node({"techage:filler"}, { return techage.put_items(inv, "dst", stack) end, }) + + +minetest.register_craft({ + output = "techage:filler", + recipe = { + {"default:steel_ingot", "group:wood", "default:steel_ingot"}, + {"techage:tubeS", "", "techage:tubeS"}, + {"default:steel_ingot", "group:wood", "default:steel_ingot"}, + }, +}) diff --git a/liquids/node_api.lua b/liquids/node_api.lua index 1511715..550297b 100644 --- a/liquids/node_api.lua +++ b/liquids/node_api.lua @@ -46,7 +46,6 @@ end -- store network ID on each pump like node local function store_netID(pos, outdir, netID) networks.connection_walk(pos, outdir, Pipe, function(pos, indir, node) - print("store_netID", dump(indir)) local ntype = net_def(pos, "pipe2").ntype if ntype and ntype == "pump" then local nvm = techage.get_nvm(pos) @@ -85,7 +84,6 @@ local function get_netID(pos, outdir) end local function get_network_table(pos, outdir, ntype) - print("get_network_table", outdir) local netID = get_netID(pos, outdir) if netID then local netw = networks.get_network("pipe2", netID) diff --git a/liquids/pump.lua b/liquids/pump.lua index 96cdb82..65e8419 100644 --- a/liquids/pump.lua +++ b/liquids/pump.lua @@ -65,7 +65,7 @@ local State4 = techage.NodeStates:new({ local function pumping(pos, nvm, state, capa) local outdir = M(pos):get_int("outdir") local starter = get_starter_name(pos) - print("pumping", outdir, Flip[outdir]) + --print("pumping", outdir, Flip[outdir]) local taken, name = liquid.take(pos, Flip[outdir], nil, capa, starter) if taken > 0 then local leftover = liquid.put(pos, outdir, name, taken, starter) diff --git a/locale/techage.de.tr b/locale/techage.de.tr index 0f5ea17..895774f 100644 --- a/locale/techage.de.tr +++ b/locale/techage.de.tr @@ -102,7 +102,6 @@ No plan available=Kein Plan verfügar No wind at this altitude!=Kein Wind auf dieser Höhe Node owner=Blockbesitzer Number of all nodes=Anzahl aller Blöcke -Number of nodes=Anzahl Blöcke Oil Drill Box=Ölbohrkiste Oil Pumpjack=Ölpumpe Oil Source=Erdöl @@ -116,8 +115,6 @@ Position temperature=Positionstemperatur Power AC=Wechselstrom Power DC=Gleichstrom Power Source=Stromquelle -Primary available=Primär verfügbar -Primary needed=Primär benötigt Priv missing=Rechte fehlen Propane Cylinder Large=Propangasflasche groß Propane Cylinder Small=Propangasflasche klein @@ -134,8 +131,6 @@ Remove derrick=Entferne Ölturm Rinsing=Waschen River Water Barrel=Flusswasserfass Save=Speichern -Secondary available=Sekundär verfügbar -Secondary needed=Sekundär benötigt Send signal if nodes have been:=Sende ein Signal falls Blöcke: Show all forceload blocks in a 64x64x64 range=Zeige alle Forceload Blöcke im Umkreis von 64x64x64 Blöcken Sieved Basalt Gravel=Basaltkies gesiebt @@ -296,7 +291,7 @@ TechAge Gate Block=TechAge Torblock TechAge Gravel=TechAge Kies TechAge Info Tool (use @= read status info)=TechAge Info Werkzeug TechAge Programmer (right @= read number, left @= write numbers)=TechAge Programmer (rechts @= lese Nummer, links @= schreibe Nummern) -TechAge Repair Kit=TechAge Reparier Set +TechAge Repair Kit=TechAge Reparaturset TechAge Signal Lamp=TechAge Signallampe TechAge Signal Lamp (can be colored)=TechAge Signallampe (kann gefärbt werden) TechAge Steel Mat=TechAge Stahlmatte @@ -360,7 +355,13 @@ reactor defect=Reaktor defekt reactor defect or no power=Reaktor defekt oder kein Strom reactor has no power=Reaktor hat keinen Strom removed=entfernt +repaired=repariert stopped=gestoppt water temperature=Wassertemperatur wrong storage diameter=Falscher Wärmespeicher-Durchmesser ##### not used anymore ##### +Number of nodes=Anzahl Blöcke +Secondary needed=Sekundär benötigt +Secondary available=Sekundär verfügbar +Primary available=Primär verfügbar +Primary needed=Primär benötigt \ No newline at end of file diff --git a/locale/techage.de.tr.old b/locale/techage.de.tr.old index 4d08b2e..1c18a0e 100644 --- a/locale/techage.de.tr.old +++ b/locale/techage.de.tr.old @@ -119,6 +119,8 @@ Power Source=Stromquelle Primary available=Primär verfügbar Primary needed=Primär benötigt Priv missing=Rechte fehlen +Propane Cylinder Large=Propangasflasche groß +Propane Cylinder Small=Propangasflasche klein Pumpjack=Ölpumpe Punch the block to make the area visible.=Schlage auf den Bock um den Bereich anzuzeigen. Pusher=Schieber @@ -214,7 +216,6 @@ TA3 Fuel Oil=TA3 Schweröl TA3 Fuel Oil Barrel=TA3 Schwerölfass TA3 Fuel Oil Canister=TA3 Schwerölkanister TA3 Furnace Oil Burner=TA3 Ofen-Ölbrenner -TA3 Gas=TA3 Gas TA3 Gasoline=TA3 Benzin TA3 Gasoline Barrel=TA3 Benzinfass TA3 Gasoline Canister=TA3 Benzinkanister @@ -236,6 +237,7 @@ TA3 Player Detector=TA3 Spieler Detektor TA3 Power Station Firebox=TA3 Kraftwerks-Feuerbox TA3 Power Station Oil Burner=TA3 Kraftwerks-Ölbrenner TA3 Power Terminal=TA3 Strom Terminal +TA3 Propane=TA3 Propan TA3 Protected Chest=TA3 Gesicherte Kiste TA3 Pump=TA3 Pumpe TA3 Repeater=TA3 Wiederholer @@ -294,7 +296,7 @@ TechAge Gate Block=TechAge Torblock TechAge Gravel=TechAge Kies TechAge Info Tool (use @= read status info)=TechAge Info Werkzeug TechAge Programmer (right @= read number, left @= write numbers)=TechAge Programmer (rechts @= lese Nummer, links @= schreibe Nummern) -TechAge Repair Kit=TechAge Reparier Set +TechAge Repair Kit=TechAge Reparaturset TechAge Signal Lamp=TechAge Signallampe TechAge Signal Lamp (can be colored)=TechAge Signallampe (kann gefärbt werden) TechAge Steel Mat=TechAge Stahlmatte diff --git a/locale/template.txt b/locale/template.txt index a66b64c..0451d9e 100644 --- a/locale/template.txt +++ b/locale/template.txt @@ -100,7 +100,6 @@ No plan available= No wind at this altitude!= Node owner= Number of all nodes= -Number of nodes= Oil Drill Box= Oil Pumpjack= Oil Source= @@ -114,8 +113,6 @@ Position temperature= Power AC= Power DC= Power Source= -Primary available= -Primary needed= Priv missing= Propane Cylinder Large= Propane Cylinder Small= @@ -132,8 +129,6 @@ Remove derrick= Rinsing= River Water Barrel= Save= -Secondary available= -Secondary needed= Send signal if nodes have been:= Show all forceload blocks in a 64x64x64 range= Sieved Basalt Gravel= @@ -358,6 +353,7 @@ reactor defect= reactor defect or no power= reactor has no power= removed= +repaired= stopped= water temperature= wrong storage diameter= \ No newline at end of file diff --git a/manuals/manual_DE.md b/manuals/manual_DE.md index f9f33e0..447c3b4 100644 --- a/manuals/manual_DE.md +++ b/manuals/manual_DE.md @@ -16,6 +16,34 @@ Regenerative Energiequellen wie Wind, Sonne und Biokraft helfen dir, das Ölzeit [wlanchip|image] +## Software Update +Zum 23.02.2020 gab es ein größeres Software-Update, was einige Änderungen und aus Sicht der Spieler auch "Probleme" mit sich bringt. Das Software-Update war aber nötig, um die techage Mod weiter ausbauen und entwickeln zu können. + +Da sich mit dem Update die Art und Weise wie Daten der Maschinen gespeichert werden, geändert hat, sind nach dem Update alle Maschinen erst einmal ohne Daten und damit Funktionslos und müssen "repariert" werden. + +Dazu gibt es ein Reparaturset, bestehend aus dem Schraubenschlüssel (Techage Info Werkzeug) und der Werkzeugtasche (TechAge Reparaturset). Beide Werkzeuge können gecraftet werden. + +- Mit dem Schraubenschlüssel können die Verbindungen über das Stromnetz geprüft werden. Dazu einfach auf einen Generator oder eine Junction klicken, dann werden alle verbundenen Blöcke in der Umgebung markiert. Bei Unterbrechungen immer den letzten markierten Block (Junction) in der Kette neu setzen. +- normale Maschinen müssen nur neu gestartet werden. Hilft dies nicht, einfach neu setzen. +- Generatoren (auch Akkus und Brennstoffzelle) können entweder neu gesetzt, oder mit dem Reparaturset angeklickt und damit repariert werden. +- Die Trägermodule der Solarzellen müssen ebenfalls mit dem "Reparaturset" angeklickt werden. +- Die Stromschalterbox und die Stromschalter müssen neu gesetzt werden. Die Stromschalterbox verhält sich beim Setzen nun ähnlich wie Stromkabel. +- Der TA4 Solar Wechselrichter besteht jetzt nur noch aus einem Block. Der zweite Block muss entfernt und durch ein rotes Kabel ersetzt werden. +- Wasserstoff ist nun wie eine Flüssigkeit zu behandeln. Elektrolyseur und Brennstoffzelle müssen daher nicht mehr über Röhren und Schieber sondern über Pumpen und Flüssigkeitsleitungen miteinander verbunden werden. + +### Was hat sich am Spiel geändert? + +- der TA1 Hopper ist weg, dafür kann jetzt der Hopper aus der Mod Minecart genutzt werden. +- Blöcke für Wasser und andere Flüssigkeiten (Boiler, Tanks) haben kein Inventory mehr. Diese muss man nun füllen bzw. leeren, in dem man mit einem vollen bzw. leeren Behälter auf den Block klickt. Bei Wasser ist das der Eimer, bei Öl und anderen Flüssigkeiten die Fässer oder Kanister. +- für TA2 und TA3 gibt er jetzt einen Steinbrecher (Quarry) zum Abbau von Steinen. +- Die Stromschalterbox und die Stromschalter wurden überarbeitet und sind nun leichter zu Platzieren. +- Alle Menüs werden nun automatisch und zyklisch aktualisiert, den "Update" Button gibt es nicht mehr. +- Die Tanks können nun nicht mehr direkt über Schieber gefüllt oder geleert werden. Hierzu ist zusätzlich ein TA Einfülltrichter (TA Liquid Filler) notwendig. +- Gas, was beim Destillieren entsteht (Propangas), kann über den Reformer in Wasserstoff umgewandelt und dann zu Strom gemacht werden. +- Der TA4 Solar Wechselrichter besteht jetzt nur noch aus einem Block. +- Generator und Wärmetauscher beim Energiespeicher arbeiten nun unabhängig von einander und können auch einzeln mit dem Stromnetz verbunden sein. +- + ## Hinweise Diese Dokumentation ist sowohl "ingame" (Block Konstruktionsplan) als auch auf GitHub als MD-Files verfügbar. @@ -76,4 +104,5 @@ Es wird zur Herstellung von Aluminium benötigt, was vor allem in TA4 Verwendung - 28.09.2019: Um Solaranlage erweitert - 05.10.2019: Daten zur Solaranlage und Beschreibung zum Wechselrichter und zum Power-Terminal geändert - 18.11.2019: Kapitel für Erze, Reaktor, Aluminium, Silo, Bauxit, Ofenheizung, Kieswaschanlage hinzugefügt +- 22.02.2020: Korrekturen und Kapitel zum Update diff --git a/manuals/manual_ta1_DE.md b/manuals/manual_ta1_DE.md index 8ecc788..ec6b689 100644 --- a/manuals/manual_ta1_DE.md +++ b/manuals/manual_ta1_DE.md @@ -55,7 +55,7 @@ Der Schmelztiegel hat ein eigenes Menü mit Rezepten und ein Inventar, wo du die ## Erze und Werkzeuge -TA1 hat seine eigenen Werkzeuge wie Hammer und Kiessieb, aber auch bereits eine Maschine zur Automatisierung, den TA1 Trichter (hopper). +TA1 hat seine eigenen Werkzeuge wie Hammer und Kiessieb, aber auch der Minecart Hopper kann genutzt werden. [ta1_gravelsieve|image] @@ -78,9 +78,9 @@ Um hier nicht stundenlang am Sieb zu stehen, kann das Sieben mit dem Trichter (h ### Trichter / Hopper -Der Trichter saugt Gegenstände (items) von oben ein und gibt diese nach rechts weiter. Beim Platzieren des Trichters muss daher auf die Ausgaberichtung geachtet werden. +Der Hopper aus der Mod "Minecart" dient in erster Linie zum Be- und Entladen von Minecarts. Er saugt Gegenstände (items) von oben ein und gibt diese nach rechts weiter. Beim Platzieren des Trichters muss daher auf die Ausgaberichtung geachtet werden. -Der Trichter kann auch Items aus Kisten (chest) ziehen, sofern die Kiste auf dem Trichter steht. +Der Trichter kann aber auch Items aus Kisten (chest) ziehen, sofern die Kiste auf dem Trichter steht. Der Trichter kann auch Items in Kisten legen, sofern die Kiste neben dem Trichter steht. diff --git a/manuals/manual_ta2_DE.md b/manuals/manual_ta2_DE.md index dbd1b4a..20232af 100644 --- a/manuals/manual_ta2_DE.md +++ b/manuals/manual_ta2_DE.md @@ -39,7 +39,7 @@ Die Feuerbox muss mit Kohle oder Holzkohle gefüllt werden. Die Brenndauer ist a ### TA2 Boiler -Teil der Dampfmaschine. Muss mit Wasser gefüllt werden. Wem kein Wasser mehr vorhanden ist oder die Temperatur zu weit absinkt, schaltet sich die Dampfmaschine ab. +Teil der Dampfmaschine. Muss mit Wasser gefüllt werden. Dies erfolgt durch Klicken mit einem Wassereimer auf den Boiler. Wenn kein Wasser mehr vorhanden ist oder die Temperatur zu weit absinkt, schaltet sich die Dampfmaschine ab. [ta2_boiler|image] diff --git a/manuals/manual_ta3_DE.md b/manuals/manual_ta3_DE.md index a1dc4f5..9e601c7 100644 --- a/manuals/manual_ta3_DE.md +++ b/manuals/manual_ta3_DE.md @@ -49,7 +49,7 @@ Der Ölbrenner kann nur 50 Einheiten Kraftstoff aufnehmen. Ein zusätzlicher Öl ### TA3 Boiler unten/oben -Teil des Kraftwerk. Muss mit Wasser gefüllt werden. Wem kein Wasser mehr vorhanden ist oder die Temperatur zu weit absinkt, schaltet sich der Boiler ab. +Teil des Kraftwerk. Muss mit Wasser gefüllt werden. Wem kein Wasser mehr vorhanden ist oder die Temperatur zu weit absinkt, schaltet sich das Kraftwerk ab. [ta3_boiler|image] @@ -84,7 +84,7 @@ TA3 besitzt 2 Arten von Stromkabel: - Überlandleitungen (TA Stromleitung) für Freiluftverkabelung über große Strecken. Diese Kabel sind geschützt, können also von anderen Spielern nicht entfernt werden. Mehrere Verbraucher und Generatoren können in einem Stromnetzwerk zusammen betrieben werden. Mit Hilfe der Verteilerdosen können so große Netzwerke aufgebaut werden. -Wird zu wenig Strom bereitgestellt, gehen Teile der Verbraucher aus, bzw. Lampen beginnen zu flackern. +Wird zu wenig Strom bereitgestellt, gehen die Verbraucher aus. In diesem Zusammenhang ist auch wichtig, dass die Funktionsweise von Forceload Blöcken verstanden wurde, denn bspw. Generatoren liefern nur Strom, wenn der entsprechende Map-Block geladen ist. Dies kann mit einen Forceload Block erzwungen werden. In TA4 kommt noch ein Kabel für die Solaranlage hinzu. @@ -189,10 +189,9 @@ Bei Volllast kann ein Akku 400 s lang Strom aufnehmen und wenn er voll ist, auch ### TA3 Strom Terminal / Power Terminal -Das Strom-Terminal muss vor eine Verteilerdose platziert werden. Es zeigt Daten aus dem Stromnetz an wie: +Das Strom-Terminal muss mit dem Stromnetz verbunden werden. Es zeigt Daten aus dem Stromnetz an wie: - Anzahl und Leistung der verschiedenen Generatoren und Akkus (aktuell/maximal) - Anzahl der Netzwerk-Blöcke (max. 1000) -Die Daten des Terminals werden beim Öffnen des Menüs für einige Sekunden aktualisiert. Danach kann die Anzeige durch Anklicken des "Update" Buttons erneut aktualisiert werden. [ta3_powerterminal|image] @@ -236,7 +235,7 @@ Ist Teil des TA3 Industrieofen. Siehe TA3 Industrieofen. ## Flüssigkeiten -Flüssigkeiten wie Wasser oder Öl können nur die spezielle Leitungen gepumpt und in Tanks gespeichert werden. Wie auch bei Wasser gibt es aber Behälter (Eimer, Kanister, Fässer), in denen die Flüssig gelagert und transportiert werden kann. +Flüssigkeiten wie Wasser oder Öl können nur die spezielle Leitungen gepumpt und in Tanks gespeichert werden. Wie auch bei Wasser gibt es aber Behälter (Kanister, Fässer), in denen die Flüssig gelagert und transportiert werden kann. Über die gelben Leitungen und Verbindungsstücke ist es auch möglich, mehrere Tanks zu verbinden. Allerdings müssen die Tanks den selben Inhalt haben und zwischen Tank, Pumpe und Verteiler muss immer mindestens eine gelbe Leitung sein. Bspw. zwei Tanks direkt mit einem Verteilerstück zu verbinden, geht nicht. @@ -247,11 +246,8 @@ Bspw. zwei Tanks direkt mit einem Verteilerstück zu verbinden, geht nicht. ### TA3 Tank / TA3 Tank In einem Tank können Flüssigkeiten gespeichert werden. Ein Tank kann über eine Pumpe gefüllt bzw. geleert werden. Dazu muss die Pumpe über einer Leitung (gelbe Röhre) mit dem Tank verbunden sein. -Ein Tank kann aber auch über Eimer/Fässer gefüllt bzw. geleert werden: -- werden leere Fässer mit einem Schieber oder von Hand in den Tank gegeben, werden diese gefüllt und können ausgangsseitig wieder entnommen werden -- werden volle Fässer mit einem Schieber oder von Hand in den Tank gegeben, werden diese geleert und können ausgangsseitig wieder entnommen werden -Dabei ist zu beachten, dass Fässer nur komplett gefüllt oder entleert werden können. Sind bspw. weniger als 10 Einheiten im Tank, muss dieser Rest mit Eimern oder Kanistern entnommen oder leergepumpt werden. +Ein Tank kann auch von Hand gefüllt oder geleert werden, indem mit einem vollen oder leeren Flüssigkeitsbehälter (Fass, Kanister) auf den Tank geklickt wird. Dabei ist zu beachten, dass Fässer nur komplett gefüllt oder entleert werden können. Sind bspw. weniger als 10 Einheiten im Tank, muss dieser Rest mit Kanistern entnommen oder leergepumpt werden. In einen TA3 Tank passen 500 Einheiten oder 50 Fässer einer Flüssigkeit. @@ -268,10 +264,21 @@ Hinweis 1: Die Pumpe darf nicht direkt neben den Tank platziert werden. Es muss Hinweis 2: Nach dem Starten markiert die Pumpe 10 x die Blöcke, von und zu denen gepumpt wird. - [ta3_pump|image] +### TA Einfülltrichter / TA Liquid Filler + +Um Flüssigkeiten zwischen Behältern und Tanks umzufüllen, dient der Einfülltrichter. + +- wird der Einfülltrichter unter einen Tank gesetzt und werden leere Fässer mit einem Schieber oder von Hand in den Einfülltrichter gegeben, wird der Tankinhalt in die Fässer umgefüllt und die Fässer können ausgangsseitig wieder entnommen werden +- wird der Einfülltrichter auf einen Tank gesetzt und werden volle Fässer mit einem Schieber oder von Hand in den Einfülltrichter gegeben, werden diese in den Tank umgefüllt und die Fässer können ausgangsseitig wieder entnommen werden + +Dabei ist zu beachten, dass Fässer nur komplett gefüllt oder entleert werden können. Sind bspw. weniger als 10 Einheiten im Tank, muss dieser Rest mit Kanistern entnommen oder leergepumpt werden. + +[ta3_filler|image] + + ## Öl-Förderung Um deine Generatoren und Öfen mit Öl betreiben zu können, muss du zuerst nach Öl suchen und einen Bohrturm errichten und danach das Öl fördern. @@ -636,7 +643,7 @@ Die Verarbeitungsleistung ist 2 Items alle 8 s. Der Block benötigt 5 ku Strom. Das Techage Info Tool (Schraubenschlüssel) hat verschiedene Funktionen. Er zeigt die Uhrzeit, die Position, die Temperatur und das Biome an, wenn auf einen unbekannten Block geklickt wird. Wird auf einen TechAge Block mit Kommandoschnittstelle geklickt, werden alle verfügbaren Daten abgerufen (siehe auch "Logik-/Schalt-Blöcke"). -Bei Strom-Verteilerdosen werden die Daten aus dem Stromnetz angezeigt. Außerdem werden die benachbarten Netzwerkteilnehmer (über bis zu 4 Verteiler hinweg) mit einem blauen Käfig und einem Text angezeigt. Der Text zeigt die Position und die Anzahl der Verbindungen zu anderen Blöcken (0..6). Dies soll bei der Suche nach Kabelunterbrechungen helfen. +Bei Strom-Verteilerdosen werden die benachbarten Netzwerkteilnehmer (bis zu 50 Meter weit) mit einem blauen Käfig angezeigt. [ta3_end_wrench|image] diff --git a/manuals/manual_ta4_DE.md b/manuals/manual_ta4_DE.md index d449405..62a376f 100644 --- a/manuals/manual_ta4_DE.md +++ b/manuals/manual_ta4_DE.md @@ -55,6 +55,7 @@ In dieser Zeit steht immer die gleiche Leistung zur Verfügung. Nach 18:00 schal Für die Leistung der Solarmodule ist die Biome Temperatur entscheidend. Je heißer die Temperatur, um so höher der Ertrag. Die Biome Temperatur kann mit dem Techage Info Tool (Schraubenschlüssel) bestimmt werden. Sie schwankt typischerweise zwischen 0 und 100: + - bei 100 steht die volle Leistung zur Verfügung - bei 50 steht die halbe Leistung zur Verfügung - bei 0 steht keine Leistung zur Verfügung @@ -94,8 +95,7 @@ Die Trägermodule können direkt aneinander gesetzt und so zu einer Modulreihe v ### TA4 Solar Wechselrichter / Solar Inverter Der Wechselrichter wandelt den Solarstrom (DC) in Wechselstrom (AC) um, so dass dieser in das Stromnetz eingespeist werden kann. -Ein Wechselrichter, bestehend aus zwei Blöcken kann maximal 100 ku an Strom einspeisen, was 33 Solarmodulen oder auch mehr entspricht. -Der DC Block muss links neben den AC-Block gesetzt werden. +Ein Wechselrichter kann maximal 100 ku an Strom einspeisen, was 33 Solarmodulen oder auch mehr entspricht. [ta4_solar_inverter|image] @@ -164,7 +164,9 @@ Die Turbine ist Teil des Energiespeichers. Sie muss neben den Generator gesetzt ### TA4 Generator -Der Generator dient zur Stromerzeugung. Daher muss auch der Generator am Stromnetz angeschlossen werden. Dabei muss beachtet werden, dass es ein funktionierendes Stromnetz ist, denn der Generator des Energiespeichers kann nicht als einzelne Stromquelle funktionieren. Der Generator kann 60 ku abgeben. +Der Generator dient zur Stromerzeugung. Daher muss auch der Generator am Stromnetz angeschlossen werden. + +Der Generator kann 60 ku abgeben. [ta4_generator|image] @@ -311,3 +313,9 @@ Die Ofenheizung benötigt 14 ku Strom. [ta4_furnaceheater|image] + +### TA4 Wasserpumpe / Water Pump + +Mit der Wasserpumpe kann Wasser über Flüssigkeitsleitungen in Tanks gepumpt und so für Rezepte genutzt werden. Die Wasserpumpe muss dazu ins Meer gesetzt werden Ein "Pool" aus ein paar Wasserblöcken geht nicht! + +[ta4_waterpump|image] \ No newline at end of file diff --git a/manuals/toc_DE.md b/manuals/toc_DE.md index 7678c87..f2eb59c 100644 --- a/manuals/toc_DE.md +++ b/manuals/toc_DE.md @@ -1,6 +1,8 @@ # Inhaltsverzeichnis - [Tech Age Mod](./manual_DE.md#tech-age-mod) + - [Software Update](./manual_DE.md#software-update) + - [Was hat sich am Spiel geändert?](./manual_DE.md#was-hat-sich-am-spiel-geändert?) - [Hinweise](./manual_DE.md#hinweise) - [Erze und Mineralien](./manual_DE.md#erze-und-mineralien) - [Meridium](./manual_DE.md#meridium) @@ -70,6 +72,7 @@ - [Flüssigkeiten](./manual_ta3_DE.md#flüssigkeiten) - [TA3 Tank / TA3 Tank](./manual_ta3_DE.md#ta3-tank--ta3-tank) - [TA3 Pumpe / TA3 Pump](./manual_ta3_DE.md#ta3-pumpe--ta3-pump) + - [TA Einfülltrichter / TA Liquid Filler](./manual_ta3_DE.md#ta-einfülltrichter--ta-liquid-filler) - [Ö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) @@ -138,4 +141,5 @@ - [Weitere TA4 Blöcke](./manual_ta4_DE.md#weitere-ta4-blöcke) - [TA4 Tank / TA4 Tank](./manual_ta4_DE.md#ta4-tank--ta4-tank) - [TA4 Pumpe / TA4 Pump](./manual_ta4_DE.md#ta4-pumpe--ta4-pump) - - [TA4 Ofenheizung / furnace heater](./manual_ta4_DE.md#ta4-ofenheizung--furnace-heater) \ No newline at end of file + - [TA4 Ofenheizung / furnace heater](./manual_ta4_DE.md#ta4-ofenheizung--furnace-heater) + - [TA4 Wasserpumpe / Water Pump](./manual_ta4_DE.md#ta4-wasserpumpe--water-pump) \ No newline at end of file diff --git a/power/distribution.lua b/power/distribution.lua index a595633..5f569fd 100644 --- a/power/distribution.lua +++ b/power/distribution.lua @@ -126,7 +126,7 @@ function techage.power.power_distribution(network, tlib_type) network.available2 = get_generator_sum(network.gen2, tlib_type) network.needed1 = get_consumer_sum(network.con1, tlib_type) network.needed2 = get_consumer_sum(network.con2, tlib_type) - print(network.available1, network.available2, network.needed1, network.needed2, network.alive) + --print(network.available1, network.available2, network.needed1, network.needed2, network.alive) -- store results network.on = network.available1 + network.available2 >= network.needed1 diff --git a/power/formspecs.lua b/power/formspecs.lua index 2270747..20da8dc 100644 --- a/power/formspecs.lua +++ b/power/formspecs.lua @@ -62,6 +62,9 @@ function techage.power.formspec_label_bar(x, y, label, max_power, current_power, local offs = 2.4 - (current_power / max_power) * 2.4 ypos = 0.4 + in_range(offs, 0.4, 2.4) end + if current_power >= 100 then + current_power = math.floor(current_power) + end percent = (percent + 5) / 1.1 -- texture correction return "container["..x..","..y.."]".. "box[0,0;2.3,3.3;#395c74]".. diff --git a/power/junctionbox.lua b/power/junctionbox.lua index 354ada4..cdd7ec3 100644 --- a/power/junctionbox.lua +++ b/power/junctionbox.lua @@ -56,3 +56,22 @@ techage.register_junction("techage:electric_junction", 2/8, Boxes, Cable, { }, }, }) + +local Names = {} + +for idx = 0,63 do + Names[#Names+1] = "techage:electric_junction"..idx +end + +minetest.register_lbm({ + label = "Repair Junction", + name = "techage:electric_junction", + nodenames = Names, + run_at_every_load = true, + action = function(pos, node) + local ndef = minetest.registered_nodes[node.name] + ndef.after_place_node(pos) + ndef.tubelib2_on_update2(pos, 0, Cable) + tubelib2.del_mem(pos) + end, +}) diff --git a/power/power_line.lua b/power/power_line.lua index 40aab01..93cf36a 100644 --- a/power/power_line.lua +++ b/power/power_line.lua @@ -213,6 +213,9 @@ minetest.register_node("techage:power_pole2", { Cable:after_dig_tube(pos, oldnode) end end, + tubelib2_on_update2 = function(pos, dir1, tlib2, node) + power.update_network(pos, nil, tlib2) + end, on_rotate = screwdriver.disallow, -- important! paramtype = "light", @@ -292,6 +295,7 @@ minetest.register_node("techage:power_pole_conn", { }, connects_to = {"techage:power_line", "techage:power_lineS", "techage:power_lineA"}, + -- after_place_node -- see techage:power_pole tubelib2_on_update2 = function(pos, dir1, tlib2, node) power.update_network(pos, nil, tlib2) end, diff --git a/solar/solarcell.lua b/solar/solarcell.lua index 22cd018..9ca7184 100644 --- a/solar/solarcell.lua +++ b/solar/solarcell.lua @@ -89,7 +89,7 @@ local function after_dig_node(pos, oldnode) end local function tubelib2_on_update2(pos, outdir, tlib2, node) - power.update_network(pos, outdir, tlib2) + power.update_network(pos, nil, tlib2) end local net_def1 = { @@ -279,3 +279,14 @@ minetest.register_craft({ {"", "", ""}, }, }) + +minetest.register_lbm({ + label = "Repair Carrier Module", + name = "techage:ta4_solar_carrier", + nodenames = {"techage:ta4_solar_carrier", "techage:ta4_solar_carrierB"}, + run_at_every_load = true, + action = function(pos, node) + local ndef = minetest.registered_nodes[node.name] + ndef.after_place_node(pos) + end, +}) diff --git a/ta3_power/akkubox.lua b/ta3_power/akkubox.lua index 8aa546a..a14b3e2 100644 --- a/ta3_power/akkubox.lua +++ b/ta3_power/akkubox.lua @@ -219,6 +219,10 @@ techage.register_node({"techage:ta3_akku"}, { meta:set_string("node_number", own_num) meta:set_string("infotext", S("TA3 Accu Box").." "..own_num) end + local mem = tubelib2.get_mem(pos) + local nvm = techage.get_nvm(pos) + nvm.capa = (nvm.capa or 0) + (mem.capa or 0) + tubelib2.del_mem(pos) end, }) diff --git a/tools/repairkit.lua b/tools/repairkit.lua index 255cde1..90d67bd 100644 --- a/tools/repairkit.lua +++ b/tools/repairkit.lua @@ -20,6 +20,157 @@ local Cable2 = techage.TA4_Cable local Pipe2 = techage.LiquidPipe local networks = techage.networks +local ListOfNodes = { + ["techage:generator"] = true, + ["techage:generator_on"] = true, + ["techage:ta4_generator"] = true, + ["techage:ta4_generator_on"] = true, + ["techage:ta4_fuelcell"] = true, + ["techage:ta4_fuelcell_on"] = true, + ["techage:t3_pump"] = true, + ["techage:t3_pump_on"] = true, + ["techage:t4_pump"] = true, + ["techage:t4_pump_on"] = true, + ["techage:ta4_solar_inverter"] = true, + ["techage:flywheel"] = true, + ["techage:flywheel_on"] = true, + ["techage:tiny_generator"] = true, + ["techage:tiny_generator_on"] = true, + ["techage:ta4_electrolyzer"] = true, + ["techage:ta4_electrolyzer_on"] = true, + ["techage:oilfirebox"] = true, +} + + +local function delete_data(pos) + local meta = minetest.get_meta(pos) + local owner = meta:get_string("owner") + local number = meta:get_string("number") + local node_number = meta:get_string("node_number") + tubelib2.del_mem(pos) + meta:from_table(nil) + meta:set_string("owner", owner) + meta:set_string("number", number) + meta:set_string("node_number", node_number) +end + +local function inv_get_count(inv, listname, size) + local cnt = 0 + for i = 1,size do + cnt = cnt + inv:get_stack(listname, i):get_count() + end + return cnt +end + +local function inv_get_name(inv, listname, size) + for i = 1,size do + local name = inv:get_stack(listname, i):get_name() + if name ~= "" then + return name + end + end + return "" +end + +local function inv_clear(inv, listname, size) + for i = 1,size do + inv:set_stack(listname, i, nil) + end +end + +local function restore_inv_content(pos, listname, size) + local inv = M(pos):get_inventory() + local count = inv_get_count(inv, listname, size) + if count > 0 then + local nvm = techage.get_nvm(pos) + nvm.liquid = nvm.liquid or {} + nvm.liquid.amount = count + nvm.liquid.name = inv_get_name(inv, listname, size) + inv:set_stack(listname, 1, nil) + inv_clear(inv, listname, size) + return true + end + return false +end + +local function init_data(pos, netw) + local sides = netw.ele1 and netw.ele1.sides + if sides and sides["R"] then + M(pos):set_int("outdir", networks.side_to_outdir(pos, "R")) + M(pos):set_string("infotext", "repaired") + end + + sides = netw.pipe2 and netw.pipe2.sides + if sides and sides["R"] then + M(pos):set_int("outdir", networks.side_to_outdir(pos, "R")) + M(pos):set_string("infotext", "repaired") + end + + sides = netw.ele2 and netw.ele2.sides + if sides and sides["L"] then + M(pos):set_int("leftdir", networks.side_to_outdir(pos, "L")) + end + + sides = netw.axle and netw.axle.sides + if sides and sides["R"] then + M(pos):set_int("outdir", networks.side_to_outdir(pos, "R")) + end + + Cable1:after_place_node(pos) + Cable2:after_place_node(pos) + Pipe2:after_place_node(pos) +end + + +local function repair(itemstack, user, pointed_thing) + local pos = pointed_thing.under + if pos and user then + if minetest.is_protected(pos, user:get_player_name()) then + return itemstack + end + + local number = techage.get_node_number(pos) + local node = minetest.get_node(pos) + local ndef = minetest.registered_nodes[node.name] + if ndef then + local netw = ndef.networks + if netw and ListOfNodes[node.name] then + if node.name == "techage:tiny_generator" or node.name == "techage:tiny_generator_on" then + restore_inv_content(pos, "fuel", 1) + elseif node.name == "techage:oilfirebox" then + restore_inv_content(pos, "fuel", 1) + elseif node.name == "techage:ta4_fuelcell" or node.name == "techage:ta4_fuelcell_on" then + restore_inv_content(pos, "src", 4) + elseif node.name == "techage:ta4_electrolyzer" or node.name == "techage:ta4_electrolyzer_on" then + restore_inv_content(pos, "dst", 1) + end + delete_data(pos) + init_data(pos, netw) + minetest.chat_send_player(user:get_player_name(), ndef.description.." "..S("repaired")) + itemstack:add_wear(65636/200) + return itemstack + end + + if netw and netw.ele1 and netw.ele1.ntype == "junc" then + ndef.after_place_node(pos) + ndef.tubelib2_on_update2(pos, 0, Cable1) + minetest.chat_send_player(user:get_player_name(), ndef.description.." "..S("repaired")) + itemstack:add_wear(65636/200) + return itemstack + end + + if netw and netw.ele2 and netw.ele2.ntype == "junc" then + ndef.after_place_node(pos) + ndef.tubelib2_on_update2(pos, 0, Cable2) + minetest.chat_send_player(user:get_player_name(), ndef.description.." "..S("repaired")) + itemstack:add_wear(65636/200) + return itemstack + end + end + end + return itemstack +end + local function network_check(start_pos, Cable, player_name) local ndef = techage.networks.net_def(start_pos, Cable.tube_type) local outdir = nil @@ -123,7 +274,8 @@ minetest.register_tool("techage:repairkit", { inventory_image = "techage_repairkit.png", wield_image = "techage_repairkit.png^[transformR270", groups = {cracky=1, book=1}, - on_use = read_state, + on_use = repair, + on_place = repair, node_placement_prediction = "", stack_max = 1, }) @@ -140,14 +292,14 @@ minetest.register_tool("techage:end_wrench", { stack_max = 1, }) ---minetest.register_craft({ --- output = "techage:repairkit", --- recipe = { --- {"", "basic_materials:gear_steel", ""}, --- {"", "techage:end_wrench", ""}, --- {"", "basic_materials:oil_extract", ""}, --- }, ---}) +minetest.register_craft({ + output = "techage:repairkit", + recipe = { + {"", "basic_materials:gear_steel", ""}, + {"", "techage:end_wrench", ""}, + {"", "basic_materials:oil_extract", ""}, + }, +}) minetest.register_craft({ output = "techage:end_wrench",