From df209ecfefb8eeac8e8a3bccc468946faaf95912 Mon Sep 17 00:00:00 2001 From: Joachim Stolberg Date: Sun, 17 Nov 2019 14:52:59 +0100 Subject: [PATCH] plastic recipe added TA4 silo added minor changes and bugfixes on recipes and textures --- chemistry/ta4_doser.lua | 4 +- chemistry/ta4_stand.lua | 2 +- doc/items.lua | 9 +- doc/manual_DE.lua | 135 ++++++++++++++++++++++- doc/plans.lua | 28 ++++- furnace/heater.lua | 2 +- init.lua | 1 + items/aluminium.lua | 10 +- items/epoxy.lua | 6 +- items/petroleum.lua | 20 ++-- items/plastic.lua | 34 ++++++ liquids/liquid.lua | 2 +- liquids/silo.lua | 101 +++++++++++++++-- locale/techage.de.tr | 8 +- locale/techage.de.tr.old | 28 +++-- locale/template.txt | 2 + manuals/manual_DE.md | 39 ++++++- manuals/manual_ta3_DE.md | 17 ++- manuals/manual_ta4_DE.md | 77 +++++++++++++ manuals/toc_DE.md | 18 ++- textures/techage_reactor_filler_plan.png | Bin 0 -> 385 bytes textures/techage_reactor_inv.png | Bin 3996 -> 5789 bytes textures/techage_reactor_plan.png | Bin 0 -> 362 bytes textures/techage_ta1.png | Bin 8884 -> 4594 bytes 24 files changed, 483 insertions(+), 60 deletions(-) create mode 100644 items/plastic.lua create mode 100644 textures/techage_reactor_filler_plan.png create mode 100644 textures/techage_reactor_plan.png diff --git a/chemistry/ta4_doser.lua b/chemistry/ta4_doser.lua index b9e219b..377ced2 100644 --- a/chemistry/ta4_doser.lua +++ b/chemistry/ta4_doser.lua @@ -321,8 +321,8 @@ Pipe:add_secondary_node_names({"techage:ta4_doser", "techage:ta4_doser_on"}) if minetest.global_exists("unified_inventory") then unified_inventory.register_craft_type("ta4_doser", { - description = S("TA4 Doser"), - icon = 'techage_filling_ta4.png^techage_frame_ta4.png^techage_appl_pump.png^techage_appl_hole_pipe.png', + description = S("TA4 Reactor"), + icon = 'techage_reactor_filler_plan.png', width = 2, height = 2, }) diff --git a/chemistry/ta4_stand.lua b/chemistry/ta4_stand.lua index 4de8b9b..c273120 100644 --- a/chemistry/ta4_stand.lua +++ b/chemistry/ta4_stand.lua @@ -37,7 +37,7 @@ local function on_nopower(pos, mem) end minetest.register_node("techage:ta4_reactor_stand", { - description = S("TA4 Reactor"), + description = S("TA4 Reactor Stand"), tiles = { -- up, down, right, left, back, front "techage_reactor_stand_top.png^[transformR90", diff --git a/doc/items.lua b/doc/items.lua index 089e1e9..c711b75 100644 --- a/doc/items.lua +++ b/doc/items.lua @@ -57,6 +57,7 @@ techage.Items = { ta3_autocrafter = "techage:ta3_autocrafter_pas", ta3_electronicfab = "techage:ta3_electronic_fab_pas", ta3_gravelsieve = "techage:ta3_gravelsieve_pas", + ta3_gravelrinser = "techage:ta3_rinser_pas", ta3_liquidsampler = "techage:ta3_liquidsampler_pas", ta3_funnel = "techage:ta3_funnel", ta3_powercable = "techage:electric_cableS", @@ -84,7 +85,6 @@ techage.Items = { ta3_pump = "techage:t3_pump", oiltank = "techage:oiltank", reboiler = "techage:ta3_reboiler", - ta3_reactor = "techage_reactor_inv.png", ---------------------------- ta3_button = "techage:ta3_button_off", ta3_cartdetector = "techage:ta3_cartdetector_off", @@ -121,7 +121,14 @@ techage.Items = { ta4_hydrogen = "techage_hydrogen_inv.png", ta4_electrolyzer = "techage:ta4_electrolyzer", ta4_fuelcell = "techage:ta4_fuelcell", + ta4_reactor = "techage:ta4_reactor", ta4_tank = "techage:ta4_tank", ta4_pump = "techage:t4_pump", + ta4_doser = "techage:ta4_doser", + ta4_silo = "techage:ta4_silo", + ta4_fillerpipe = "techage:ta4_reactor_fillerpipe", + ta4_reactorstand = "techage:ta4_reactor_stand", + ta4_reactorbase = "techage:ta4_reactor_base", + ta4_furnaceheater = "techage:furnace_heater", --ta4_ "", } diff --git a/doc/manual_DE.lua b/doc/manual_DE.lua index 705b1c2..60aa2db 100644 --- a/doc/manual_DE.lua +++ b/doc/manual_DE.lua @@ -3,6 +3,12 @@ techage.manual_DE = {} techage.manual_DE.aTitel = { "1,Tech Age Mod", "2,Hinweise", + "2,Erze und Mineralien", + "3,Meridium", + "3,Usmium", + "3,Baborium", + "3,Erdöl", + "3,Bauxit", "2,History", "1,TA1: Eisenzeitalter", "2,Köhler / Coal Pile", @@ -73,7 +79,6 @@ techage.manual_DE.aTitel = { "2,Öl-Verarbeitung", "3,Destillationsturm / distiller tower", "4,Aufkocher / reboiler)", - "3,Chemischer Reaktor / chemical reactor", "2,Logik-/Schalt-Blöcke", "3,TA3 Taster/Schalter / Button/Switch", "3,TA3 Logikblock / Logic Block", @@ -95,6 +100,7 @@ techage.manual_DE.aTitel = { "3,TA3 Elektronikfabrik / Electronic Fab", "3,TA3 Trichter / Funnel", "3,TA3 Kiessieb / Gravel Sieve", + "3,TA3 Kieswaschanlage / Gravel Rinser", "3,TA3 Mühle / Grinder", "3,TA3 Flüssigkeitensammler / Liquid Sampler", "2,Werkzeuge", @@ -122,9 +128,17 @@ techage.manual_DE.aTitel = { "2,Wasserstoff", "3,Elektrolyseur", "3,Brennstoffzelle", + "2,Chemischer Reaktor / chemical reactor", + "3,TA4 Dosierer / doser", + "3,TA4 Reaktor / reactor", + "3,TA4 Einfüllstutzen / fillerpipe", + "3,TA4 Reaktorständer / reactor stand", + "3,TA4 Reaktorsockel / reactor base", + "3,TA4 Silo / silo", "2,Weitere TA4 Blöcke", "3,TA4 Tank / TA4 Tank", "3,TA4 Pumpe / TA4 Pump", + "3,TA4 Ofenheizung / furnace heater", } techage.manual_DE.aText = { @@ -159,8 +173,28 @@ techage.manual_DE.aText = { "\n".. "Mit TA4 kommen weitere Stromquellen dazu\\, aber auch höhere logistische Herausforderungen (Stromtrassen\\, Item Transport).\n".. "\n", + "Techage fügt dem Spiel einige neue Items hinzu:\n".. + "\n".. + " - Meridium - eine Legierung zur Herstellung von leuchtenden Werkzeugen in TA1\n".. + " - Usmium - ein Erz\\, was in TA2 gefördert und für TA3 benötigt wird\n".. + " - Baborium - ein Metall\\, welches für Rezepte in TA3 benötigt wird\n".. + " - Erdöl - wird in TA3 benötigt\n".. + " - Bauxit - ein Aluminiumerz\\, was in TA4 zur Herstellung von Aluminium benötigt wird\n".. + "\n", + "Meridium ist eine Legierung aus Stahl und Mesekristallen. Meridium Ingots können mit dem Kohlebrenner aus Stahl und Mesesplitter hergestellt werden. Meridium leuchtet im Dunkeln. Auch Werkzeuge aus Meridium leuchten und sind daher im Untertagebau sehr hilfreich.\n".. + "\n", + "Usmium kommt nur als Nuggets vor und kann nur beim Waschen von Kies mit der TA2 Kieswaschanlage gewonnen werden.\n".. + "\n", + "Baborium wird nur im Untertagebau gewonnen. Baborium findet man nur in Stein in einer Höhe zwischen -250 und -340 Meter.\n".. + "\n", + "Erdöl kann nur mit Hilfe des Explorers gefunden und mit Hilfe entsprechender TA3 Maschinen gefördert werden. Siehe TA3.\n".. + "\n", + "Bauxit wird nur im Untertagebau gewonnen. Bauxit findet man nur in Stein in einer Höhe zwischen -50 und -150 Meter.\n".. + "Es wird zur Herstellung von Aluminium benötigt\\, was vor allem in TA4 Verwendung findet.\n".. + "\n", " - 28.09.2019: Um Solaranlage erweitert\n".. " - 05.10.2019: Daten zur Solaranlage und Beschreibung zum Wechselrichter und zum Power-Terminal geändert\n".. + " - 17.11.2019: Reaktor\\, Aluminium\\, Silo\\, Bauxit hinzugefügt\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".. @@ -537,6 +571,8 @@ techage.manual_DE.aText = { "\n".. "Der Industrieofen benötigt Strom (für das Gebläse) sowie Öl/Benzin für den Brenner. Der Industrieofens und muss wie im Plan rechts abgebildet\\, zusammen gebaut werden.\n".. "\n".. + "Siehe auch TA4 Ofenheizung.\n".. + "\n".. "\n".. "\n", "Ist Teil des TA3 Industrieofen.\n".. @@ -649,8 +685,6 @@ techage.manual_DE.aText = { "\n".. "\n".. "\n", - "\n".. - "\n", "Neben den Röhren für Warentransport\\, sowie den Gas- und Stromleitungen gibt es auch noch eine drahtlose Kommunikationsebene\\, über die Blöcke untereinander Daten austauschen können. Dafür müssen keine Leitungen gezogen werden\\, sondern die Verbindung zwischen Sender und Empfänger erfolgt nur über die Blocknummer. Alle Blöcke\\, die an dieser Kommunikation teilnehmen können\\, zeigen die Blocknummer als Info-Text an\\, wenn man mit dem Mauscursor den Block fixiert.\n".. "Welche Kommandos ein Block unterstützt\\, kann mit dem TechAge Info Werkzeug (Schraubenschlüssel) ausgelesen und angezeigt werden.\n".. "Die einfachsten Kommandos\\, die von fast allen Blöcken unterstützt werden\\, sind:\n".. @@ -819,6 +853,9 @@ techage.manual_DE.aText = { "\n".. "\n", "Der TA3 Trichter sammelt abgelegte Gegenstände und speichert sie in seinem Inventar. Gegenstände werden angesaugt\\, wenn sie auf den Trichterblock fallen.\n".. + "\n".. + "Der Trichter kann über das Menü und auch über on/off Kommandos ein-/ausgeschaltet werden.\n".. + "\n".. "Der Scanradius beträgt 1 m.\n".. "\n".. "\n".. @@ -829,6 +866,11 @@ techage.manual_DE.aText = { "\n".. "\n", "Die Funktion entspricht der von TA2.\n".. + "Die Wahrscheinlichkeit ist wie bei TA2. Der Block benötigt 3 ku Strom.\n".. + "\n".. + "\n".. + "\n", + "Die Funktion entspricht der von TA2.\n".. "Die Verarbeitungsleistung beträgt 2 Items alle 4 s. Der Block benötigt 6 ku Strom.\n".. "\n".. "\n".. @@ -1003,6 +1045,57 @@ techage.manual_DE.aText = { "\n".. "\n".. "\n", + "Der Reaktor dient dazu\\, die über den Destillationsturm oder aus anderen Rezepten gewonnenen Zutaten zu neuen Produkten weiter zu verarbeiten. Ein Reaktor besteht aus:\n".. + "\n".. + " - div. Tanks und Silos mit den Zutaten\\, die über Leitungen mit dem Dosierer verbunden sind\n".. + " - optional einem Reaktorsockel\\, welcher die Abfälle aus dem Reaktor ableitet (nur bei Rezepten mit zwei Ausgangsstoffen notwendig)\n".. + " - dem Reaktorständer\\, der auf den Sockel gesetzt werden muss (sofern vorhanden). Der Ständer hat einen Stromanschluss und zieht bei Betrieb 8 ku.\n".. + " - dem eigentlichen Reaktorbehälter\\, der auf den Reaktorständer gesetzt werden muss\n".. + " - dem Einfüllstutzen der auf den Reaktorbehälter gesetzt werden muss\n".. + " - dem Dosierer\\, welcher über Leitungen mit den Tanks oder Silos sowie dem Einfüllstutzen verbunden werden muss\n".. + "\n".. + "Hinweis 1: Flüssigkeiten werden nur in Tanks gelagert\\, Stoffe in Pulverform nur in Silos. Dies gilt für Zutaten und Ausgangsstoffe.\n".. + "\n".. + "Hinweis 2: Tanks oder Silos mit verschiedenen Inhalten dürfen nicht zu einem Leitungssystem verbunden werden. Mehrere Tanks oder Silos mit gleichem Inhalt dürfen dagegen parallel an einer Leitung hängen.\n".. + "\n".. + "\n".. + "\n", + "Teil des Chemischen Reaktors.\n".. + "Auf allen 4 Seiten der Dosierers können Leitungen für Eingangsmaterialien angeschlossen werden. Nach oben werden die Materialien für den Reaktor ausgegeben.\n".. + "\n".. + "Über den Dosierer kann das Rezept eingestellt und der Reaktor gestartet werden.\n".. + "\n".. + "Wie auch bei anderen Maschinen:\n".. + "\n".. + " - geht der Dosierer in den standby Zustand\\, so fehlen ein oder mehrere Zutaten\n".. + " - geht der Dosierer in den blocked Zustand\\, so ist Ausgangstank oder Silo voll\\, defekt oder falsch angeschlossen\n".. + "\n".. + "Der Dosierer benötigt keinen Strom. Alle 10 s wird ein Rezept abgearbeitet.\n".. + "\n".. + "\n".. + "\n", + "Teil des Chemischen Reaktors.\n".. + "\n".. + "\n".. + "\n", + "Teil des Chemischen Reaktors. Muss auf den Reaktor gesetzt werden. Wenn dies nicht klappt\\, ggf. das Rohr an der Position darüber nochmals entfernen und neu setzen.\n".. + "\n".. + "\n".. + "\n", + "Teil des Chemischen Reaktors. Hier ist auch der Stromanschluss für den Reaktor. Der Reaktor benötigt 8 ku Strom.\n".. + "\n".. + "Der Ständer hat zwei Leitungsanschlüsse\\, nach rechst für das Ausgangsprodukt und nach unten für den Abfall\\, wie bspw. Rotschlamm bei der Aluminiumherstellung.\n".. + "\n".. + "\n".. + "\n", + "Teil des Chemischen Reaktors. Wird für den Abfluss des Abfallproduktes benötigt.\n".. + "\n".. + "\n".. + "\n", + "Teil des Chemischen Reaktors. Wird zur Aufbewahrung von Stoffen in Pulver- oder Granulatform benötigt.\n".. + "\n".. + "\n".. + "\n", "", "Siehe TA3 Tank.\n".. "\n".. @@ -1016,12 +1109,24 @@ techage.manual_DE.aText = { "\n".. "\n".. "\n", + "Mit TA4 hat der Industrieofen auch seine elektrische Heizung. Der Ölbrenner und auch das Gebläse können mit der Ofenheizung ersetzt werden.\n".. + "\n".. + "Die Ofenheizung benötigt 14 ku Strom.\n".. + "\n".. + "\n".. + "\n", } techage.manual_DE.aItemName = { "wlanchip", "", "", + "", + "", + "", + "", + "", + "", "techage_ta1", "", "", @@ -1091,7 +1196,6 @@ techage.manual_DE.aItemName = { "techage_ta31", "", "reboiler", - "ta3_reactor", "ta3_logic", "ta3_button", "ta3_logic", @@ -1113,6 +1217,7 @@ techage.manual_DE.aItemName = { "ta3_electronicfab", "ta3_funnel", "ta3_gravelsieve", + "ta3_gravelrinser", "ta3_grinder", "ta3_liquidsampler", "", @@ -1141,11 +1246,25 @@ techage.manual_DE.aItemName = { "ta4_electrolyzer", "ta4_fuelcell", "", + "ta4_doser", + "ta4_reactor", + "ta4_fillerpipe", + "ta4_reactorstand", + "ta4_reactorbase", + "ta4_silo", + "", "ta4_tank", "ta4_pump", + "ta4_furnaceheater", } techage.manual_DE.aPlanTable = { + "", + "", + "", + "", + "", + "", "", "", "", @@ -1267,6 +1386,14 @@ techage.manual_DE.aPlanTable = { "", "", "", + "ta4_reactor", + "", + "", + "", + "", + "", + "", + "", "", "", "", diff --git a/doc/plans.lua b/doc/plans.lua index efb1b00..2e84afc 100644 --- a/doc/plans.lua +++ b/doc/plans.lua @@ -22,6 +22,7 @@ local IMG31 = {"", "techage_ta3b.png"} local IMG_4 = {"", "techage_ta4.png"} local IMG41 = {"", "techage_ta4_tes.png"} local IMG42 = {"", "techage_ta4_solar.png"} +local IMG43 = {"", "techage_reactor_inv.png"} -- -- TA1: Coal Pile @@ -175,9 +176,9 @@ local Tank = {"techage_filling_ta3.png^techage_frame_ta3.png^techage_appl_tank.p local PIPEH = {"techage_gaspipe.png", "techage:ta4_pipeS"} local PIPEV = {"techage_gaspipe.png^[transformR90", "techage:ta4_pipeS"} local PN000 = {"techage_gaspipe_knee.png", "techage:ta4_pipeS"} -- r -local PN090 = {"techage_gaspipe_knee.png^[transformR90", "techage:ta4_pipeS"} -- 7 -local PN180 = {"techage_gaspipe_knee.png^[transformR180", "techage:ta4_pipeS"} -local PN270 = {"techage_gaspipe_knee.png^[transformR270", "techage:ta4_pipeS"} +local PN090 = {"techage_gaspipe_knee.png^[transformR90", "techage:ta4_pipeS"} -- L +local PN180 = {"techage_gaspipe_knee.png^[transformR180", "techage:ta4_pipeS"} -- J +local PN270 = {"techage_gaspipe_knee.png^[transformR270", "techage:ta4_pipeS"} -- 7 techage.ConstructionPlans["ta3_tank"] = { {false, false, false, false, false, false, false, false, false}, @@ -209,6 +210,27 @@ techage.ConstructionPlans["ta3_distiller"] = { {false, false, false, false, false, false, false, DBASE, PIPEH, Tank, false}, } +-- +-- Chemical Reactor +-- +local RBASE = {"techage_concrete.png", "techage:ta4_reactor_stand"} +local STAND = {"techage_reactor_stand_side.png", "techage:ta4_reactor_stand"} +local REACT = {"techage_reactor_plan.png", "techage:ta4_reactor"} +local FILLR = {"techage_reactor_filler_plan.png", "techage:ta4_reactor_fillerpipe"} +local DOSER = {"techage_filling_ta4.png^techage_frame_ta4.png^techage_appl_pump_up.png", "techage:ta4_doser"} +local SILO = {"techage_filling_ta3.png^techage_frame_ta3.png^techage_appl_silo.png", "techage:ta3_silo"} + +techage.ConstructionPlans["ta4_reactor"] = { + {false, false, false, false, false, false, false, false, false, false, false}, + {false, IMG43, false, false, false, false, false, false, false, false, false}, + {false, false, false, false, PN000, PIPEH, PIPEH, PN270, false, false, false}, + {false, false, false, false, PIPEV, false, false, FILLR, false, false, false}, + {false, false, false, false, PIPEV, false, false, REACT, false, false, false}, + {false, false, false, false, PIPEV, false, false, STAND, PIPEH, PIPEH, Tank}, + {false, Tank, PIPEH, PIPEH, DOSER, PN270, false, RBASE, PIPEH, PIPEH, Tank}, + {false, SILO, PIPEH, PIPEH, PIPEH, PN180, false, false, false, false, false}, +} + -- -- Wind Turbine -- diff --git a/furnace/heater.lua b/furnace/heater.lua index 61534fd..1aabdd4 100644 --- a/furnace/heater.lua +++ b/furnace/heater.lua @@ -22,7 +22,7 @@ local Pipe = techage.LiquidPipe local liquid = techage.liquid local CYCLE_TIME = 2 -local PWR_NEEDED = 8 +local PWR_NEEDED = 14 local Power = techage.ElectricCable local power = techage.power diff --git a/init.lua b/init.lua index 6e34ff2..11337ab 100644 --- a/init.lua +++ b/init.lua @@ -228,6 +228,7 @@ else dofile(MP.."/items/powder.lua") dofile(MP.."/items/epoxy.lua") dofile(MP.."/items/aluminium.lua") + dofile(MP.."/items/plastic.lua") if techage.basalt_stone_enabled then dofile(MP.."/items/basalt.lua") diff --git a/items/aluminium.lua b/items/aluminium.lua index 7378a5e..fdbae75 100644 --- a/items/aluminium.lua +++ b/items/aluminium.lua @@ -26,23 +26,23 @@ minetest.register_craftitem("techage:aluminum", { minetest.register_craftitem("techage:redmud", { description = S("Red Mud"), - inventory_image = "techage_liquid2_inv.png^[colorize:#F80E13:120^techage_liquid1_inv.png", + inventory_image = "techage_liquid2_inv.png^[colorize:#F80E13:140^techage_liquid1_inv.png", }) minetest.register_craftitem("techage:barrel_redmud", { description = S("Red Mud Barrel"), - inventory_image = "techage_barrel_inv.png^[colorize:#F80E13:120^techage_symbol_liquid.png", + inventory_image = "techage_barrel_inv.png^[colorize:#F80E13:140^techage_symbol_liquid.png", stack_max = 1, }) minetest.register_craftitem("techage:canister_redmud", { description = S("Red Mud Canister"), - inventory_image = "techage_canister_filling.png^[colorize:#F80E13:120^techage_canister_frame.png^techage_symbol_liquid.png", + inventory_image = "techage_canister_filling.png^[colorize:#F80E13:140^techage_canister_frame.png^techage_symbol_liquid.png", stack_max = 1, }) -techage.register_liquid("techage:barrel_redmud", "techage:ta3_barrel_empty", 10, "techage:epoxy") -techage.register_liquid("techage:canister_redmud", "techage:ta3_canister_empty", 1, "techage:epoxy") +techage.register_liquid("techage:barrel_redmud", "techage:ta3_barrel_empty", 10, "techage:redmud") +techage.register_liquid("techage:canister_redmud", "techage:ta3_canister_empty", 1, "techage:redmud") techage.recipes.add("ta4_doser", { output = "techage:gibbsite_powder 2", diff --git a/items/epoxy.lua b/items/epoxy.lua index dda8c44..3b02ce2 100644 --- a/items/epoxy.lua +++ b/items/epoxy.lua @@ -16,18 +16,18 @@ local S = techage.S minetest.register_craftitem("techage:epoxy", { description = S("Epoxide Resin"), - inventory_image = "techage_liquid2_inv.png^[colorize:#ca2446:120^techage_liquid1_inv.png", + inventory_image = "techage_liquid2_inv.png^[colorize:#ca2446:140^techage_liquid1_inv.png", }) minetest.register_craftitem("techage:barrel_epoxy", { description = S("Epoxide Resin Barrel"), - inventory_image = "techage_barrel_inv.png^[colorize:#ca2446:120^techage_symbol_liquid.png", + inventory_image = "techage_barrel_inv.png^[colorize:#ca2446:140^techage_symbol_liquid.png", stack_max = 1, }) minetest.register_craftitem("techage:canister_epoxy", { description = S("Epoxide Resin Canister"), - inventory_image = "techage_canister_filling.png^[colorize:#ca2446:120^techage_canister_frame.png^techage_symbol_liquid.png", + inventory_image = "techage_canister_filling.png^[colorize:#ca2446:140^techage_canister_frame.png^techage_symbol_liquid.png", stack_max = 1, }) diff --git a/items/petroleum.lua b/items/petroleum.lua index 5c532c9..6202313 100644 --- a/items/petroleum.lua +++ b/items/petroleum.lua @@ -22,17 +22,17 @@ minetest.register_craftitem("techage:bitumen", { minetest.register_craftitem("techage:fueloil", { description = S("TA3 Fuel Oil"), - inventory_image = "techage_liquid2_inv.png^[colorize:#4b3f11^techage_liquid1_inv.png", + inventory_image = "techage_liquid2_inv.png^[colorize:#7E5D0A:180^techage_liquid1_inv.png", }) minetest.register_craftitem("techage:naphtha", { description = S("TA3 Naphtha"), - inventory_image = "techage_liquid2_inv.png^[colorize:#897937^techage_liquid1_inv.png", + inventory_image = "techage_liquid2_inv.png^[colorize:#AAA820:180^techage_liquid1_inv.png", }) minetest.register_craftitem("techage:gasoline", { description = S("TA3 Gasoline"), - inventory_image = "techage_liquid2_inv.png^[colorize:#bfaf6e^techage_liquid1_inv.png", + inventory_image = "techage_liquid2_inv.png^[colorize:#EEFC52:180^techage_liquid1_inv.png", }) minetest.register_craftitem("techage:gas", { @@ -50,44 +50,44 @@ minetest.register_craftitem("techage:ta3_barrel_bitumen", { minetest.register_craftitem("techage:ta3_barrel_fueloil", { description = S("TA3 Fuel Oil Barrel"), - inventory_image = "techage_barrel_inv.png^[colorize:#4b3f11:120^techage_symbol_liquid.png", + inventory_image = "techage_barrel_inv.png^[colorize:#7E5D0A:180^techage_symbol_liquid.png", stack_max = 1, }) minetest.register_craftitem("techage:ta3_barrel_naphtha", { description = S("TA3 Naphtha Barrel"), - inventory_image = "techage_barrel_inv.png^[colorize:#897937:120^techage_symbol_liquid.png", + inventory_image = "techage_barrel_inv.png^[colorize:#AAA820:180^techage_symbol_liquid.png", stack_max = 1, }) minetest.register_craftitem("techage:ta3_barrel_gasoline", { description = S("TA3 Gasoline Barrel"), - inventory_image = "techage_barrel_inv.png^[colorize:#bfaf6e:120^techage_symbol_liquid.png", + inventory_image = "techage_barrel_inv.png^[colorize:#EEFC52:180^techage_symbol_liquid.png", stack_max = 1, }) minetest.register_craftitem("techage:ta3_canister_bitumen", { description = S("TA3 Bitumen Canister"), - inventory_image = "techage_canister_filling.png^[colorize:#000000^techage_canister_frame.png", + inventory_image = "techage_canister_filling.png^[colorize:#000000:180^techage_canister_frame.png", stack_max = 1, }) minetest.register_craftitem("techage:ta3_canister_fueloil", { description = S("TA3 Fuel Oil Canister"), - inventory_image = "techage_canister_filling.png^[colorize:#4b3f11^techage_canister_frame.png^techage_symbol_liquid.png", + inventory_image = "techage_canister_filling.png^[colorize:#7E5D0A:180^techage_canister_frame.png^techage_symbol_liquid.png", stack_max = 1, }) minetest.register_craftitem("techage:ta3_canister_naphtha", { description = S("TA3 Naphtha Canister"), - inventory_image = "techage_canister_filling.png^[colorize:#897937^techage_canister_frame.png^techage_symbol_liquid.png", + inventory_image = "techage_canister_filling.png^[colorize:#AAA820:180^techage_canister_frame.png^techage_symbol_liquid.png", stack_max = 1, }) minetest.register_craftitem("techage:ta3_canister_gasoline", { description = S("TA3 Gasoline Canister"), - inventory_image = "techage_canister_filling.png^[colorize:#bfaf6e^techage_canister_frame.png^techage_symbol_liquid.png", + inventory_image = "techage_canister_filling.png^[colorize:#EEFC52^techage_canister_frame.png^techage_symbol_liquid.png", stack_max = 1, }) diff --git a/items/plastic.lua b/items/plastic.lua new file mode 100644 index 0000000..e8b0ec0 --- /dev/null +++ b/items/plastic.lua @@ -0,0 +1,34 @@ +--[[ + + TechAge + ======= + + Copyright (C) 2019 Joachim Stolberg + + GPL v3 + See LICENSE.txt for more information + + Plastic + +]]-- + +local S = techage.S + +minetest.register_craftitem("techage:plastic_granules", { + description = S("Plastic Granules"), + inventory_image = "techage_powder_inv.png^[colorize:#FFFFFF:180", +}) + +techage.recipes.add("ta4_doser", { + output = "techage:plastic_granules 1", + input = { + "techage:naphtha 1", + } +}) + +techage.furnace.register_recipe({ + output = "basic_materials:plastic_sheet", + recipe = {"techage:plastic_granules"}, + time = 2, + +}) \ No newline at end of file diff --git a/liquids/liquid.lua b/liquids/liquid.lua index fac6e0f..9669c88 100644 --- a/liquids/liquid.lua +++ b/liquids/liquid.lua @@ -83,7 +83,7 @@ local function get_netID(pos, outdir) local netID = determine_netID(pos, outdir) store_netID(pos, outdir, netID) end - return mem.pipe.netIDs[outdir] + return mem.pipe and mem.pipe.netIDs and mem.pipe.netIDs[outdir] end local function get_network_table(pos, outdir, ntype) diff --git a/liquids/silo.lua b/liquids/silo.lua index f4e9c10..a18c895 100644 --- a/liquids/silo.lua +++ b/liquids/silo.lua @@ -56,7 +56,7 @@ local function can_dig(pos, player) end local function get_item_name(mem, inv) - for idx = 1, INV_SIZE do + for idx = 1, inv:get_size("main") do local stack = inv:get_stack("main", idx) if stack:get_count() > 0 then mem.item_name = stack:get_name() @@ -65,7 +65,18 @@ local function get_item_name(mem, inv) end end -local function formspec() +local function formspec3() + return "size[8,5]".. + default.gui_bg.. + default.gui_bg_img.. + default.gui_slots.. + "list[context;main;0,0;8,1;]".. + "list[current_player;main;0,1.3;8,4;]".. + "listring[context;main]".. + "listring[current_player;main]" +end + +local function formspec4() return "size[8,6]".. default.gui_bg.. default.gui_bg_img.. @@ -76,7 +87,6 @@ local function formspec() "listring[current_player;main]" end - minetest.register_node("techage:ta3_silo", { description = S("TA3 Silo"), tiles = { @@ -99,20 +109,89 @@ minetest.register_node("techage:ta3_silo", { local number = techage.add_node(pos, "techage:ta3_silo") meta:set_string("node_number", number) meta:set_string("owner", placer:get_player_name()) - meta:set_string("formspec", formspec(mem)) + meta:set_string("formspec", formspec3(mem)) meta:set_string("infotext", S("TA3 Silo").." "..number) Pipe:after_place_node(pos) end, tubelib2_on_update2 = function(pos, outdir, tlib2, node) liquid.update_network(pos, outdir) end, - on_timer = function(pos, elapsed) - local mem = tubelib2.get_mem(pos) - if mem.countdown then - mem.countdown = mem.countdown - 1 - M(pos):set_string("formspec", formspec(mem)) - return mem.countdown > 0 - end + after_dig_node = function(pos, oldnode, oldmetadata, digger) + Pipe:after_dig_node(pos) + techage.remove_node(pos) + end, + liquid = { + capa = 0, + peek = function(pos, indir) + local mem = tubelib2.get_mem(pos) + local inv = M(pos):get_inventory() + if not inv:is_empty("main") then + return mem.item_name or get_item_name(mem, inv) + end + end, + put = function(pos, indir, name, amount) + local inv = M(pos):get_inventory() + local stack = ItemStack(name.." "..amount) + if inv:room_for_item("main", stack) then + inv:add_item("main", stack) + return 0 + end + return amount + end, + take = function(pos, indir, name, amount) + local inv = M(pos):get_inventory() + local stack = ItemStack(name.." "..amount) + if inv:contains_item("main", stack) then + inv:room_for_item("main", stack) + return amount, name + end + return 0 + end, + }, + networks = { + pipe = { + sides = techage.networks.AllSides, -- Pipe connection sides + ntype = "tank", + }, + }, + can_dig = can_dig, + allow_metadata_inventory_put = allow_metadata_inventory_put, + allow_metadata_inventory_take = allow_metadata_inventory_take, + paramtype2 = "facedir", + on_rotate = screwdriver.disallow, + groups = {cracky=2}, + is_ground_content = false, + sounds = default.node_sound_metal_defaults(), +}) + +minetest.register_node("techage:ta4_silo", { + description = S("TA4 Silo"), + tiles = { + -- up, down, right, left, back, front + "techage_filling_ta4.png^techage_frame_ta4_top.png", + "techage_filling_ta4.png^techage_frame_ta4.png", + "techage_filling_ta4.png^techage_frame_ta4.png^techage_appl_silo.png", + "techage_filling_ta4.png^techage_frame_ta4.png^techage_appl_silo.png", + "techage_filling_ta4.png^techage_frame_ta4.png^techage_appl_silo.png", + "techage_filling_ta4.png^techage_frame_ta4.png^techage_appl_silo.png", + }, + on_construct = function(pos) + local inv = M(pos):get_inventory() + inv:set_size('main', INV_SIZE * 2) + end, + after_place_node = function(pos, placer) + local meta = M(pos) + local mem = tubelib2.init_mem(pos) + mem.liquid = {} + local number = techage.add_node(pos, "techage:ta4_silo") + meta:set_string("node_number", number) + meta:set_string("owner", placer:get_player_name()) + meta:set_string("formspec", formspec4(mem)) + meta:set_string("infotext", S("TA4 Silo").." "..number) + Pipe:after_place_node(pos) + end, + tubelib2_on_update2 = function(pos, outdir, tlib2, node) + liquid.update_network(pos, outdir) end, after_dig_node = function(pos, oldnode, oldmetadata, digger) Pipe:after_dig_node(pos) diff --git a/locale/techage.de.tr b/locale/techage.de.tr index 8e4304d..8e0bc89 100644 --- a/locale/techage.de.tr +++ b/locale/techage.de.tr @@ -81,6 +81,7 @@ Oil amount:=Ölmenge: Other consumers=Weitere Verbraucher Outp=Ergeb. Plan=Plan +Plastic Granules=Plastikgranulat Position=Position Position temperature=Positionstemperatur Power=Energie @@ -228,9 +229,10 @@ TA4 Pillar=TA4 Säule TA4 Pipe Inlet=TA4 Rohrzulauf TA4 Protected Chest=TA4 Gesicherte Kiste TA4 Pump=TA4 Pumpe -TA4 Reactor=Reaktor -TA4 Reactor Base=TA4 Reaktor Basis +TA4 Reactor=TA4 Reaktor +TA4 Reactor Base=TA4 Reaktor Sockel TA4 Reactor Filler Pipe=TA4 Reaktor Einfüllstutzen +TA4 Reactor Stand=TA4 Reaktor Ständer TA4 Rotor Blade=TA4 Rotorblatt TA4 Silicon Wafer=TA4 Silizium-Wafer TA4 Solar Carrier Module=TA4 Solar Trägermodul @@ -297,4 +299,4 @@ reactor defect or no power=Reaktor defekt oder kein Strom reactor has no power=Reaktor hat keinen Strom removed=entfernt stopped=gestoppt -##### not used anymore ##### +##### not used anymore ##### \ No newline at end of file diff --git a/locale/techage.de.tr.old b/locale/techage.de.tr.old index 539b646..4fec5af 100644 --- a/locale/techage.de.tr.old +++ b/locale/techage.de.tr.old @@ -3,6 +3,7 @@ #### TA3 Terminal ####@n@nSend commands to your machines@nand output text messages from your@nmachines to the Terminal.@n@nCommand syntax:@n cmd @n@nexample: cmd 181 on@n is the number of the node to which the command is sent@n'on' is the command to turn machines/nodes on@nFurther commands can be retrieved by clicking on@nmachines/nodes with the Techage Info Tool.@n@nLocal commands:@n- clear @= clear screen@n- help @= this message@n- pub @= switch to public use@n- priv @= switch to private use@nTo program a user button with a command:@n set @ne.g. 'set 1 ON cmd 123 on'@n= (Num. nodes loaded / max. : Power current / max.)=(Anz. Blöcke geladen / max. : Strom aktuell / max.) Allow to dig/place Techage power lines nearby power poles=Erlaubt TODO +Aluminum=Aluminium Ash=Asche Autocrafter=Autocrafter Axle Power Source=Achsenkraftquelle @@ -22,6 +23,7 @@ Basalt Stone Block=Basaltsteinblock Basalt Stone Brick=Basaltsteinziegel Bauxite Cobblestone=Bauxit Kopfsteinpflaster Bauxite Gravel=Bauxit Kies +Bauxite Powder=Bauxit Pulver Bauxite Stone=Bauxit Biome=Biom Block configured items for open ports=Blockiere konfigurierte Gegenstände für offene Ausgänge @@ -34,18 +36,26 @@ Drill Bit=Bohrstange Ele Power Source=Ele Kraftquelle Electronic Fab=Elektronikfabrik Enter=Eingeben +Epoxide Resin=Epoxidharz +Epoxide Resin Barrel=Epoxidharz Fass +Epoxide Resin Canister=Epoxidharz Kanister Error=Fehler Flint and Iron=Flint and Iron Flowing Oil=Fließendes Öl Force order of filter items=Erzwinge Reihenfolge Furnace Top=Ofenoberteil +Gibbsite Powder=Gibbsit Pulver Gravel Rinser=Kiesspüler Gravel Sieve=Kiessieb Grinder=Mühle Grinding=Mahlen Heat=Hitze Insert destination node number(s)=Gebe Zielnummer(n) ein +Leave Powder=Laub Pulver Liquid Sampler=Flüssigkeitensammler +Lye=Lauge +Lye Barrel=Lauge Fass +Lye Canister=Lauge Kanister Melting Guide=Schmelzführer Melting Pot active (heat@==Schmelztiegel aktiv (Hitze@= Melting Pot inactive (heat@==Schmelztiegel inaktiv (Hitze@= @@ -57,6 +67,7 @@ Meridium Pickaxe=Meridium Pickel Meridium Shovel=Meridium Schaufel Meridium Sword=Meridium Schwert More water expected (2 m deep)!=Mehr Wasser erwartet (2 m tief) +Needle Powder=Nadel Pulver Network Data=Netzwerkdaten No plan available=Kein Plan verfügar No wind at this altitude!=Kein Wind auf dieser Höhe @@ -77,6 +88,9 @@ Primary available=Primär verfügbar Primary needed=Primär benötigt Pusher=Schieber Recipe=Rezept +Red Mud=Rotschlamm +Red Mud Barrel=Rotschlamm Fass +Red Mud Canister=Rotschlamm Kanister Remove derrick=Entferne Ölturm Rinsing=Waschen River Water Barrel=Flusswasserfass @@ -187,6 +201,7 @@ TA3 Protected Chest=TA3 Gesicherte Kiste TA3 Pump=TA3 Pumpe TA3 Repeater=TA3 Wiederholer TA3 Sequencer=TA3 Sequenzer +TA3 Silo=TA3 Silo TA3 Tank=TA3 Tank TA3 Terminal=TA3 Terminal TA3 Timer=TA3 Timer @@ -198,9 +213,9 @@ TA4 Derrick=TA4 Bohrturm TA4 Doser=TA4 Dosierer TA4 Electrolyzer=TA4 Elektrolyseur TA4 Energy Storage=TA4 Energiespeicher -TA4 Epoxide Resin=TA4 Epoxidharz TA4 Fuel Cell=TA4 Brennstoffzelle TA4 Fuel Cell Stack=Brennstoffzellenstapel +TA4 Furnace Heater=TA4 Ofenheizung TA4 Generator=TA4 Generator TA4 Heat Exchanger=TA4 Wärmetauscher TA4 Heat Exchanger 1=TA4 Wärmetauscher 1 @@ -213,9 +228,10 @@ TA4 Pillar=TA4 Säule TA4 Pipe Inlet=TA4 Rohrzulauf TA4 Protected Chest=TA4 Gesicherte Kiste TA4 Pump=TA4 Pumpe -TA4 Reactor=Reaktor -TA4 Reactor Base=TA4 Reaktor Basis +TA4 Reactor=TA4 Reaktor +TA4 Reactor Base=TA4 Reaktor Sockel TA4 Reactor Filler Pipe=TA4 Reaktor Einfüllstutzen +TA4 Reactor Stand=TA4 Reaktor Ständer TA4 Rotor Blade=TA4 Rotorblatt TA4 Silicon Wafer=TA4 Silizium-Wafer TA4 Solar Carrier Module=TA4 Solar Trägermodul @@ -248,6 +264,7 @@ The wind turbines are too close together!=Die Windkraftanlagen stehen zu eng bei Time=Zeit Update=Update Usmium Nuggets=Usmium Nuggets +Usmium Powder=Usmium Pulver WLAN Chip=WLAN Chip Water=Wasser Water Barrel=Wasserfass @@ -270,18 +287,15 @@ added or removed=hinzugefügt oder entfernt wird commands like: help=Kommandos wie: help connected with=verbunden mit empty=leer -input missing=Zufuhr fehlt light=Licht no fuel or no power=kein Strom oder Brennstoff no power=kein Strom off=aus on=an -output blocked=Ausgang blockiert power=Strom reactor defect=Reaktor defekt reactor defect or no power=Reaktor defekt oder kein Strom reactor has no power=Reaktor hat keinen Strom removed=entfernt stopped=gestoppt -##### not used anymore ##### -Wrong place for wind turbines!=Falscher Ort für Windkraftanlagen \ No newline at end of file +##### not used anymore ##### \ No newline at end of file diff --git a/locale/template.txt b/locale/template.txt index 5f6b5ad..7b98507 100644 --- a/locale/template.txt +++ b/locale/template.txt @@ -79,6 +79,7 @@ Oil amount:= Other consumers= Outp= Plan= +Plastic Granules= Position= Position temperature= Power= @@ -229,6 +230,7 @@ TA4 Pump= TA4 Reactor= TA4 Reactor Base= TA4 Reactor Filler Pipe= +TA4 Reactor Stand= TA4 Rotor Blade= TA4 Silicon Wafer= TA4 Solar Carrier Module= diff --git a/manuals/manual_DE.md b/manuals/manual_DE.md index d01eb0b..6fc1ec7 100644 --- a/manuals/manual_DE.md +++ b/manuals/manual_DE.md @@ -34,9 +34,46 @@ Ab TA3 laufen die Maschinen mit Strom und besitzen eine Kommunikationsschnittste Mit TA4 kommen weitere Stromquellen dazu, aber auch höhere logistische Herausforderungen (Stromtrassen, Item Transport). +## Erze und Mineralien + +Techage fügt dem Spiel einige neue Items hinzu: + +- Meridium - eine Legierung zur Herstellung von leuchtenden Werkzeugen in TA1 +- Usmium - ein Erz, was in TA2 gefördert und für TA3 benötigt wird +- Baborium - ein Metall, welches für Rezepte in TA3 benötigt wird +- Erdöl - wird in TA3 benötigt +- Bauxit - ein Aluminiumerz, was in TA4 zur Herstellung von Aluminium benötigt wird + + +### Meridium + +Meridium ist eine Legierung aus Stahl und Mesekristallen. Meridium Ingots können mit dem Kohlebrenner aus Stahl und Mesesplitter hergestellt werden. Meridium leuchtet im Dunkeln. Auch Werkzeuge aus Meridium leuchten und sind daher im Untertagebau sehr hilfreich. + + +### Usmium + +Usmium kommt nur als Nuggets vor und kann nur beim Waschen von Kies mit der TA2 Kieswaschanlage gewonnen werden. + + +### Baborium + +Baborium wird nur im Untertagebau gewonnen. Baborium findet man nur in Stein in einer Höhe zwischen -250 und -340 Meter. + + +### Erdöl + +Erdöl kann nur mit Hilfe des Explorers gefunden und mit Hilfe entsprechender TA3 Maschinen gefördert werden. Siehe TA3. + + +### Bauxit + +Bauxit wird nur im Untertagebau gewonnen. Bauxit findet man nur in Stein in einer Höhe zwischen -50 und -150 Meter. +Es wird zur Herstellung von Aluminium benötigt, was vor allem in TA4 Verwendung findet. + + ## History - 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 diff --git a/manuals/manual_ta3_DE.md b/manuals/manual_ta3_DE.md index 42e0bf9..fc8195a 100644 --- a/manuals/manual_ta3_DE.md +++ b/manuals/manual_ta3_DE.md @@ -204,6 +204,7 @@ Der Industrieofen hat sein eigenes Menü zur Rezeptauswahl. Abhängig von den Wa Der Industrieofen benötigt Strom (für das Gebläse) sowie Öl/Benzin für den Brenner. Der Industrieofens und muss wie im Plan rechts abgebildet, zusammen gebaut werden. +Siehe auch TA4 Ofenheizung. [ta3_furnace|plan] @@ -365,11 +366,6 @@ Dazu muss der Aufkocher über einen Pumpe mit Erdöl versorgt werden. [reboiler|image] -### Chemischer Reaktor / chemical reactor - -[ta3_reactor|image] - - ## Logik-/Schalt-Blöcke Neben den Röhren für Warentransport, sowie den Gas- und Stromleitungen gibt es auch noch eine drahtlose Kommunikationsebene, über die Blöcke untereinander Daten austauschen können. Dafür müssen keine Leitungen gezogen werden, sondern die Verbindung zwischen Sender und Empfänger erfolgt nur über die Blocknummer. Alle Blöcke, die an dieser Kommunikation teilnehmen können, zeigen die Blocknummer als Info-Text an, wenn man mit dem Mauscursor den Block fixiert. @@ -595,6 +591,9 @@ Die Verarbeitungsleistung beträgt ein Chip alle 6 s. Der Block benötigt hierf ### TA3 Trichter / Funnel Der TA3 Trichter sammelt abgelegte Gegenstände und speichert sie in seinem Inventar. Gegenstände werden angesaugt, wenn sie auf den Trichterblock fallen. + +Der Trichter kann über das Menü und auch über on/off Kommandos ein-/ausgeschaltet werden. + Der Scanradius beträgt 1 m. [ta3_funnel|image] @@ -608,6 +607,14 @@ Die Verarbeitungsleistung beträgt 2 Items alle 4 s. Der Block benötigt 4 ku St [ta3_gravelsieve|image] +### TA3 Kieswaschanlage / Gravel Rinser + +Die Funktion entspricht der von TA2. +Die Wahrscheinlichkeit ist wie bei TA2. Der Block benötigt 3 ku Strom. + +[ta3_gravelrinser|image] + + ### TA3 Mühle / Grinder Die Funktion entspricht der von TA2. diff --git a/manuals/manual_ta4_DE.md b/manuals/manual_ta4_DE.md index 2e3a6a7..09fde67 100644 --- a/manuals/manual_ta4_DE.md +++ b/manuals/manual_ta4_DE.md @@ -210,6 +210,77 @@ Die Brennstoffzelle kann bis zu 40 ku an Strom abgeben und benötigt dazu alle 6 [ta4_fuelcell|image] +## Chemischer Reaktor / chemical reactor + +Der Reaktor dient dazu, die über den Destillationsturm oder aus anderen Rezepten gewonnenen Zutaten zu neuen Produkten weiter zu verarbeiten. Ein Reaktor besteht aus: +- div. Tanks und Silos mit den Zutaten, die über Leitungen mit dem Dosierer verbunden sind +- optional einem Reaktorsockel, welcher die Abfälle aus dem Reaktor ableitet (nur bei Rezepten mit zwei Ausgangsstoffen notwendig) +- dem Reaktorständer, der auf den Sockel gesetzt werden muss (sofern vorhanden). Der Ständer hat einen Stromanschluss und zieht bei Betrieb 8 ku. +- dem eigentlichen Reaktorbehälter, der auf den Reaktorständer gesetzt werden muss +- dem Einfüllstutzen der auf den Reaktorbehälter gesetzt werden muss +- dem Dosierer, welcher über Leitungen mit den Tanks oder Silos sowie dem Einfüllstutzen verbunden werden muss + +Hinweis 1: Flüssigkeiten werden nur in Tanks gelagert, Stoffe in Pulverform nur in Silos. Dies gilt für Zutaten und Ausgangsstoffe. + +Hinweis 2: Tanks oder Silos mit verschiedenen Inhalten dürfen nicht zu einem Leitungssystem verbunden werden. Mehrere Tanks oder Silos mit gleichem Inhalt dürfen dagegen parallel an einer Leitung hängen. + + +[ta4_reactor|plan] + + +### TA4 Dosierer / doser + +Teil des Chemischen Reaktors. +Auf allen 4 Seiten der Dosierers können Leitungen für Eingangsmaterialien angeschlossen werden. Nach oben werden die Materialien für den Reaktor ausgegeben. + +Über den Dosierer kann das Rezept eingestellt und der Reaktor gestartet werden. + +Wie auch bei anderen Maschinen: +- geht der Dosierer in den standby Zustand, so fehlen ein oder mehrere Zutaten +- geht der Dosierer in den blocked Zustand, so ist Ausgangstank oder Silo voll, defekt oder falsch angeschlossen + +Der Dosierer benötigt keinen Strom. Alle 10 s wird ein Rezept abgearbeitet. + +[ta4_doser|image] + +### TA4 Reaktor / reactor + +Teil des Chemischen Reaktors. + +[ta4_reactor|image] + + +### TA4 Einfüllstutzen / fillerpipe + +Teil des Chemischen Reaktors. Muss auf den Reaktor gesetzt werden. Wenn dies nicht klappt, ggf. das Rohr an der Position darüber nochmals entfernen und neu setzen. + +[ta4_fillerpipe|image] + + +### TA4 Reaktorständer / reactor stand + +Teil des Chemischen Reaktors. Hier ist auch der Stromanschluss für den Reaktor. Der Reaktor benötigt 8 ku Strom. + +Der Ständer hat zwei Leitungsanschlüsse, nach rechst für das Ausgangsprodukt und nach unten für den Abfall, wie bspw. Rotschlamm bei der Aluminiumherstellung. + +[ta4_reactorstand|image] + + +### TA4 Reaktorsockel / reactor base + +Teil des Chemischen Reaktors. Wird für den Abfluss des Abfallproduktes benötigt. + +[ta4_reactorbase|image] + + +### TA4 Silo / silo + +Teil des Chemischen Reaktors. Wird zur Aufbewahrung von Stoffen in Pulver- oder Granulatform benötigt. + +[ta4_silo|image] + + + ## Weitere TA4 Blöcke @@ -231,5 +302,11 @@ Die TA4 Pumpe pumpt 8 Einheiten Flüssigkeit alle zwei Sekunden. [ta4_pump|image] +### TA4 Ofenheizung / furnace heater +Mit TA4 hat der Industrieofen auch seine elektrische Heizung. Der Ölbrenner und auch das Gebläse können mit der Ofenheizung ersetzt werden. + +Die Ofenheizung benötigt 14 ku Strom. + +[ta4_furnaceheater|image] diff --git a/manuals/toc_DE.md b/manuals/toc_DE.md index f037927..d61d456 100644 --- a/manuals/toc_DE.md +++ b/manuals/toc_DE.md @@ -2,6 +2,12 @@ - [Tech Age Mod](./manual_DE.md#tech-age-mod) - [Hinweise](./manual_DE.md#hinweise) + - [Erze und Mineralien](./manual_DE.md#erze-und-mineralien) + - [Meridium](./manual_DE.md#meridium) + - [Usmium](./manual_DE.md#usmium) + - [Baborium](./manual_DE.md#baborium) + - [Erdöl](./manual_DE.md#erdöl) + - [Bauxit](./manual_DE.md#bauxit) - [History](./manual_DE.md#history) - [TA1: Eisenzeitalter](./manual_ta1_DE.md#ta1:-eisenzeitalter) - [Köhler / Coal Pile](./manual_ta1_DE.md#köhler--coal-pile) @@ -72,7 +78,6 @@ - [Ö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)) - - [Chemischer Reaktor / chemical reactor](./manual_ta3_DE.md#chemischer-reaktor--chemical-reactor) - [Logik-/Schalt-Blöcke](./manual_ta3_DE.md#logik-schalt-blöcke) - [TA3 Taster/Schalter / Button/Switch](./manual_ta3_DE.md#ta3-tasterschalter--buttonswitch) - [TA3 Logikblock / Logic Block](./manual_ta3_DE.md#ta3-logikblock--logic-block) @@ -94,6 +99,7 @@ - [TA3 Elektronikfabrik / Electronic Fab](./manual_ta3_DE.md#ta3-elektronikfabrik--electronic-fab) - [TA3 Trichter / Funnel](./manual_ta3_DE.md#ta3-trichter--funnel) - [TA3 Kiessieb / Gravel Sieve](./manual_ta3_DE.md#ta3-kiessieb--gravel-sieve) + - [TA3 Kieswaschanlage / Gravel Rinser](./manual_ta3_DE.md#ta3-kieswaschanlage--gravel-rinser) - [TA3 Mühle / Grinder](./manual_ta3_DE.md#ta3-mühle--grinder) - [TA3 Flüssigkeitensammler / Liquid Sampler](./manual_ta3_DE.md#ta3-flüssigkeitensammler--liquid-sampler) - [Werkzeuge](./manual_ta3_DE.md#werkzeuge) @@ -121,6 +127,14 @@ - [Wasserstoff](./manual_ta4_DE.md#wasserstoff) - [Elektrolyseur](./manual_ta4_DE.md#elektrolyseur) - [Brennstoffzelle](./manual_ta4_DE.md#brennstoffzelle) + - [Chemischer Reaktor / chemical reactor](./manual_ta4_DE.md#chemischer-reaktor--chemical-reactor) + - [TA4 Dosierer / doser](./manual_ta4_DE.md#ta4-dosierer--doser) + - [TA4 Reaktor / reactor](./manual_ta4_DE.md#ta4-reaktor--reactor) + - [TA4 Einfüllstutzen / fillerpipe](./manual_ta4_DE.md#ta4-einfüllstutzen--fillerpipe) + - [TA4 Reaktorständer / reactor stand](./manual_ta4_DE.md#ta4-reaktorständer--reactor-stand) + - [TA4 Reaktorsockel / reactor base](./manual_ta4_DE.md#ta4-reaktorsockel--reactor-base) + - [TA4 Silo / silo](./manual_ta4_DE.md#ta4-silo--silo) - [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) \ No newline at end of file + - [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 diff --git a/textures/techage_reactor_filler_plan.png b/textures/techage_reactor_filler_plan.png new file mode 100644 index 0000000000000000000000000000000000000000..f60cfac1987a07450dd537d681dfde9d6190b029 GIT binary patch literal 385 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 byI%Yc0BtQN)TRTinO=GmrjlTIHtJoka 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 VcBTHy>h5<6%#5v!>I^Bd{{yoP=FR{B diff --git a/textures/techage_reactor_plan.png b/textures/techage_reactor_plan.png new file mode 100644 index 0000000000000000000000000000000000000000..511e0afe5f413c1e9be313b779c642db6f27142c GIT binary patch literal 362 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvmUKs7M+SzC{oH>NS%G}U;vjb? zhIQv;UIICs1s;*b3=G`DAk4@xYmNj^P&&XT#P#~Ehf`)Q-n#SPo3|eyKYexb+|~Vu z&&*r0ZsqzNa-7X+KxH>PT^vI+&Zkb;%h#+R(&{<&-L4a74sd^9TE;oox4AmG$69!e z-@dZ<{418co?g7K*m1>P@!r~5M}5jfs)b%TD11%YC+Xt#LYr~ww1(}A?=0?6bUY-< z<}UKmXNs4@@!cV8ld5L?RnX|XX645*Vc7zPJK9^CE=@}pRX@OZAh0RzC7-%cMwf^z zbEuqY#+%nw++KTYH%<}WYqPZG_}Pi+wWTjV)K~2kk?C71+_dUZ@zGR+ss9U%t|aVH zH`_d~Q?l{e(Tgi3?IQE5wtk8;e8M5CwyAjuPYs*G+dBC*S(SM+qDp~&WbkzLb6Mw< G&;$SpypkgT literal 0 HcmV?d00001 diff --git a/textures/techage_ta1.png b/textures/techage_ta1.png index c000d2e42a2c70c235ec6f0907fbad3561b56c87..8b436e8ae73c0d6d50dc0b9af9c42ed1da60b865 100644 GIT binary patch delta 4572 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