diff --git a/basis/networks.lua b/basis/networks.lua index ddc16b4..6b30c46 100644 --- a/basis/networks.lua +++ b/basis/networks.lua @@ -243,7 +243,7 @@ local function collect_network_nodes(pos, outdir, tlib2) end for _,ntype in ipairs(ntypes) do if not netw[ntype] then netw[ntype] = {} end - netw[ntype][#netw[ntype] + 1] = {pos = pos, indir = indir, nominal = ndef.nominal} + netw[ntype][#netw[ntype] + 1] = {pos = pos, indir = indir, nominal = ndef.nominal, regenerative = ndef.regenerative} end end) netw.best_before = minetest.get_gametime() + BEST_BEFORE @@ -332,6 +332,10 @@ function techage.networks.build_network(pos, outdir, tlib2, netID) Networks[tlib2.tube_type] = Networks[tlib2.tube_type] or {} Networks[tlib2.tube_type][netID] = netw netw.alive = 3 + -- sort generating1 nodes, so that regenerative ones will be used first + if netw.gen1 then + table.sort(netw.gen1, function(a,b) return a.regenerative and not b.regenerative end) + end techage.schedule.start(tlib2.tube_type, netID) end diff --git a/doc/manual_DE.lua b/doc/manual_DE.lua index f4a99b5..02b9762 100644 --- a/doc/manual_DE.lua +++ b/doc/manual_DE.lua @@ -1238,7 +1238,7 @@ techage.manual_DE.aText = { "\n".. "\n", "Der Wärmetauscher besteht aus 3 Teilen\\, die aufeinander gesetzt werden müssen\\, wobei der Pfeil des ersten Blockes Richtung Turbine zeigen muss. Die Rohrleitungen müssen mit den gelben TA4 Röhren aufgebaut werden.\n".. - "Der Wärmetauscher muss am Stromnetz angeschlossen werden. Der Wärmetauscher kann 60 ku aufnehmen.\n".. + "Der Wärmetauscher muss am Stromnetz angeschlossen werden. Der Wärmetauscher lädt den Energiespeicher wieder auf\\, wenn ausreichend Strom zur Verfügung steht und der Energiespeicher weniger als 95 % geladen ist. Der Wärmetauscher nimmt dabei 60 ku auf.\n".. "\n".. "\n".. "\n", @@ -1610,7 +1610,7 @@ techage.manual_DE.aText = { "\n".. "\n", "Der Recycler ist eine Maschine\\, die alle Techage Rezepte rückwärts abarbeitet\\, also Maschinen und Blöcke wieder in die Bestandteile zerlegen kann. Die Maschine kann so ziemlich alle Techage und Hyperloop Blöcke zerlegen.\n".. - "Aber nicht alle Materialen lassen sich recyclen:\n".. + "Aber nicht alle Zutaten/Materialien der Rezepte lassen sich recyclen:\n".. "\n".. " - Holz wird zu Sticks\n".. " - Stein wird zu Sand oder Kies\n".. @@ -1629,7 +1629,7 @@ techage.manual_DE.aText = { "\n".. "Die Laserblöcke selbst benötigen keinen Strom.\n".. "\n".. - "\n".. + "t\n".. "\n", } diff --git a/doc/manual_EN.lua b/doc/manual_EN.lua index bc9bf19..c476712 100644 --- a/doc/manual_EN.lua +++ b/doc/manual_EN.lua @@ -1215,7 +1215,7 @@ techage.manual_EN.aText = { "\n".. "\n", "The heat exchanger consists of 3 parts that must be placed on top of each other\\, with the arrow of the first block pointing towards the turbine. The pipes must be built with the yellow TA4 pipes.\n".. - "The heat exchanger must be connected to the power grid. The heat exchanger can consume 60 ku.\n".. + "The heat exchanger must be connected to the power grid. The heat exchanger charges the energy store again when sufficient electricity is available and the energy storage is less than 95% charged. The heat exchanger takes up 60 ku. \n".. "\n".. "\n".. "\n", @@ -1589,7 +1589,7 @@ techage.manual_EN.aText = { "\n", "The recycler is a machine that processes all Techage recipes backwards\\, i.e. it can dismantle machines and blocks back into their components. \n".. "\n".. - "The machine can disassemble pretty much any Techage and Hyperloop blocks. But not all materials can be recycled:\n".. + "The machine can disassemble pretty much any Techage and Hyperloop blocks. But not all recipe items/materials can be recycled:\n".. "\n".. " - Wood turns into sticks\n".. " - Stone turns into sand or gravel\n".. diff --git a/energy_storage/generator.lua b/energy_storage/generator.lua index cd36b3a..7e38079 100644 --- a/energy_storage/generator.lua +++ b/energy_storage/generator.lua @@ -228,6 +228,9 @@ techage.register_node({"techage:ta4_generator", "techage:ta4_generator_on"}, { local nvm = techage.get_nvm(pos) if topic == "delivered" then return math.floor((nvm.provided or 0) + 0.5) + elseif topic == "load" then + local capa_max, capa = transfer_turbine(pos, "state") + return techage.power.percent(capa_max, capa) else return State:on_receive_message(pos, topic, payload) end diff --git a/energy_storage/heatexchanger1.lua b/energy_storage/heatexchanger1.lua index 0003ae8..2bb016b 100644 --- a/energy_storage/heatexchanger1.lua +++ b/energy_storage/heatexchanger1.lua @@ -171,7 +171,7 @@ local function node_timer(pos, elapsed) local taken = 0 local given = 0 - if nvm.capa < (nvm.capa_max * 0.9) and not nvm.charging then + if nvm.capa < (nvm.capa_max * 0.95) and not nvm.charging then taken = power.consumer_alive(pos, Cable, CYCLE_TIME) elseif nvm.capa < nvm.capa_max and nvm.charging then taken = power.consumer_alive(pos, Cable, CYCLE_TIME) diff --git a/energy_storage/inlet.lua b/energy_storage/inlet.lua index 9511510..f0050dd 100644 --- a/energy_storage/inlet.lua +++ b/energy_storage/inlet.lua @@ -112,8 +112,9 @@ local function get_diameter(pos, in_dir) end local function check_volume(pos, in_dir, owner) - local radius = (get_diameter(pos, in_dir) - 1) / 2 - if radius then + local diameter = get_diameter(pos, in_dir) + if diameter then + local radius = (diameter - 1) / 2 local dir = tubelib2.Dir6dToVector[in_dir] local cpos = vector.add(pos, vector.multiply(dir, radius)) -- calculate size @@ -138,8 +139,9 @@ end -- provide position behind the obsidian_glass local function check_window(pos, in_dir) - local radius = (get_diameter(pos, in_dir) - 1) / 2 - if radius then + local diameter = get_diameter(pos, in_dir) + if diameter then + local radius = (diameter - 1) / 2 local dir = tubelib2.Dir6dToVector[in_dir] local cpos = vector.add(pos, vector.multiply(dir, radius)) -- calculate size diff --git a/energy_storage/turbine.lua b/energy_storage/turbine.lua index 1116d54..4e540b2 100644 --- a/energy_storage/turbine.lua +++ b/energy_storage/turbine.lua @@ -23,6 +23,11 @@ local function transfer_heatexchanger3(pos, topic, payload) {"techage:heatexchanger3"}) end +local function transfer_heatexchanger1(pos, topic, payload) + return techage.transfer(pos, "L", topic, payload, Pipe, + {"techage:heatexchanger1"}) +end + local function transfer_generator(pos, topic, payload) return techage.transfer(pos, "R", topic, payload, nil, {"techage:ta4_generator", "techage:ta4_generator_on"}) @@ -156,6 +161,8 @@ techage.register_node({"techage:ta4_turbine", "techage:ta4_turbine_on"}, { stop_sound(pos) nvm.running = false return true + elseif topic == "state" then + return transfer_heatexchanger1(pos, topic, payload) end end, on_node_load = function(pos, node) diff --git a/i18n.py b/i18n.py index 335716f..ece4e4c 100755 --- a/i18n.py +++ b/i18n.py @@ -21,20 +21,24 @@ params = {"recursive": False, "mods": False, "verbose": False, "folders": [], - "no-old-file": False + "no-old-file": False, + "break-long-lines": False, + "sort": False } # Available CLI options options = {"recursive": ['--recursive', '-r'], "help": ['--help', '-h'], - "mods": ['--installed-mods'], + "mods": ['--installed-mods', '-m'], "verbose": ['--verbose', '-v'], - "no-old-file": ['--no-old-file'] + "no-old-file": ['--no-old-file', '-O'], + "break-long-lines": ['--break-long-lines', '-b'], + "sort": ['--sort', '-s'] } # Strings longer than this will have extra space added between # them in the translation files to make it easier to distinguish their # beginnings and endings at a glance -doublespace_threshold = 60 +doublespace_threshold = 80 def set_params_folders(tab: list): '''Initialize params["folders"] from CLI arguments.''' @@ -69,6 +73,10 @@ DESCRIPTION run on locally installed modules {', '.join(options["no-old-file"])} do not create *.old files + {', '.join(options["sort"])} + sort output strings alphabetically + {', '.join(options["break-long-lines"])} + add extra line breaks before and after long strings {', '.join(options["verbose"])} add output information ''') @@ -216,22 +224,24 @@ def strings_to_text(dkeyStrings, dOld, mod_name, header_comments): lOut = [f"# textdomain: {mod_name}\n"] if header_comments is not None: lOut.append(header_comments) - + dGroupedBySource = {} for key in dkeyStrings: sourceList = list(dkeyStrings[key]) - sourceList.sort() + if params["sort"]: + sourceList.sort() sourceString = "\n".join(sourceList) listForSource = dGroupedBySource.get(sourceString, []) listForSource.append(key) dGroupedBySource[sourceString] = listForSource - + lSourceKeys = list(dGroupedBySource.keys()) lSourceKeys.sort() for source in lSourceKeys: localizedStrings = dGroupedBySource[source] - localizedStrings.sort() + if params["sort"]: + localizedStrings.sort() lOut.append("") lOut.append(source) lOut.append("") @@ -239,12 +249,12 @@ def strings_to_text(dkeyStrings, dOld, mod_name, header_comments): val = dOld.get(localizedString, {}) translation = val.get("translation", "") comment = val.get("comment") - if len(localizedString) > doublespace_threshold and not lOut[-1] == "": + if params["break-long-lines"] and len(localizedString) > doublespace_threshold and not lOut[-1] == "": lOut.append("") if comment != None: lOut.append(comment) lOut.append(f"{localizedString}={translation}") - if len(localizedString) > doublespace_threshold: + if params["break-long-lines"] and len(localizedString) > doublespace_threshold: lOut.append("") @@ -260,12 +270,12 @@ def strings_to_text(dkeyStrings, dOld, mod_name, header_comments): if not unusedExist: unusedExist = True lOut.append("\n\n##### not used anymore #####\n") - if len(key) > doublespace_threshold and not lOut[-1] == "": + if params["break-long-lines"] and len(key) > doublespace_threshold and not lOut[-1] == "": lOut.append("") if comment != None: lOut.append(comment) lOut.append(f"{key}={translation}") - if len(key) > doublespace_threshold: + if params["break-long-lines"] and len(key) > doublespace_threshold: lOut.append("") return "\n".join(lOut) + '\n' @@ -274,7 +284,7 @@ def strings_to_text(dkeyStrings, dOld, mod_name, header_comments): def write_template(templ_file, dkeyStrings, mod_name): # read existing template file to preserve comments existing_template = import_tr_file(templ_file) - + text = strings_to_text(dkeyStrings, existing_template[0], mod_name, existing_template[2]) mkdir_p(os.path.dirname(templ_file)) with open(templ_file, "wt", encoding='utf-8') as template_file: @@ -299,7 +309,7 @@ def read_lua_file_strings(lua_file): strings.append(s[1]) for s in pattern_lua_bracketed_fs.findall(text): strings.append(s) - + for s in strings: s = re.sub(r'"\.\.\s+"', "", s) s = re.sub("@[^@=0-9]", "@@", s) @@ -335,7 +345,7 @@ def import_tr_file(tr_file): if line[:3] == "###": if header_comment is None: # Save header comments - header_comment = latest_comment_block or "" + header_comment = latest_comment_block # Stip textdomain line tmp_h_c = "" for l in header_comment.split('\n'): @@ -383,7 +393,7 @@ def generate_template(folder, mod_name): sources = dOut.get(s, set()) sources.add(f"### {os.path.basename(fname)} ###") dOut[s] = sources - + if len(dOut) == 0: return None templ_file = os.path.join(folder, "locale/template.txt") diff --git a/locale/techage.de.tr b/locale/techage.de.tr index ea4a3cd..5308539 100644 --- a/locale/techage.de.tr +++ b/locale/techage.de.tr @@ -4,37 +4,17 @@ ### akkubox.lua ### -TA3 Accu Box=Akkublock TA3 Akku Box=TA3 Akku Block - -### akkubox.lua ### -### battery.lua ### - -Load=Ladung - -### akkubox.lua ### -### electrolyzer.lua ### -### fuelcell.lua ### -### generator.lua ### -### heatexchanger2.lua ### -### tiny_generator.lua ### - -Electricity=Strom +TA3 Accu Box=Akkublock ### aluminium.lua ### -Aluminum=Aluminium Gibbsite Powder=Gibbsit Pulver +Aluminum=Aluminium Red Mud=Rotschlamm Red Mud Barrel=Rotschlamm Fass Red Mud Canister=Rotschlamm Kanister -### assemble.lua ### -### firebox_lib.lua ### - -[TA] Area is protected!=[TA] Bereich ist geschützt -[TA] Not enough space!=[TA] Nicht ausreichend Platz! - ### autocrafter.lua ### Autocrafter=Autocrafter @@ -42,54 +22,57 @@ Autocrafter=Autocrafter ### axle2power.lua ### TA2 Power Generator=TA2 Stromgenerator - TA2 Power Generator: Overload fault?@n(restart with right-click)=TA2 Stromgenerator: Überlastfehler?@n(Neustart mit Rechtsklick) - ### baborium.lua ### -Baborium Ingot=Baboriumbarren -Baborium Lump=Baboriumklumpen Baborium Ore=Baboriumerz +Baborium Lump=Baboriumklumpen +Baborium Ingot=Baboriumbarren ### barrel.lua ### -Gas Cylinder Large=Gasflasche groß -Gas Cylinder Small=Gasflasche klein -River Water Barrel=Flusswasserfass -TA Empty Barrel=TA leeres Fass -TA3 Canister=TA3 Kanister Water=Wasser Water Barrel=Wasserfass +River Water Barrel=Flusswasserfass empty=leer +TA Empty Barrel=TA leeres Fass +TA3 Canister=TA3 Kanister +Gas Cylinder Small=Gasflasche klein +Gas Cylinder Large=Gasflasche groß ### basalt.lua ### +Basalt Stone=Basaltgestein Basalt Cobble=Basaltpflaster +Basalt Stone Brick=Basaltsteinziegel +Basalt Stone Block=Basaltsteinblock +Basalt Gravel=Basaltkies +Sieved Basalt Gravel=Basaltkies gesiebt Basalt Glass=Basaltglas Basalt Glass 2=Basaltglas 2 Basalt Glass Thin=Basaltglas dünn Basalt Glass Thin 2=Basaltglas dünn 2 Basalt Glass Thin XL=Basaltglas dünn XL Basalt Glass Thin XL 2=Basaltglas dünn XL 2 -Basalt Gravel=Basaltkies -Basalt Stone=Basaltgestein -Basalt Stone Block=Basaltsteinblock -Basalt Stone Brick=Basaltsteinziegel -Sieved Basalt Gravel=Basaltkies gesiebt ### battery.lua ### -Battery=Batterie -Coal Equivalents=Kohleeinheiten Digtron Battery=Digtron Akku +Coal Equivalents=Kohleeinheiten +Battery=Batterie + +### battery.lua ### +### akkubox.lua ### + +Load=Ladung ### bauxit.lua ### +Bauxite Stone=Bauxit Bauxite Cobblestone=Bauxit Kopfsteinpflaster Bauxite Gravel=Bauxit Kies Bauxite Powder=Bauxit Pulver -Bauxite Stone=Bauxit ### blackhole.lua ### @@ -98,8 +81,8 @@ TechAge Black Hole (let items and liquids disappear)=TechAge Schwarzes Loch (Geg ### boiler.lua ### -TA2 Boiler Base=TA2 Boiler unten TA2 Boiler Top=TA2 Boiler oben +TA2 Boiler Base=TA2 Boiler unten ### boiler_base.lua ### @@ -107,8 +90,8 @@ TA3 Boiler Base=TA3 Boiler unten ### boiler_lib.lua ### -To add water punch@nthe boiler@nwith a water bucket=Um Wasser nachzufüllen,@nschlage mit einem Wassereimer@nauf den Block Water Boiler=Wasserboiler +To add water punch@nthe boiler@nwith a water bucket=Um Wasser nachzufüllen,@nschlage mit einem Wassereimer@nauf den Block water temperature=Wassertemperatur ### boiler_top.lua ### @@ -124,40 +107,10 @@ TA3 Booster=TA3 Gebläse TA3 Button/Switch=TA3 Taster/Schalter TA4 Button/Switch=TA4 Schalter/Taster -### button.lua ### -### cart_detector.lua ### -### detector.lua ### -### lua_logic.lua ### -### mesecons_converter.lua ### -### node_detector.lua ### -### player_detector.lua ### -### repeater.lua ### - -Insert destination node number(s)=Gebe Zielnummer(n) ein - -### button.lua ### -### chest.lua ### -### detector.lua ### -### doorcontroller.lua ### -### mesecons_converter.lua ### -### repeater.lua ### - -Save=Speichern - ### cart_detector.lua ### TA3 Cart Detector=TA3 Wagen Detektor -### cart_detector.lua ### -### node_detector.lua ### - -accept=akzeptieren - -### cart_detector.lua ### -### player_detector.lua ### - -TA3 Player Detector=TA3 Spieler Detektor - ### ceilinglamp.lua ### TA Ceiling Lamp=TA Deckenlampe @@ -174,11 +127,11 @@ TA1 Charcoal=TA1 Holzkohle ### chest.lua ### -Allow public access to the chest=Erlaube öffentlichen Zugriff auf die Kiste -Inventory,Pre-Assignment,Config=Inventar,Vorbelegung,Konfiguration -Node label:= Blockbeschriftung: TA2 Protected Chest=TA2 Gesicherte Kiste TA3 Protected Chest=TA3 Gesicherte Kiste +Inventory,Pre-Assignment,Config=Inventar,Vorbelegung,Konfiguration +Node label:=Blockbeschriftung: +Allow public access to the chest=Erlaube öffentlichen Zugriff auf die Kiste TA4 Protected Chest=TA4 Gesicherte Kiste ### chest_cart.lua ### @@ -191,8 +144,8 @@ Ash=Asche ### collector.lua ### -Node number to send the events to=Knotennummer zum Senden der Events Node numbers to read the states from=Knotennummern zum Lesen der Zustände +Node number to send the events to=Knotennummer zum Senden der Events Send an event if state is equal or larger than=Senden ein Event wenn Status größer oder gleich als TA4 State Collector=TA4 Zuständesammler @@ -215,25 +168,25 @@ TA4 Detector=TA4 Detektor ### display.lua ### -Display no: = Display Nr. TA4 Display=TA4 Display +Display no: =Display Nr. TA4 Display XL=TA4 Display XL ### distiller.lua ### +TA3 Distillation Tower Base=TA3 Destillationsturm Basis TA3 Distillation Tower 1=TA3 Destillationsturm 1 TA3 Distillation Tower 2=TA3 Destillationsturm 2 TA3 Distillation Tower 3=TA3 Destillationsturm 3 TA3 Distillation Tower 4=TA3 Destillationsturm 4 -TA3 Distillation Tower Base=TA3 Destillationsturm Basis ### distributor.lua ### +blocking mode=Blockiert Block configured items for open ports=Blockiere konfigurierte Gegenstände für offene Ausgänge +Input=Einspeisung Distributor=Verteiler High Performance Distributor=Hochleistungs-Verteiler -Input=Einspeisung -blocking mode=Blockiert ### doorblock.lua ### @@ -246,29 +199,29 @@ TA3 Door Controller=TA3 Tür Controller ### doorcontroller2.lua ### +Ctrl,Inv=Ctrl,Inv +Record=Aufzeichnen +Done=Fertig +Set=Setzen +Remove=Entfernen +with door sound=mit Türgeräusch +TA3 Door Controller II=TA3 Tür Controller II +Recording...=Aufzeichnung... +Click on all the blocks that are part of the door/gate=Klicke auf alle Blöcke, die Teil des Tores sind +block positions are stored.=Block Positionen gespeichert. Blocks are back=Blöcke sind wieder da Blocks are disappeared=Blöcke sind verschwunden -Click on all the blocks that are part of the door/gate=Klicke auf alle Blöcke, die Teil des Tores sind -Ctrl,Inv=Ctrl,Inv -Done=Fertig -Record=Aufzeichnen -Recording...=Aufzeichnung... -Remove=Entfernen -Set=Setzen -TA3 Door Controller II=TA3 Tür Controller II -block positions are stored.=Block Positionen gespeichert. -with door sound=mit Türgeräusch ### drillbox.lua ### Build derrick=Errichte Ölturm -Depth=Tiefe Drill Bit=Bohrstange -Drill area is protected=Bohrbereich ist geschützt -Drill bits missing=Bohrgestänge fehlt -Oil Drill Box=Ölbohrkiste +Depth=Tiefe Remove derrick=Entferne Ölturm +Drill bits missing=Bohrgestänge fehlt +Drill area is protected=Bohrbereich ist geschützt item output blocked=Ausgang blockiert +Oil Drill Box=Ölbohrkiste ### drive_axle.lua ### @@ -291,10 +244,10 @@ Electrolyzer=Eletrolyseur ### electronic.lua ### TA3 Vacuum Tube=TA3 Vakuumröhre -TA4 LEDs=TA4 LEDs -TA4 RAM Chip=RAM Chip TA4 WLAN Chip=TA4 WLAN Chip WLAN Chip=WLAN Chip +TA4 RAM Chip=RAM Chip +TA4 LEDs=TA4 LEDs ### electronic_fab.lua ### @@ -311,10 +264,10 @@ Epoxide Resin Canister=Epoxidharz Kanister ### explore.lua ### -Oil=Öl -TA3 Oil Explorer=TA3 Ölexplorer -TA3 Oil Storage=TA3 Öl Speicher depth=Tiefe +Oil=Öl +TA3 Oil Storage=TA3 Öl Speicher +TA3 Oil Explorer=TA3 Ölexplorer ### filler.lua ### @@ -324,42 +277,40 @@ TA Liquid Filler=TA Einfülltrichter ### firebox.lua ### TA2 Firebox=TA2 Feuerkiste -TA3 Coal Power Station Firebox=TA3 Kohlekraftwerks-Feuerbox TA3 Furnace Oil Burner=TA3 Ofen-Ölbrenner TA3 Power Station Firebox=TA3 Kraftwerks-Feuerbox +TA3 Coal Power Station Firebox=TA3 Kohlekraftwerks-Feuerbox ### firebox_lib.lua ### Firebox=Feuerkasten +### firebox_lib.lua ### +### assemble.lua ### + +[TA] Area is protected!=[TA] Bereich ist geschützt +[TA] Not enough space!=[TA] Nicht ausreichend Platz! + ### flywheel.lua ### Flywheel=Schwungrad TA2 Flywheel=TA2 Schwungrad -### flywheel.lua ### -### generator.lua ### -### solarcell.lua ### -### source.lua ### - -power=Energie - ### forceload.lua ### -Area already loaded or max. number of Forceload Blocks reached!=Bereich bereits geladen oder maximale Anzahl von Forceload Blöcken erreicht! - List of your Forceload Blocks:=Liste der Forceload Blöcke -Priv missing=Rechte fehlen +loaded=geladen Punch the block to make the area visible.=Schlage auf den Bock um den Bereich anzuzeigen. -Show all forceload blocks in a 64x64x64 range=Zeige alle Forceload Blöcke im Umkreis von 64x64x64 Blöcken +Area already loaded or max. number of Forceload Blocks reached!=Bereich bereits geladen oder maximale Anzahl von Forceload Blöcken erreicht! Techage Forceload Block=Techage Forceload Block Techage Forceload Tile=Techage Forceload Kachel -loaded=geladen +Show all forceload blocks in a 64x64x64 range=Zeige alle Forceload Blöcke im Umkreis von 64x64x64 Blöcken +Priv missing=Rechte fehlen ### fuel_lib.lua ### -Fuel Menu=Brennstoff Menü To add fuel punch@nthis block@nwith a fuel container=Um Brennstoff nachzufüllen,@nschlage mit einem Kraftstoffbehälter@nauf den Block +Fuel Menu=Brennstoff Menü ### fuelcell.lua ### @@ -372,9 +323,9 @@ TA4 Fuel Cell Stack=Brennstoffzellenstapel ### furnace_top.lua ### -Furnace Top=Ofenoberteil Outp=Ergeb. no fuel or no power=kein Strom oder Brennstoff +Furnace Top=Ofenoberteil ### gateblock.lua ### @@ -387,9 +338,25 @@ TA2 Gearbox=TA2 Getriebeblock ### generator.lua ### Generator=Generator -TA3 Generator=TA3 Generator -TA4 Generator=TA4 Generator storage empty?=Speicher leer? +TA4 Generator=TA4 Generator +TA3 Generator=TA3 Generator + +### generator.lua ### +### akkubox.lua ### +### tiny_generator.lua ### +### fuelcell.lua ### +### electrolyzer.lua ### +### heatexchanger2.lua ### + +Electricity=Strom + +### generator.lua ### +### source.lua ### +### solarcell.lua ### +### flywheel.lua ### + +power=Energie ### gravelrinser.lua ### @@ -398,10 +365,10 @@ Rinsing=Waschen ### gravelsieve.lua ### +TA1 Gravel Sieve=TA1 Kiessieb +Sieved Gravel=Gesiebtes Kies Compressed Gravel=Komprimiertes Kies Gravel Sieve=Kiessieb -Sieved Gravel=Gesiebtes Kies -TA1 Gravel Sieve=TA1 Kiessieb TA2 Gravel Sieve=TA2 Kiessieb TA3 Gravel Sieve=TA3 Kiessieb TA4 Gravel Sieve=TA4 Kiessieb @@ -418,18 +385,18 @@ TA4 LED Grow Light=TA4 LED Pflanzenlampe ### guide.lua ### No plan available=Kein Plan verfügar -Plan=Plan -Side view=Seitenansicht Top view=Draufsicht +Side view=Seitenansicht +Plan=Plan ### hammer.lua ### +TA1 Stone Hammer (smash stone to gravel)=TA1 Steinhammer (zerschlage Stein zu Kies) TA1 Bronze Hammer (smash stone to gravel)=TA1 Bronzehammer (zerschlage Stein zu Kies) +TA1 Steel Hammer (smash stone to gravel)=TA1 Stahlhammer (zerschlage Stein zu Kies) +TA1 Mese Hammer (smash stone to gravel)=TA1 Mesehammer (zerschlage Stein zu Kies) TA1 Diamond Hammer (smash stone to gravel)=TA1 Diamanthammer (zerschlage Stein zu Kies) TA1 Meridium Hammer (smash stone to gravel)=TA1 Meridiumhammer (zerschlage Stein zu Kies) -TA1 Mese Hammer (smash stone to gravel)=TA1 Mesehammer (zerschlage Stein zu Kies) -TA1 Steel Hammer (smash stone to gravel)=TA1 Stahlhammer (zerschlage Stein zu Kies) -TA1 Stone Hammer (smash stone to gravel)=TA1 Steinhammer (zerschlage Stein zu Kies) ### heater.lua ### @@ -438,20 +405,20 @@ TA4 Furnace Heater=TA4 Ofenheizung ### heatexchanger1.lua ### TA4 Heat Exchanger 1=TA4 Wärmetauscher 1 -inlet/pipe error=Einlass/Röhrenfehler wrong storage diameter=Falscher Wärmespeicher-Durchmesser - -### heatexchanger1.lua ### -### heatexchanger2.lua ### - -did you check the plan?=hast du den Plan geprüft? +inlet/pipe error=Einlass/Röhrenfehler ### heatexchanger2.lua ### Heat Exchanger=Wärmetauscher +Thermal=Wärme TA4 Heat Exchanger=TA4 Wärmetauscher TA4 Heat Exchanger 2=TA4 Wärmetauscher 2 -Thermal=Wärme + +### heatexchanger2.lua ### +### heatexchanger1.lua ### + +did you check the plan?=hast du den Plan geprüft? ### heatexchanger3.lua ### @@ -459,9 +426,9 @@ TA4 Heat Exchanger 3=TA4 Wärmetauscher 3 ### hydrogen.lua ### -Hydrogen Cylinder Large=Wasserstoffflasche groß -Hydrogen Cylinder Small=Wasserstoffflasche klein TA4 Hydrogen=TA4 Wasserstoff +Hydrogen Cylinder Small=Wasserstoffflasche klein +Hydrogen Cylinder Large=Wasserstoffflasche groß ### industriallamp1.lua ### @@ -486,8 +453,8 @@ TA4 Pipe Inlet=TA4 Rohrzulauf ### inverter.lua ### Inverter=Wechselrichter -Power AC=Wechselstrom Power DC=Gleichstrom +Power AC=Wechselstrom TA4 Solar Inverter=TA4 Solar Wechselrichter ### junctionbox.lua ### @@ -496,20 +463,20 @@ TA Electric Junction Box=TA Verteilerdose ### lampholder.lua ### +TA Lamp Holder White=TA Lampenhalter Weiß +TA Lamp Holder Aspen=TA Lampenhalter Espe TA Lamp Holder Acacia=TA Lampenhalter Akazie TA Lamp Holder Apple=TA Lampenhalter Apfel -TA Lamp Holder Aspen=TA Lampenhalter Espe TA Lamp Holder Copper=TA Lampenhalter Kupfer TA Lamp Holder Gold=TA Lampenhalter Gold -TA Lamp Holder White=TA Lampenhalter Weiß ### laser.lua ### -Laser beam error!=Laserstrahl Fehler! TA4 Laser Beam Emitter=TA4 Laserstrahl Sender -TA4 Laser Beam Receiver=TA4 Laserstrahl Empfänger Valid destination positions:=Gültige Zielpositionen to=bis +Laser beam error!=Laserstrahl Fehler! +TA4 Laser Beam Receiver=TA4 Laserstrahl Empfänger ### lib.lua ### ### sensorchest.lua ### @@ -522,61 +489,47 @@ TA1 Lighter=TA1 Anzünder ### liquid_lib.lua ### -Allow public access to the tank=Erlaube öffentlichen Zugriff auf den Tank -Liquid Tank=Flüssigkeitstank To add liquids punch@nthe tank@nwith a liquid container=Um Flüssigkeit nachzufüllen,@nschlage mit einem Flüssigkeitsbehälter@nauf den Block +Liquid Tank=Flüssigkeitstank +Allow public access to the tank=Erlaube öffentlichen Zugriff auf den Tank ### liquid_pipe.lua ### -TA Junction Pipe=TA Leitungskupplung TA Pipe=TA Leitung (Flüssigkeiten) +TA Junction Pipe=TA Leitungskupplung ### liquidsampler.lua ### Liquid Sampler=Flüssigkeitensammler -### liquidsampler.lua ### -### waterpump.lua ### - -no usable water=Kein brauchbares Wasser - ### logic_block.lua ### -'me' has to be used for the own block number.@n='me' wird für die eigene Blocknummer verwendet.@n -'~@=' means: not equal@n='~@=' bedeutet: ungleich@n - -@n is a boolean expression@nwhere input numbers are evaluated.@n=@n ist ein boolescher Ausdruck,@nbei dem Eingabenummern ausgewertet werden.@n - -@n is the block number to which the@ncommand should be sent.@n=@n ist die Blocknummer, an die der Befehl@ngesendet werden soll.@n - -@nAll rules are checked with each received@ncommand.=@nAlle Regeln werden mit jedem empfangenen@nBefehl überprüft. - -@nExamples:@n1234 @=@= on@n1234 @=@= off@n1234 @=@= on and 2345 @=@= off@n2345 ~@= 3456@n=@nBeispiele:@n1234 @=@= on@n1234 @=@= off@n1234 @=@= on and 2345 @=@= off@n2345 ~@= 3456@n - +Send an 'on'/'off' command if the@nexpression becomes true.@n=Sende ein 'on'/'off' Kommando, wenn der @nAusdruck wahr wird.@n @nRule:@n @= on/off if is true@n=@nRegel:@n @= on/off if is true@n -@nThe internal processing time for all@ncommands is 100 ms.=@nDie interne Durchlaufzeit für alle@nKommandos beträgt 100 ms. - +@n is the block number to which the@ncommand should be sent.@n=@n ist die Blocknummer, an die der Befehl@ngesendet werden soll.@n +@n is a boolean expression@nwhere input numbers are evaluated.@n=@n ist ein boolescher Ausdruck,@nbei dem Eingabenummern ausgewertet werden.@n +@nExamples:@n1234 @=@= on@n1234 @=@= off@n1234 @=@= on and 2345 @=@= off@n2345 ~@= 3456@n=@nBeispiele:@n1234 @=@= on@n1234 @=@= off@n1234 @=@= on and 2345 @=@= off@n2345 ~@= 3456@n @nValid operators:@nand or on off me @=@= ~@= ( )@n=@nGültige Operatoren:@nand or on off @=@= ~@= ( )@n - -Blocking Time=Sperrzeit +'~@=' means: not equal@n='~@=' bedeutet: ungleich@n +'me' has to be used for the own block number.@n='me' wird für die eigene Blocknummer verwendet.@n +@nAll rules are checked with each received@ncommand.=@nAlle Regeln werden mit jedem empfangenen@nBefehl überprüft. +@nThe internal processing time for all@ncommands is 100 ms.=@nDie interne Durchlaufzeit für alle@nKommandos beträgt 100 ms. +Rules=Regeln Help=Hilfe +Blocking Time=Sperrzeit Inputs=Eingänge Outputs=Ausgänge -Rules=Regeln - -Send an 'on'/'off' command if the@nexpression becomes true.@n=Sende ein 'on'/'off' Kommando, wenn der @nAusdruck wahr wird.@n - Syntax=Syntax ### logic_block.lua ### ### lua_logic.lua ### -TA3 Logic Block=TA3 Logikblock Update=Update +TA3 Logic Block=TA3 Logikblock ### logic_block.lua ### -### lua_logic.lua ### ### power_terminal2.lua ### +### lua_logic.lua ### Store=Speichern @@ -588,27 +541,22 @@ Lye Canister=Lauge Kanister ### meltingpot.lua ### -Heat=Hitze +Menu,Recipes=Menü,Rezepte +Menu=Menü Melting Guide=Schmelzführer +Heat=Hitze Melting Pot active (heat@==Schmelztiegel aktiv (Hitze@= Melting Pot inactive (heat@==Schmelztiegel inaktiv (Hitze@= -Melting Pot inactive (heat@=0)=Schmelztiegel inaktiv (Hitze@=0) -Menu=Menü -Menu,Recipes=Menü,Rezepte -TA1 Burning=TA1 Brennen -TA1 Melting=TA1 Schmelzen TA1 Melting Pot=TA1 Schmelztiegel - -### meltingpot.lua ### -### repairkit.lua ### - -Time=Zeit +Melting Pot inactive (heat@=0)=Schmelztiegel inaktiv (Hitze@=0) +TA1 Melting=TA1 Schmelzen +TA1 Burning=TA1 Brennen ### meridium.lua ### -Meridium Axe=Meridium Axt Meridium Pickaxe=Meridium Pickel Meridium Shovel=Meridium Schaufel +Meridium Axe=Meridium Axt Meridium Sword=Meridium Schwert ### mesecons_converter.lua ### @@ -621,11 +569,27 @@ TA4 Streetlamp Solar Cell=TA4 Straßenlampen-Solarzelle ### node_detector.lua ### +added=hinzugefügt wird +removed=entfernt +added or removed=hinzugefügt oder entfernt wird Send signal if nodes have been:=Sende ein Signal falls Blöcke: TA3 Node Detector=TA3 Block Detektor -added=hinzugefügt wird -added or removed=hinzugefügt oder entfernt wird -removed=entfernt + +### node_detector.lua ### +### cart_detector.lua ### + +accept=akzeptieren + +### node_detector.lua ### +### player_detector.lua ### +### repeater.lua ### +### lua_logic.lua ### +### detector.lua ### +### button.lua ### +### cart_detector.lua ### +### mesecons_converter.lua ### + +Insert destination node number(s)=Gebe Zielnummer(n) ein ### nodes.lua ### @@ -633,8 +597,8 @@ TechAge Gravel=TechAge Kies ### oil.lua ### -Flowing Oil=Fließendes Öl Oil Source=Erdöl +Flowing Oil=Fließendes Öl TA3 Oil Barrel=TA3 Ölfass TA3 Oil Canister=TA3 Erdölkanister @@ -644,21 +608,21 @@ TA3 Power Station Oil Burner=TA3 Kraftwerks-Ölbrenner ### petroleum.lua ### -Propane Cylinder Large=Propangasflasche groß -Propane Cylinder Small=Propangasflasche klein TA3 Bitumen=TA3 Bitumen -TA3 Bitumen Barrel=TA3 Bitumenfass -TA3 Bitumen Canister=TA3 Bitumenkanister TA3 Fuel Oil=TA3 Schweröl -TA3 Fuel Oil Barrel=TA3 Schwerölfass -TA3 Fuel Oil Canister=TA3 Schwerölkanister -TA3 Gasoline=TA3 Benzin -TA3 Gasoline Barrel=TA3 Benzinfass -TA3 Gasoline Canister=TA3 Benzinkanister TA3 Naphtha=TA3 Naphtha -TA3 Naphtha Barrel=TA3 Naphtha-Fass -TA3 Naphtha Canister=TA3 Naphtha-Kanister +TA3 Gasoline=TA3 Benzin TA3 Propane=TA3 Propan +Propane Cylinder Small=Propangasflasche klein +Propane Cylinder Large=Propangasflasche groß +TA3 Bitumen Barrel=TA3 Bitumenfass +TA3 Fuel Oil Barrel=TA3 Schwerölfass +TA3 Naphtha Barrel=TA3 Naphtha-Fass +TA3 Gasoline Barrel=TA3 Benzinfass +TA3 Bitumen Canister=TA3 Bitumenkanister +TA3 Fuel Oil Canister=TA3 Schwerölkanister +TA3 Naphtha Canister=TA3 Naphtha-Kanister +TA3 Gasoline Canister=TA3 Benzinkanister ### pillar.lua ### @@ -680,78 +644,84 @@ Plastic Granules=Plastikgranulat TA4 Player Detector=TA4 Spieler Detektor +### player_detector.lua ### +### cart_detector.lua ### + +TA3 Player Detector=TA3 Spieler Detektor + ### powder.lua ### -Iron Powder=Eisen Pulver Leave Powder=Laub Pulver Needle Powder=Nadel Pulver +Iron Powder=Eisen Pulver ### power2axle.lua ### TA3 Electric Motor=TA3 Elektromotor - TA3 Electric Motor: Overload fault?@n(restart with right-click)=TA3 Elektromotor: Überlastfehler?@n(Neustart mit Rechtsklick) - ### power_line.lua ### TA Power Line=TA Stromleitung -TA Power Pole=TA Strommast -TA Power Pole Top (for up to 6 connections)=TA Strommastkopf (für bis zu 6 Verbindungen) TA Power Pole Top 2 (for landlines)=TA Strommastkopf 2 (für Überlandleitungen) +TA Power Pole Top (for up to 6 connections)=TA Strommastkopf (für bis zu 6 Verbindungen) +TA Power Pole=TA Strommast ### power_terminal.lua ### -Active:=Aktiv: -All nodes:=Alle Blöcke: -Consum. 1=Konsum. 1 -Consum. 2=Konsum. 2 -Genera. 1=Genera. 1 -Genera. 2=Genera. 2 -In use:=In Benutzung: -No network or active generator available!=Kein Stromnetz oder aktiver Generator verfügbar Number of all nodes=Anzahl aller Blöcke -TA3 Power Terminal Old=TA3 Strom Terminal Alt +No network or active generator available!=Kein Stromnetz oder aktiver Generator verfügbar +With %u of a maximum of %u blocks you are almost at the limit!=Mit %u von maximal %u Blöcken bist du fast am Limit! The network is overloaded!=Das Stromnetz ist überlastet! The network load is almost at the limit!=Das Stromnetz ist ziemlich am Limit! +Genera. 1=Genera. 1 +Genera. 2=Genera. 2 +Consum. 2=Konsum. 2 +Consum. 1=Konsum. 1 +All nodes:=Alle Blöcke: Turned on:=Eingeschaltet: +Active:=Aktiv: +In use:=In Benutzung: +TA3 Power Terminal Old=TA3 Strom Terminal Alt -With %u of a maximum of %u blocks you are almost at the limit!=Mit %u von maximal %u Blöcken bist du fast am Limit! - - -### power_terminal.lua ### ### power_terminal2.lua ### +Power station=Kraftwerk +Tiny generator=Kleingenerator +Solar system=Solaranlage +Wind turbine=Windkraftanlage +Accu Box=Akkublock +Energy storage=Engergiespeicher +Fuel cell=Brennstoffzelle +TA2 Generator=TA2 Generator +No power grid or running generator!=Kein Stromnetz oder Generator verfügbar! +Probably too many consumers (=Vermutlich zu viele Verbraucher ( +ku is needed=ku wird benötigt +Number of power grid blocks=Anzahl der Stromnetz Blöcke +Max. needed power=Max. benötigter Strom +To many blocks in the power grid!=Zu viele Blöcke im Stromnetz! +Select type=Wähle Typ +Type=Typ +Output=Stromabgabe +Intake=Stromaufnahme +Number blocks:=Anzahl Blöcke: +Maximum power:=Maximalstrom: +Current power:=Strom aktuell: +Energy stored:=Energie gespeichert +Power grid total=Stromnetz gesammt +Generators=Generatoren +Storage systems=Speichersysteme +TA3 Power Terminal=TA3 Strom Terminal + +### power_terminal2.lua ### +### power_terminal.lua ### + Network Data=Netzwerkdaten ### power_terminal2.lua ### +### terminal.lua ### -Accu Box=Akkublock -Current power:=Strom aktuell: -Energy storage=Engergiespeicher -Energy stored:=Energie gespeichert -Fuel cell=Brennstoffzelle -Generators=Generatoren -Intake=Stromaufnahme -Max. needed power=Max. benötigter Strom -Maximum power:=Maximalstrom: -No power grid or running generator!=Kein Stromnetz oder Generator verfügbar! -Number blocks:=Anzahl Blöcke: -Number of power grid blocks=Anzahl der Stromnetz Blöcke -Output=Stromabgabe -Power grid total=Stromnetz gesammt -Power station=Kraftwerk -Probably too many consumers (=Vermutlich zu viele Verbraucher ( -Select type=Wähle Typ -Solar system=Solaranlage -Storage systems=Speichersysteme -TA2 Generator=TA2 Generator -TA3 Power Terminal=TA3 Strom Terminal -Tiny generator=Kleingenerator -To many blocks in the power grid!=Zu viele Blöcke im Stromnetz! -Type=Typ -Wind turbine=Windkraftanlage -ku is needed=ku wird benötigt +Enter=Eingeben ### powerswitch.lua ### @@ -764,15 +734,14 @@ TA Power Switch Box=TA Stromschalterbox ### programmer.lua ### -TechAge Programmer (right @= read number, left @= write numbers)=TechAge Programmer (rechts @= lese Nummer, links @= schreibe Nummern) - -[TechAge Programmer] Error: invalid numbers!=[TechAge Programmer] Fehler: ungültige Nummern! -[TechAge Programmer] Error: programmer not supported!=[TechAge Programmer] Fehler: Programmer wird nicht unterstützt! +[TechAge Programmer] programmer reset=[TechAge Programmer] Programmer zurück gesetzt +[TechAge Programmer] number=[TechAge Programmer] Nummer [TechAge Programmer] Unknown node on=[TechAge Programmer] Unbekannter Block bei [TechAge Programmer] foreign or unknown node!=[TechAge Programmer] Fremder oder unbekannter Block! [TechAge Programmer] node programmed!=[TechAge Programmer] Nummer(n) programmiert! -[TechAge Programmer] number=[TechAge Programmer] Nummer -[TechAge Programmer] programmer reset=[TechAge Programmer] Programmer zurück gesetzt +[TechAge Programmer] Error: invalid numbers!=[TechAge Programmer] Fehler: ungültige Nummern! +[TechAge Programmer] Error: programmer not supported!=[TechAge Programmer] Fehler: Programmer wird nicht unterstützt! +TechAge Programmer (right @= read number, left @= write numbers)=TechAge Programmer (rechts @= lese Nummer, links @= schreibe Nummern) ### protection.lua ### @@ -785,49 +754,42 @@ TA4 Pump=TA4 Pumpe ### pumpjack.lua ### -Oil Pumpjack=Ölpumpe -Oil amount=Ölmenge Pumpjack=Ölpumpe needs power=benötigt Strom +Oil amount=Ölmenge no oil=Kein Öl +Oil Pumpjack=Ölpumpe ### pusher.lua ### -Optionally configure@nthe pusher with one item=Der Schieber kann optional@nmit einem Gegenstand@nkonfiguriert werden Pusher=Schieber +Optionally configure@nthe pusher with one item=Der Schieber kann optional@nmit einem Gegenstand@nkonfiguriert werden ### quarry.lua ### -Digging depth=Grabungstiefe -Hole size=Lochgröße +Start level @= 0@nmeans the same level@nas the quarry is placed=Startebene @= 0@nbedeutet gleiche Ebene@nwie der Steinbrecher Quarry=Steinbrecher Start level=Startebene - -Start level @= 0@nmeans the same level@nas the quarry is placed=Startebene @= 0@nbedeutet gleiche Ebene@nwie der Steinbrecher - +Digging depth=Grabungstiefe +Hole size=Lochgröße area is protected=Bereich ist geschützt -finished=fertig inventory full=Inventar ist voll +finished=fertig ### reboiler.lua ### -TA3 Oil Reboiler=TA3 Aufkocher TA3 Oil Reboiler: blocked=TA3 Aufkocher: blockiert +TA3 Oil Reboiler=TA3 Aufkocher ### recipe_lib.lua ### Recipe=Rezept -### recipe_lib.lua ### -### ta4_reactor.lua ### - -Catalyst=Katalysator - ### recipes.lua ### -Flint and Iron=Flint and Iron TA1 Iron Ingot=TA1 Eisenbarren [Bucket] Lava can only be placed below sea level!=Lava kann nur unterhalb der Meerehöhe platziert werden! +Flint and Iron=Flint and Iron ### recycler.lua ### @@ -836,31 +798,45 @@ Recycler=Recycler ### redstone.lua ### Red Stone=Rotstein -Red Stone Block=Rotsteinblock Red Stone Brick=Rotsteinziegel +Red Stone Block=Rotsteinblock ### repairkit.lua ### +repaired=repariert Biome=Biom +Position temperature=Positionstemperatur Node owner=Blockbesitzer Position=Position -Position temperature=Positionstemperatur -TechAge Info Tool (use @= read status info)=TechAge Info Werkzeug TechAge Repair Kit=TechAge Reparaturset -repaired=repariert +TechAge Info Tool (use @= read status info)=TechAge Info Werkzeug + +### repairkit.lua ### +### meltingpot.lua ### + +Time=Zeit ### repeater.lua ### TA3 Repeater=TA3 Wiederholer +### repeater.lua ### +### chest.lua ### +### detector.lua ### +### button.lua ### +### doorcontroller.lua ### +### mesecons_converter.lua ### + +Save=Speichern + ### rotor.lua ### -Nacelle is missing=Die Gondel fehlt +TA4 Wind Turbine=TA4 Windkraftanlage Not suitable position!=Ungeeignete Position! +Nacelle is missing=Die Gondel fehlt +TA4 Wind Turbine Nacelle=TA4 Windkraftanlagengondel TA4 Carbon Fiber=TA4 Kohlefaser TA4 Rotor Blade=TA4 Rotorblatt -TA4 Wind Turbine=TA4 Windkraftanlage -TA4 Wind Turbine Nacelle=TA4 Windkraftanlagengondel ### sensorchest.lua ### @@ -876,8 +852,8 @@ stopped=gestoppt ### signallamp.lua ### TA4 Wind Turbine Signal Lamp=TA4 Windkraftanlagenlampe -TechAge Signal Lamp=TechAge Signallampe TechAge Signal Lamp (can be colored)=TechAge Signallampe (kann gefärbt werden) +TechAge Signal Lamp=TechAge Signallampe ### silicon.lua ### @@ -894,18 +870,18 @@ TA Lamp=TA Lampe ### solarcell.lua ### +TA4 Solar Module=TA4 Solarmodul +light=Licht TA4 Solar Carrier Module=TA4 Solar Trägermodul TA4 Solar Carrier Module B=TA4 Solar Trägermodul U TA4 Solar Carrier Module T=TA4 Solar Trägermodul O -TA4 Solar Module=TA4 Solarmodul -light=Licht ### source.lua ### -Axle Power Source=Achsenkraftquelle -Ele Power Source=Ele Kraftquelle Power Source=Stromquelle +Axle Power Source=Achsenkraftquelle Steam Power Source=Dampfenergiequelle +Ele Power Source=Ele Kraftquelle ### steam_pipe.lua ### @@ -922,36 +898,34 @@ TA Street Lamp=TA Straßenlampe ### streetlamp2.lua ### TA4 LED Street Lamp=TA4 LED Straßenlampe -TA4 LED Street Lamp Arm=TA4 LED Lampenarm TA4 LED Street Lamp Pole=TA4 LED Lampenmast +TA4 LED Street Lamp Arm=TA4 LED Lampenarm ### ta4_cable.lua ### -TA4 Low Power Box=TA4 Niederspannungsverteilerbox TA4 Low Power Cable=TA4 Niederspannungskabel +TA4 Low Power Box=TA4 Niederspannungsverteilerbox ### ta4_chest.lua ### -Empty the slots always @nfrom right to left=Speicherplätze von rechts nach links leeren - -Never completely empty the slots@nwith the pusher to keep the item assignment=Speicherplätze mit dem Schieber nie ganz@nleeren, um die Item-Zuordnung beizubehalten - -Size=Größe TA4 8x2000 Chest=TA4 8x2000 Kiste Unlock=Entsperren Unlock connected chest@nif all slots are below 2000=Nachfolgende Kiste entsperren,@nsofern alle Speicherplätze <= 2000 +Size=Größe keep assignment=Zuordnung beibehalten +Never completely empty the slots@nwith the pusher to keep the item assignment=Speicherplätze mit dem Schieber nie ganz@nleeren, um die Item-Zuordnung beizubehalten right to left=von rechts nach links +Empty the slots always @nfrom right to left=Speicherplätze von rechts nach links leeren ### ta4_doser.lua ### Doser=Dosierer -TA4 Doser=TA4 Dosierer -catalyst missing=Katalysator fehlt reactor defect=Reaktor defekt reactor defect or no power=Reaktor defekt oder kein Strom -reactor has no power=Reaktor hat keinen Strom +catalyst missing=Katalysator fehlt wrong catalyst=falscher Katalysator +reactor has no power=Reaktor hat keinen Strom +TA4 Doser=TA4 Dosierer ### ta4_doser.lua ### ### ta4_reactor.lua ### @@ -960,11 +934,9 @@ TA4 Reactor=TA4 Reaktor ### ta4_injector.lua ### -Configure up to 8 items @nto be pushed by the injector=Konfiguriere bis zu 8 Gegenstände \n die vom Injektor weitergegeben werden sollen -Injector=Injektor - Switch to pull mode @nto pull items out of inventory slots @naccording the injector configuration=Wechsle in den "Ziehe-Modus",@num Items gemäß der Injektor-Konfiguration@naus einem Inventar zu ziehen - +Injector=Injektor +Configure up to 8 items @nto be pushed by the injector=Konfiguriere bis zu 8 Gegenstände \n die vom Injektor weitergegeben werden sollen pull mode= Ziehe-Modus ### ta4_liquid_filter.lua ### @@ -976,12 +948,17 @@ TA4 Liquid Filter Sink=TA4 Flüssigkeitsfilter Abfluss TA4 Reactor Filler Pipe=TA4 Reaktor Einfüllstutzen +### ta4_reactor.lua ### +### recipe_lib.lua ### + +Catalyst=Katalysator + ### ta4_stand.lua ### -TA4 Reactor Base=TA4 Reaktor Sockel +on=an TA4 Reactor Stand=TA4 Reaktor Ständer off=aus -on=an +TA4 Reactor Base=TA4 Reaktor Sockel ### ta4_stand.lua ### ### waterpump.lua ### @@ -990,8 +967,8 @@ no power=kein Strom ### tank.lua ### -Oil Tank=Öltank TA3 Tank=TA3 Tank +Oil Tank=Öltank TA4 Tank=TA4 Tank ### tank_cart.lua ### @@ -1000,10 +977,9 @@ TA Tank Cart=TA Tankwagen ### terminal.lua ### -Enter=Eingeben -Switched to private use!=Zur privaten Nutzung umgeschaltet -Switched to public use!=Zur öffentlichen Nutzung umgeschaltet Syntax error, try help=Syntax Fehler, nutze help +Switched to public use!=Zur öffentlichen Nutzung umgeschaltet +Switched to private use!=Zur privaten Nutzung umgeschaltet TA3 Terminal=TA3 Terminal commands like: help=Kommandos wie: help @@ -1013,15 +989,15 @@ TA3 Timer=TA3 Timer ### tiny_generator.lua ### -TA3 Tiny Power Generator=TA3 Kleiner Stromgenerator Tiny Generator=Kleingenerator no fuel=kein Kraftstoff +TA3 Tiny Power Generator=TA3 Kleiner Stromgenerator ### tower.lua ### TA3 Derrick=TA3 Bohrturm -TA3 Drill Pipe=TA3 Bohrgestänge TA4 Derrick=TA4 Bohrturm +TA3 Drill Pipe=TA3 Bohrgestänge [TA] Derrick is being built!=[TA] Bohrturm wird errichtet [TA] Derrick is being removed!=[TA] Bohrturm wird abgebaut @@ -1036,8 +1012,8 @@ Tube Wall Entry=Tube Wanddurchbruch ### turbine.lua ### -TA3 Turbine=TA3 Turbine TA4 Turbine=TA4 Turbine +TA3 Turbine=TA3 Turbine ### usmium.lua ### @@ -1046,32 +1022,35 @@ Usmium Powder=Usmium Pulver ### valve.lua ### -TA Valve=TA Ventil TA3 Valve closed=TA3 Ventil zu TA3 Valve open=TA3 Ventil offen +TA Valve=TA Ventil ### waterinlet.lua ### -Error: No natural water!=Fehler: Kein natürliches Wasser! -Error: No water available!=Fehler: Kein Wasser verfügbar! Error: Not on sea level!=Fehler: Nicht auf Meereshöhe! +Error: No water available!=Fehler: Kein Wasser verfügbar! +Error: No natural water!=Fehler: Kein natürliches Wasser! TA4 Water Inlet=TA4 Wasssereinlass ### waterpump.lua ### -TA4 Water Pump=Wasserpumpe Water Pump=Wasserpumpe +TA4 Water Pump=Wasserpumpe + +### waterpump.lua ### +### liquidsampler.lua ### + +no usable water=Kein brauchbares Wasser ### windturbine_lib.lua ### -Here is not enough water (41x41 m)!=Hier ist nicht genug Wasser (41x41 m)! - -Here is not enough wind (A free air space of 41x41x21 m is necessary)!=Hier ist nicht genug Wind (Ein freier Luftraum von 41x41x21 m ist notwendig)! - -The next wind turbines is too close!= Die nächste Windkraftanlagen iat zu nahe! -This is a=Dies ist ein -This is no ocean water!= Dies ist kein Meerwasser! -This is not the surface of the ocean!=Das ist nicht die Meeresoberfläche! [TA4 Wind Turbine]=[TA4 Windkraftanlage] +This is not the surface of the ocean!=Das ist nicht die Meeresoberfläche! +This is no ocean water!= Dies ist kein Meerwasser! +This is a=Dies ist ein biome and no ocean!=Biom und keine Meer (ocean)! +Here is not enough wind (A free air space of 41x41x21 m is necessary)!=Hier ist nicht genug Wind (Ein freier Luftraum von 41x41x21 m ist notwendig)! +Here is not enough water (41x41 m)!=Hier ist nicht genug Wasser (41x41 m)! +The next wind turbines is too close!= Die nächste Windkraftanlagen iat zu nahe! is a suitable place for a wind turbine!=ist ein geeigneter Ort für eine Windkraftanlage! diff --git a/locale/template.txt b/locale/template.txt index dc26867..2eb6c9d 100644 --- a/locale/template.txt +++ b/locale/template.txt @@ -4,37 +4,17 @@ ### akkubox.lua ### -TA3 Accu Box= TA3 Akku Box= - -### akkubox.lua ### -### battery.lua ### - -Load= - -### akkubox.lua ### -### electrolyzer.lua ### -### fuelcell.lua ### -### generator.lua ### -### heatexchanger2.lua ### -### tiny_generator.lua ### - -Electricity= +TA3 Accu Box= ### aluminium.lua ### -Aluminum= Gibbsite Powder= +Aluminum= Red Mud= Red Mud Barrel= Red Mud Canister= -### assemble.lua ### -### firebox_lib.lua ### - -[TA] Area is protected!= -[TA] Not enough space!= - ### autocrafter.lua ### Autocrafter= @@ -42,54 +22,57 @@ Autocrafter= ### axle2power.lua ### TA2 Power Generator= - TA2 Power Generator: Overload fault?@n(restart with right-click)= - ### baborium.lua ### -Baborium Ingot= -Baborium Lump= Baborium Ore= +Baborium Lump= +Baborium Ingot= ### barrel.lua ### -Gas Cylinder Large= -Gas Cylinder Small= -River Water Barrel= -TA Empty Barrel= -TA3 Canister= Water= Water Barrel= +River Water Barrel= empty= +TA Empty Barrel= +TA3 Canister= +Gas Cylinder Small= +Gas Cylinder Large= ### basalt.lua ### +Basalt Stone= Basalt Cobble= +Basalt Stone Brick= +Basalt Stone Block= +Basalt Gravel= +Sieved Basalt Gravel= Basalt Glass= Basalt Glass 2= Basalt Glass Thin= Basalt Glass Thin 2= Basalt Glass Thin XL= Basalt Glass Thin XL 2= -Basalt Gravel= -Basalt Stone= -Basalt Stone Block= -Basalt Stone Brick= -Sieved Basalt Gravel= ### battery.lua ### -Battery= -Coal Equivalents= Digtron Battery= +Coal Equivalents= +Battery= + +### battery.lua ### +### akkubox.lua ### + +Load= ### bauxit.lua ### +Bauxite Stone= Bauxite Cobblestone= Bauxite Gravel= Bauxite Powder= -Bauxite Stone= ### blackhole.lua ### @@ -98,8 +81,8 @@ TechAge Black Hole (let items and liquids disappear)= ### boiler.lua ### -TA2 Boiler Base= TA2 Boiler Top= +TA2 Boiler Base= ### boiler_base.lua ### @@ -107,8 +90,8 @@ TA3 Boiler Base= ### boiler_lib.lua ### -To add water punch@nthe boiler@nwith a water bucket= Water Boiler= +To add water punch@nthe boiler@nwith a water bucket= water temperature= ### boiler_top.lua ### @@ -124,40 +107,10 @@ TA3 Booster= TA3 Button/Switch= TA4 Button/Switch= -### button.lua ### -### cart_detector.lua ### -### detector.lua ### -### lua_logic.lua ### -### mesecons_converter.lua ### -### node_detector.lua ### -### player_detector.lua ### -### repeater.lua ### - -Insert destination node number(s)= - -### button.lua ### -### chest.lua ### -### detector.lua ### -### doorcontroller.lua ### -### mesecons_converter.lua ### -### repeater.lua ### - -Save= - ### cart_detector.lua ### TA3 Cart Detector= -### cart_detector.lua ### -### node_detector.lua ### - -accept= - -### cart_detector.lua ### -### player_detector.lua ### - -TA3 Player Detector= - ### ceilinglamp.lua ### TA Ceiling Lamp= @@ -174,11 +127,11 @@ TA1 Charcoal= ### chest.lua ### -Allow public access to the chest= -Inventory,Pre-Assignment,Config= -Node label:= TA2 Protected Chest= TA3 Protected Chest= +Inventory,Pre-Assignment,Config= +Node label:= +Allow public access to the chest= TA4 Protected Chest= ### chest_cart.lua ### @@ -191,8 +144,8 @@ Ash= ### collector.lua ### -Node number to send the events to= Node numbers to read the states from= +Node number to send the events to= Send an event if state is equal or larger than= TA4 State Collector= @@ -215,25 +168,25 @@ TA4 Detector= ### display.lua ### -Display no: = TA4 Display= +Display no: = TA4 Display XL= ### distiller.lua ### +TA3 Distillation Tower Base= TA3 Distillation Tower 1= TA3 Distillation Tower 2= TA3 Distillation Tower 3= TA3 Distillation Tower 4= -TA3 Distillation Tower Base= ### distributor.lua ### +blocking mode= Block configured items for open ports= +Input= Distributor= High Performance Distributor= -Input= -blocking mode= ### doorblock.lua ### @@ -246,29 +199,29 @@ TA3 Door Controller= ### doorcontroller2.lua ### +Ctrl,Inv= +Record= +Done= +Set= +Remove= +with door sound= +TA3 Door Controller II= +Recording...= +Click on all the blocks that are part of the door/gate= +block positions are stored.= Blocks are back= Blocks are disappeared= -Click on all the blocks that are part of the door/gate= -Ctrl,Inv= -Done= -Record= -Recording...= -Remove= -Set= -TA3 Door Controller II= -block positions are stored.= -with door sound= ### drillbox.lua ### Build derrick= -Depth= Drill Bit= -Drill area is protected= -Drill bits missing= -Oil Drill Box= +Depth= Remove derrick= +Drill bits missing= +Drill area is protected= item output blocked= +Oil Drill Box= ### drive_axle.lua ### @@ -291,10 +244,10 @@ Electrolyzer= ### electronic.lua ### TA3 Vacuum Tube= -TA4 LEDs= -TA4 RAM Chip= TA4 WLAN Chip= WLAN Chip= +TA4 RAM Chip= +TA4 LEDs= ### electronic_fab.lua ### @@ -311,10 +264,10 @@ Epoxide Resin Canister= ### explore.lua ### -Oil= -TA3 Oil Explorer= -TA3 Oil Storage= depth= +Oil= +TA3 Oil Storage= +TA3 Oil Explorer= ### filler.lua ### @@ -324,42 +277,40 @@ TA Liquid Filler= ### firebox.lua ### TA2 Firebox= -TA3 Coal Power Station Firebox= TA3 Furnace Oil Burner= TA3 Power Station Firebox= +TA3 Coal Power Station Firebox= ### firebox_lib.lua ### Firebox= +### firebox_lib.lua ### +### assemble.lua ### + +[TA] Area is protected!= +[TA] Not enough space!= + ### flywheel.lua ### Flywheel= TA2 Flywheel= -### flywheel.lua ### -### generator.lua ### -### solarcell.lua ### -### source.lua ### - -power= - ### forceload.lua ### -Area already loaded or max. number of Forceload Blocks reached!= - List of your Forceload Blocks:= -Priv missing= +loaded= Punch the block to make the area visible.= -Show all forceload blocks in a 64x64x64 range= +Area already loaded or max. number of Forceload Blocks reached!= Techage Forceload Block= Techage Forceload Tile= -loaded= +Show all forceload blocks in a 64x64x64 range= +Priv missing= ### fuel_lib.lua ### -Fuel Menu= To add fuel punch@nthis block@nwith a fuel container= +Fuel Menu= ### fuelcell.lua ### @@ -372,9 +323,9 @@ TA4 Fuel Cell Stack= ### furnace_top.lua ### -Furnace Top= Outp= no fuel or no power= +Furnace Top= ### gateblock.lua ### @@ -387,9 +338,25 @@ TA2 Gearbox= ### generator.lua ### Generator= -TA3 Generator= -TA4 Generator= storage empty?= +TA4 Generator= +TA3 Generator= + +### generator.lua ### +### akkubox.lua ### +### tiny_generator.lua ### +### fuelcell.lua ### +### electrolyzer.lua ### +### heatexchanger2.lua ### + +Electricity= + +### generator.lua ### +### source.lua ### +### solarcell.lua ### +### flywheel.lua ### + +power= ### gravelrinser.lua ### @@ -398,10 +365,10 @@ Rinsing= ### gravelsieve.lua ### +TA1 Gravel Sieve= +Sieved Gravel= Compressed Gravel= Gravel Sieve= -Sieved Gravel= -TA1 Gravel Sieve= TA2 Gravel Sieve= TA3 Gravel Sieve= TA4 Gravel Sieve= @@ -418,18 +385,18 @@ TA4 LED Grow Light= ### guide.lua ### No plan available= -Plan= -Side view= Top view= +Side view= +Plan= ### hammer.lua ### +TA1 Stone Hammer (smash stone to gravel)= TA1 Bronze Hammer (smash stone to gravel)= +TA1 Steel Hammer (smash stone to gravel)= +TA1 Mese Hammer (smash stone to gravel)= TA1 Diamond Hammer (smash stone to gravel)= TA1 Meridium Hammer (smash stone to gravel)= -TA1 Mese Hammer (smash stone to gravel)= -TA1 Steel Hammer (smash stone to gravel)= -TA1 Stone Hammer (smash stone to gravel)= ### heater.lua ### @@ -438,20 +405,20 @@ TA4 Furnace Heater= ### heatexchanger1.lua ### TA4 Heat Exchanger 1= -inlet/pipe error= wrong storage diameter= - -### heatexchanger1.lua ### -### heatexchanger2.lua ### - -did you check the plan?= +inlet/pipe error= ### heatexchanger2.lua ### Heat Exchanger= +Thermal= TA4 Heat Exchanger= TA4 Heat Exchanger 2= -Thermal= + +### heatexchanger2.lua ### +### heatexchanger1.lua ### + +did you check the plan?= ### heatexchanger3.lua ### @@ -459,9 +426,9 @@ TA4 Heat Exchanger 3= ### hydrogen.lua ### -Hydrogen Cylinder Large= -Hydrogen Cylinder Small= TA4 Hydrogen= +Hydrogen Cylinder Small= +Hydrogen Cylinder Large= ### industriallamp1.lua ### @@ -486,8 +453,8 @@ TA4 Pipe Inlet= ### inverter.lua ### Inverter= -Power AC= Power DC= +Power AC= TA4 Solar Inverter= ### junctionbox.lua ### @@ -496,20 +463,20 @@ TA Electric Junction Box= ### lampholder.lua ### +TA Lamp Holder White= +TA Lamp Holder Aspen= TA Lamp Holder Acacia= TA Lamp Holder Apple= -TA Lamp Holder Aspen= TA Lamp Holder Copper= TA Lamp Holder Gold= -TA Lamp Holder White= ### laser.lua ### -Laser beam error!= TA4 Laser Beam Emitter= -TA4 Laser Beam Receiver= Valid destination positions:= to= +Laser beam error!= +TA4 Laser Beam Receiver= ### lib.lua ### ### sensorchest.lua ### @@ -522,61 +489,47 @@ TA1 Lighter= ### liquid_lib.lua ### -Allow public access to the tank= -Liquid Tank= To add liquids punch@nthe tank@nwith a liquid container= +Liquid Tank= +Allow public access to the tank= ### liquid_pipe.lua ### -TA Junction Pipe= TA Pipe= +TA Junction Pipe= ### liquidsampler.lua ### Liquid Sampler= -### liquidsampler.lua ### -### waterpump.lua ### - -no usable water= - ### logic_block.lua ### -'me' has to be used for the own block number.@n= -'~@=' means: not equal@n= - -@n is a boolean expression@nwhere input numbers are evaluated.@n= - -@n is the block number to which the@ncommand should be sent.@n= - -@nAll rules are checked with each received@ncommand.= - -@nExamples:@n1234 @=@= on@n1234 @=@= off@n1234 @=@= on and 2345 @=@= off@n2345 ~@= 3456@n= - +Send an 'on'/'off' command if the@nexpression becomes true.@n= @nRule:@n @= on/off if is true@n= -@nThe internal processing time for all@ncommands is 100 ms.= - +@n is the block number to which the@ncommand should be sent.@n= +@n is a boolean expression@nwhere input numbers are evaluated.@n= +@nExamples:@n1234 @=@= on@n1234 @=@= off@n1234 @=@= on and 2345 @=@= off@n2345 ~@= 3456@n= @nValid operators:@nand or on off me @=@= ~@= ( )@n= - -Blocking Time= +'~@=' means: not equal@n= +'me' has to be used for the own block number.@n= +@nAll rules are checked with each received@ncommand.= +@nThe internal processing time for all@ncommands is 100 ms.= +Rules= Help= +Blocking Time= Inputs= Outputs= -Rules= - -Send an 'on'/'off' command if the@nexpression becomes true.@n= - Syntax= ### logic_block.lua ### ### lua_logic.lua ### -TA3 Logic Block= Update= +TA3 Logic Block= ### logic_block.lua ### -### lua_logic.lua ### ### power_terminal2.lua ### +### lua_logic.lua ### Store= @@ -588,27 +541,22 @@ Lye Canister= ### meltingpot.lua ### -Heat= +Menu,Recipes= +Menu= Melting Guide= +Heat= Melting Pot active (heat@== Melting Pot inactive (heat@== -Melting Pot inactive (heat@=0)= -Menu= -Menu,Recipes= -TA1 Burning= -TA1 Melting= TA1 Melting Pot= - -### meltingpot.lua ### -### repairkit.lua ### - -Time= +Melting Pot inactive (heat@=0)= +TA1 Melting= +TA1 Burning= ### meridium.lua ### -Meridium Axe= Meridium Pickaxe= Meridium Shovel= +Meridium Axe= Meridium Sword= ### mesecons_converter.lua ### @@ -621,11 +569,27 @@ TA4 Streetlamp Solar Cell= ### node_detector.lua ### +added= +removed= +added or removed= Send signal if nodes have been:= TA3 Node Detector= -added= -added or removed= -removed= + +### node_detector.lua ### +### cart_detector.lua ### + +accept= + +### node_detector.lua ### +### player_detector.lua ### +### repeater.lua ### +### lua_logic.lua ### +### detector.lua ### +### button.lua ### +### cart_detector.lua ### +### mesecons_converter.lua ### + +Insert destination node number(s)= ### nodes.lua ### @@ -633,8 +597,8 @@ TechAge Gravel= ### oil.lua ### -Flowing Oil= Oil Source= +Flowing Oil= TA3 Oil Barrel= TA3 Oil Canister= @@ -644,21 +608,21 @@ TA3 Power Station Oil Burner= ### petroleum.lua ### -Propane Cylinder Large= -Propane Cylinder Small= TA3 Bitumen= -TA3 Bitumen Barrel= -TA3 Bitumen Canister= TA3 Fuel Oil= -TA3 Fuel Oil Barrel= -TA3 Fuel Oil Canister= -TA3 Gasoline= -TA3 Gasoline Barrel= -TA3 Gasoline Canister= TA3 Naphtha= -TA3 Naphtha Barrel= -TA3 Naphtha Canister= +TA3 Gasoline= TA3 Propane= +Propane Cylinder Small= +Propane Cylinder Large= +TA3 Bitumen Barrel= +TA3 Fuel Oil Barrel= +TA3 Naphtha Barrel= +TA3 Gasoline Barrel= +TA3 Bitumen Canister= +TA3 Fuel Oil Canister= +TA3 Naphtha Canister= +TA3 Gasoline Canister= ### pillar.lua ### @@ -680,78 +644,84 @@ Plastic Granules= TA4 Player Detector= +### player_detector.lua ### +### cart_detector.lua ### + +TA3 Player Detector= + ### powder.lua ### -Iron Powder= Leave Powder= Needle Powder= +Iron Powder= ### power2axle.lua ### TA3 Electric Motor= - TA3 Electric Motor: Overload fault?@n(restart with right-click)= - ### power_line.lua ### TA Power Line= -TA Power Pole= -TA Power Pole Top (for up to 6 connections)= TA Power Pole Top 2 (for landlines)= +TA Power Pole Top (for up to 6 connections)= +TA Power Pole= ### power_terminal.lua ### -Active:= -All nodes:= -Consum. 1= -Consum. 2= -Genera. 1= -Genera. 2= -In use:= -No network or active generator available!= Number of all nodes= -TA3 Power Terminal Old= +No network or active generator available!= +With %u of a maximum of %u blocks you are almost at the limit!= The network is overloaded!= The network load is almost at the limit!= +Genera. 1= +Genera. 2= +Consum. 2= +Consum. 1= +All nodes:= Turned on:= +Active:= +In use:= +TA3 Power Terminal Old= -With %u of a maximum of %u blocks you are almost at the limit!= - - -### power_terminal.lua ### ### power_terminal2.lua ### +Power station= +Tiny generator= +Solar system= +Wind turbine= +Accu Box= +Energy storage= +Fuel cell= +TA2 Generator= +No power grid or running generator!= +Probably too many consumers (= +ku is needed= +Number of power grid blocks= +Max. needed power= +To many blocks in the power grid!= +Select type= +Type= +Output= +Intake= +Number blocks:= +Maximum power:= +Current power:= +Energy stored:= +Power grid total= +Generators= +Storage systems= +TA3 Power Terminal= + +### power_terminal2.lua ### +### power_terminal.lua ### + Network Data= ### power_terminal2.lua ### +### terminal.lua ### -Accu Box= -Current power:= -Energy storage= -Energy stored:= -Fuel cell= -Generators= -Intake= -Max. needed power= -Maximum power:= -No power grid or running generator!= -Number blocks:= -Number of power grid blocks= -Output= -Power grid total= -Power station= -Probably too many consumers (= -Select type= -Solar system= -Storage systems= -TA2 Generator= -TA3 Power Terminal= -Tiny generator= -To many blocks in the power grid!= -Type= -Wind turbine= -ku is needed= +Enter= ### powerswitch.lua ### @@ -764,15 +734,14 @@ TA Power Switch Box= ### programmer.lua ### -TechAge Programmer (right @= read number, left @= write numbers)= - -[TechAge Programmer] Error: invalid numbers!= -[TechAge Programmer] Error: programmer not supported!= +[TechAge Programmer] programmer reset= +[TechAge Programmer] number= [TechAge Programmer] Unknown node on= [TechAge Programmer] foreign or unknown node!= [TechAge Programmer] node programmed!= -[TechAge Programmer] number= -[TechAge Programmer] programmer reset= +[TechAge Programmer] Error: invalid numbers!= +[TechAge Programmer] Error: programmer not supported!= +TechAge Programmer (right @= read number, left @= write numbers)= ### protection.lua ### @@ -785,49 +754,42 @@ TA4 Pump= ### pumpjack.lua ### -Oil Pumpjack= -Oil amount= Pumpjack= needs power= +Oil amount= no oil= +Oil Pumpjack= ### pusher.lua ### -Optionally configure@nthe pusher with one item= Pusher= +Optionally configure@nthe pusher with one item= ### quarry.lua ### -Digging depth= -Hole size= +Start level @= 0@nmeans the same level@nas the quarry is placed= Quarry= Start level= - -Start level @= 0@nmeans the same level@nas the quarry is placed= - +Digging depth= +Hole size= area is protected= -finished= inventory full= +finished= ### reboiler.lua ### -TA3 Oil Reboiler= TA3 Oil Reboiler: blocked= +TA3 Oil Reboiler= ### recipe_lib.lua ### Recipe= -### recipe_lib.lua ### -### ta4_reactor.lua ### - -Catalyst= - ### recipes.lua ### -Flint and Iron= TA1 Iron Ingot= [Bucket] Lava can only be placed below sea level!= +Flint and Iron= ### recycler.lua ### @@ -836,31 +798,45 @@ Recycler= ### redstone.lua ### Red Stone= -Red Stone Block= Red Stone Brick= +Red Stone Block= ### repairkit.lua ### +repaired= Biome= +Position temperature= Node owner= Position= -Position temperature= -TechAge Info Tool (use @= read status info)= TechAge Repair Kit= -repaired= +TechAge Info Tool (use @= read status info)= + +### repairkit.lua ### +### meltingpot.lua ### + +Time= ### repeater.lua ### TA3 Repeater= +### repeater.lua ### +### chest.lua ### +### detector.lua ### +### button.lua ### +### doorcontroller.lua ### +### mesecons_converter.lua ### + +Save= + ### rotor.lua ### -Nacelle is missing= +TA4 Wind Turbine= Not suitable position!= +Nacelle is missing= +TA4 Wind Turbine Nacelle= TA4 Carbon Fiber= TA4 Rotor Blade= -TA4 Wind Turbine= -TA4 Wind Turbine Nacelle= ### sensorchest.lua ### @@ -876,8 +852,8 @@ stopped= ### signallamp.lua ### TA4 Wind Turbine Signal Lamp= -TechAge Signal Lamp= TechAge Signal Lamp (can be colored)= +TechAge Signal Lamp= ### silicon.lua ### @@ -894,18 +870,18 @@ TA Lamp= ### solarcell.lua ### +TA4 Solar Module= +light= TA4 Solar Carrier Module= TA4 Solar Carrier Module B= TA4 Solar Carrier Module T= -TA4 Solar Module= -light= ### source.lua ### -Axle Power Source= -Ele Power Source= Power Source= +Axle Power Source= Steam Power Source= +Ele Power Source= ### steam_pipe.lua ### @@ -922,36 +898,34 @@ TA Street Lamp= ### streetlamp2.lua ### TA4 LED Street Lamp= -TA4 LED Street Lamp Arm= TA4 LED Street Lamp Pole= +TA4 LED Street Lamp Arm= ### ta4_cable.lua ### -TA4 Low Power Box= TA4 Low Power Cable= +TA4 Low Power Box= ### ta4_chest.lua ### -Empty the slots always @nfrom right to left= - -Never completely empty the slots@nwith the pusher to keep the item assignment= - -Size= TA4 8x2000 Chest= Unlock= Unlock connected chest@nif all slots are below 2000= +Size= keep assignment= +Never completely empty the slots@nwith the pusher to keep the item assignment= right to left= +Empty the slots always @nfrom right to left= ### ta4_doser.lua ### Doser= -TA4 Doser= -catalyst missing= reactor defect= reactor defect or no power= -reactor has no power= +catalyst missing= wrong catalyst= +reactor has no power= +TA4 Doser= ### ta4_doser.lua ### ### ta4_reactor.lua ### @@ -960,11 +934,9 @@ TA4 Reactor= ### ta4_injector.lua ### -Configure up to 8 items @nto be pushed by the injector= -Injector= - Switch to pull mode @nto pull items out of inventory slots @naccording the injector configuration= - +Injector= +Configure up to 8 items @nto be pushed by the injector= pull mode= ### ta4_liquid_filter.lua ### @@ -976,12 +948,17 @@ TA4 Liquid Filter Sink= TA4 Reactor Filler Pipe= +### ta4_reactor.lua ### +### recipe_lib.lua ### + +Catalyst= + ### ta4_stand.lua ### -TA4 Reactor Base= +on= TA4 Reactor Stand= off= -on= +TA4 Reactor Base= ### ta4_stand.lua ### ### waterpump.lua ### @@ -990,8 +967,8 @@ no power= ### tank.lua ### -Oil Tank= TA3 Tank= +Oil Tank= TA4 Tank= ### tank_cart.lua ### @@ -1000,10 +977,9 @@ TA Tank Cart= ### terminal.lua ### -Enter= -Switched to private use!= -Switched to public use!= Syntax error, try help= +Switched to public use!= +Switched to private use!= TA3 Terminal= commands like: help= @@ -1013,15 +989,15 @@ TA3 Timer= ### tiny_generator.lua ### -TA3 Tiny Power Generator= Tiny Generator= no fuel= +TA3 Tiny Power Generator= ### tower.lua ### TA3 Derrick= -TA3 Drill Pipe= TA4 Derrick= +TA3 Drill Pipe= [TA] Derrick is being built!= [TA] Derrick is being removed!= @@ -1036,8 +1012,8 @@ Tube Wall Entry= ### turbine.lua ### -TA3 Turbine= TA4 Turbine= +TA3 Turbine= ### usmium.lua ### @@ -1046,32 +1022,35 @@ Usmium Powder= ### valve.lua ### -TA Valve= TA3 Valve closed= TA3 Valve open= +TA Valve= ### waterinlet.lua ### -Error: No natural water!= -Error: No water available!= Error: Not on sea level!= +Error: No water available!= +Error: No natural water!= TA4 Water Inlet= ### waterpump.lua ### -TA4 Water Pump= Water Pump= +TA4 Water Pump= + +### waterpump.lua ### +### liquidsampler.lua ### + +no usable water= ### windturbine_lib.lua ### -Here is not enough water (41x41 m)!= - -Here is not enough wind (A free air space of 41x41x21 m is necessary)!= - -The next wind turbines is too close!= -This is a= -This is no ocean water!= -This is not the surface of the ocean!= [TA4 Wind Turbine]= +This is not the surface of the ocean!= +This is no ocean water!= +This is a= biome and no ocean!= +Here is not enough wind (A free air space of 41x41x21 m is necessary)!= +Here is not enough water (41x41 m)!= +The next wind turbines is too close!= is a suitable place for a wind turbine!= diff --git a/manuals/manual_ta4_DE.md b/manuals/manual_ta4_DE.md index b5699e4..85a28ff 100644 --- a/manuals/manual_ta4_DE.md +++ b/manuals/manual_ta4_DE.md @@ -151,7 +151,7 @@ Damit das Wärmespeichersystem funktioniert, müssen alle Blöcke (auch Betonhü ### TA4 Wärmetauscher / Heat Exchanger Der Wärmetauscher besteht aus 3 Teilen, die aufeinander gesetzt werden müssen, wobei der Pfeil des ersten Blockes Richtung Turbine zeigen muss. Die Rohrleitungen müssen mit den gelben TA4 Röhren aufgebaut werden. -Der Wärmetauscher muss am Stromnetz angeschlossen werden. Der Wärmetauscher kann 60 ku aufnehmen. +Der Wärmetauscher muss am Stromnetz angeschlossen werden. Der Wärmetauscher lädt den Energiespeicher wieder auf, wenn ausreichend Strom zur Verfügung steht und der Energiespeicher weniger als 95 % geladen ist. Der Wärmetauscher nimmt dabei 60 ku auf. [ta4_heatexchanger|image] @@ -666,7 +666,7 @@ Die Verarbeitungsleistung beträgt bis zu 8 mal vier Items alle 4 Sekunden. ### TA4 Recycler Der Recycler ist eine Maschine, die alle Techage Rezepte rückwärts abarbeitet, also Maschinen und Blöcke wieder in die Bestandteile zerlegen kann. Die Maschine kann so ziemlich alle Techage und Hyperloop Blöcke zerlegen. -Aber nicht alle Materialen lassen sich recyclen: +Aber nicht alle Zutaten/Materialien der Rezepte lassen sich recyclen: - Holz wird zu Sticks - Stein wird zu Sand oder Kies @@ -687,4 +687,4 @@ Ist die Verbindung aufgebaut (es muss dazu noch kein Strom fließen), wird dies Die Laserblöcke selbst benötigen keinen Strom. -[ta4_laser|image] \ No newline at end of file +[ta4_laser|image]t \ No newline at end of file diff --git a/manuals/manual_ta4_EN.md b/manuals/manual_ta4_EN.md index 99e4be5..2ae9546 100644 --- a/manuals/manual_ta4_EN.md +++ b/manuals/manual_ta4_EN.md @@ -151,7 +151,7 @@ In order for the heat storage system to work, all blocks (also the concrete shel ### TA4 Heat Exchanger The heat exchanger consists of 3 parts that must be placed on top of each other, with the arrow of the first block pointing towards the turbine. The pipes must be built with the yellow TA4 pipes. -The heat exchanger must be connected to the power grid. The heat exchanger can consume 60 ku. +The heat exchanger must be connected to the power grid. The heat exchanger charges the energy store again when sufficient electricity is available and the energy storage is less than 95% charged. The heat exchanger takes up 60 ku. [ta4_heatexchanger|image] @@ -668,7 +668,7 @@ The processing power is up to 8 times four items every 4 seconds. The recycler is a machine that processes all Techage recipes backwards, i.e. it can dismantle machines and blocks back into their components. -The machine can disassemble pretty much any Techage and Hyperloop blocks. But not all materials can be recycled: +The machine can disassemble pretty much any Techage and Hyperloop blocks. But not all recipe items/materials can be recycled: - Wood turns into sticks - Stone turns into sand or gravel diff --git a/oil/explore.lua b/oil/explore.lua index b854257..c4d4180 100644 --- a/oil/explore.lua +++ b/oil/explore.lua @@ -171,7 +171,7 @@ end local function marker(player_name, pos) local posC = {x = center(pos.x), y = pos.y, z = center(pos.z)} local pos1 = {x = posC.x - 2, y = posC.y - 2, z = posC.z - 2} - local pos2 = {x = posC.x + 2, y = posC.y + 5, z = posC.z + 2} + local pos2 = {x = posC.x + 2, y = posC.y + 7, z = posC.z + 2} techage.switch_region(player_name, pos1, pos2) end diff --git a/power/junction.lua b/power/junction.lua index 9da7fdb..3bafb5c 100644 --- a/power/junction.lua +++ b/power/junction.lua @@ -65,6 +65,7 @@ function techage.register_junction(name, size, boxes, tlib2, node, index) ndef.paramtype2 = "facedir" ndef.on_rotate = screwdriver.disallow ndef.paramtype = "light" + ndef.use_texture_alpha = "clip" ndef.sunlight_propagates = true ndef.is_ground_content = false ndef.drop = name..(index or "0") diff --git a/power/power_terminal2.lua b/power/power_terminal2.lua index 2c5d691..78db63e 100644 --- a/power/power_terminal2.lua +++ b/power/power_terminal2.lua @@ -28,6 +28,16 @@ local STOPPED = techage.power.STOPPED local NOPOWER = techage.power.NOPOWER local RUNNING = techage.power.RUNNING +local HELP = [[Commands +help print this text +cls clear screen +gen1 print all cat. 1 generators +gen2 print all cat. 2 generators +con2 print all cat. 2 consumers +num print number of network blocks +pow print provided and needed power]] + + local Generators = { S("Power station"), S("Tiny generator"), @@ -65,10 +75,16 @@ local GeneratorPerformances = { local Gentypes = table.concat(Generators, ",") local Gentype2Idx = {} local Gentype2Maxvalue = {} +local Gentype = {} for idx,name in ipairs(Generators) do Gentype2Idx[name] = idx Gentype2Maxvalue[name] = GeneratorPerformances[idx] + Gentype[GeneratorPerformances[idx]] = name +end + +local function short_node_name(nominal) + return Gentype[nominal or 1] or "unknown" end local function generator_data(gen_tbl, nominal) @@ -94,6 +110,40 @@ local function generator_data(gen_tbl, nominal) return pow_max, pow_curr, num_nodes end +local function get_generator_data(gen) + local nvm = techage.get_nvm(gen.pos) + local pow_max = 0 + local pow_curr = 0 + if nvm.ele1 and nvm.ele1.gstate and nvm.ele1.galive and nvm.ele1.given then + if nvm.ele1.gstate == RUNNING then + if nvm.ele1.curr_power and nvm.ele1.curr_power > 0 then + pow_max = nvm.ele1.curr_power + else + pow_max = gen.nominal + end + if nvm.ele1.galive > 0 and nvm.ele1.given > 0 then + pow_curr = nvm.ele1.given + end + end + end + return pow_curr, pow_max +end + +local function get_consumer_data(gen) + local nvm = techage.get_nvm(gen.pos) + local pow_max = 0 + local pow_curr = 0 + if nvm.ele1 and nvm.ele1.cstate and nvm.ele1.calive and nvm.ele1.taken then + if nvm.ele1.cstate == RUNNING then + pow_max = gen.nominal + if nvm.ele1.calive > 0 and nvm.ele1.taken > 0 then + pow_curr = nvm.ele1.taken + end + end + end + return pow_curr, pow_max +end + local function consumer_data(gen_tbl, nominal) local pow_max = 0 local pow_curr = 0 @@ -125,7 +175,7 @@ local function storage_load(gen_tbl, nominal) if gen.nominal == nominal then local ndef = techage.NodeDef[techage.get_node_lvm(gen.pos).name] if ndef and ndef.on_recv_message then - local resp = ndef.on_recv_message(gen.pos, "0", "load") + local resp, _ = ndef.on_recv_message(gen.pos, "0", "load") if type(resp) == "number" then load_curr = load_curr + resp num = num + 1 @@ -231,7 +281,7 @@ local function formspec_type(pos, nvm) "button[0,2.4;5,1;set;"..S("Store").."]" end -local function formspec(pos, nvm) +local function formspec1(pos, nvm) local gentype = nvm.gentype or S("Power station") local netw, gen1, gen2 = calc_network_data_type(pos, nvm, gentype) local _, sum1, sum2 = calc_network_data_total(pos, nvm) @@ -239,49 +289,181 @@ local function formspec(pos, nvm) local star = netw.prop == 1 and "*" or "" local state = get_state(netw) - return "size[9,7]".. + return "size[11,9]".. + "tabheader[0,0;tab;status,console;1;;true]".. default.gui_bg.. default.gui_bg_img.. default.gui_slots.. - "box[0,-0.1;8.8,0.5;#c6e8ff]".. - "label[3.5,-0.1;"..minetest.colorize( "#000000", S("Network Data")).."]".. - "label[8.5,-0.1;"..minetest.colorize( "#000000", star).."]".. + "box[0,-0.1;10.8,0.5;#c6e8ff]".. + "label[4.5,-0.1;"..minetest.colorize( "#000000", S("Network Data")).."]".. + "label[10.5,-0.1;"..minetest.colorize( "#000000", star).."]".. "style_type[button;bgcolor=#395c74]".. "button[0,0.7;3,1;config;"..S("Type").."]".. - "box[0,1.6;8.8,0.4;#c6e8ff]".. - "box[0,2.15;8.8,0.4;#395c74]".. - "box[0,2.65;8.8,0.4;#395c74]".. - "box[0,3.15;8.8,0.4;#395c74]".. - "box[0,3.65;8.8,0.4;#395c74]".. + "box[0,1.6;10.8,0.4;#c6e8ff]".. + "box[0,2.15;10.8,0.4;#395c74]".. + "box[0,2.65;10.8,0.4;#395c74]".. + "box[0,3.15;10.8,0.4;#395c74]".. + "box[0,3.65;10.8,0.4;#395c74]".. "label[0.1,1.55;"..minetest.colorize( "#000000", gentype).."]".. - "label[3.7,1.55;"..minetest.colorize( "#000000", S("Output")).."]".. - "label[6.2,1.55;"..minetest.colorize( "#000000", S("Intake")).."]".. + "label[5.7,1.55;"..minetest.colorize( "#000000", S("Output")).."]".. + "label[8.2,1.55;"..minetest.colorize( "#000000", S("Intake")).."]".. "label[0.1,2.1;"..S("Number blocks:").."]".. "label[0.1,2.6;"..S("Maximum power:").."]".. "label[0.1,3.1;"..S("Current power:").."]".. "label[0.1,3.6;"..S("Energy stored:").."]".. - column(3.7, 2.1, gen1).. - column(6.2, 2.1, gen2).. + column(5.7, 2.1, gen1).. + column(8.2, 2.1, gen2).. --"box[0,5.3;8.8,0.4;#c6e8ff]".. - "box[0,4.5;8.8,0.4;#c6e8ff]".. - "box[0,5.05;8.8,0.4;#395c74]".. - "box[0,5.55;8.8,0.4;#395c74]".. - "box[0,6.05;8.8,0.4;#395c74]".. + "box[0,4.5;10.8,0.4;#c6e8ff]".. + "box[0,5.05;10.8,0.4;#395c74]".. + "box[0,5.55;10.8,0.4;#395c74]".. + "box[0,6.05;10.8,0.4;#395c74]".. "label[0.1,4.45;"..minetest.colorize( "#000000", S("Power grid total")).."]".. - "label[3.7,4.45;"..minetest.colorize( "#000000", S("Generators")).."]".. - "label[6.2,4.45;"..minetest.colorize( "#000000", S("Storage systems")).."]".. + "label[5.7,4.45;"..minetest.colorize( "#000000", S("Generators")).."]".. + "label[8.2,4.45;"..minetest.colorize( "#000000", S("Storage systems")).."]".. "label[0.1,5.0;"..S("Number blocks:").."]".. "label[0.1,5.5;"..S("Maximum power:").."]".. "label[0.1,6.0;"..S("Current power:").."]".. - column(3.7, 5.0, sum1).. - column(6.2, 5.0, sum2).. - "box[0,6.75;8.8,0.4;#000000]".. - "label[0.1,6.7;"..state.."]" + column(5.7, 5.0, sum1).. + column(8.2, 5.0, sum2).. + "box[0,7.75;10.8,0.4;#000000]".. + "label[0.1,7.7;"..state.."]" end +local function formspec2(pos, mem) + local meta = M(pos) + local output = meta:get_string("output") + local command = mem.cmnd or "" + output = minetest.formspec_escape(output) + output = output:gsub("\n", ",") + + return "size[11,9]".. + "tabheader[0,0;tab;status,console;2;;true]".. + default.gui_bg.. + default.gui_bg_img.. + default.gui_slots.. + "box[0,-0.1;10.8,0.5;#c6e8ff]".. + "label[4.5,-0.1;"..minetest.colorize( "#000000", S("Network Data")).."]".. + "style_type[table,field;font=mono]".. + "table[0,0.5;10.8,7.8;output;"..output..";200]".. + "field[0.4,8.7;8.6,1;cmnd;;"..command.."]" .. + "field_close_on_enter[cmnd;false]".. + "button[8.9,8.4;2,1;enter;"..S("Enter").."]" +end + +local function generators(pos, gen_tbl) + local tbl = {} + for _, item in ipairs(gen_tbl) do + if item and item.pos then + local node = techage.get_node_lvm(item.pos) + local ndef = minetest.registered_nodes[node.name] + local name = short_node_name(item.nominal) + local spos = P2S(item.pos) + local pow_curr, pow_max = get_generator_data(item, ndef) + if Storage[name] then + local load_percent = 0 + local tdef = techage.NodeDef[node.name] + if tdef and tdef.on_recv_message then + load_percent = tdef.on_recv_message(item.pos, "0", "load") or 0 + end + local s = string.format("%-16s %s = %u/%u ku (%u %%)", + spos, name, pow_curr, pow_max, load_percent) + tbl[#tbl + 1] = s + else + local s = string.format("%-16s %s = %u/%u ku", spos, name, pow_curr, pow_max) + tbl[#tbl + 1] = s + end + end + end + return table.concat(tbl, "\n") +end + +local function consumers(pos, gen_tbl) + local tbl = {} + for _, item in ipairs(gen_tbl) do + if item and item.pos then + local node = techage.get_node_lvm(item.pos) + local ndef = minetest.registered_nodes[node.name] + local name = short_node_name(item.nominal) + local spos = P2S(item.pos) + local pow_curr, pow_max = get_consumer_data(item, ndef) + if Storage[name] then + local load_percent = 0 + local tdef = techage.NodeDef[node.name] + if tdef and tdef.on_recv_message then + load_percent = tdef.on_recv_message(item.pos, "0", "load") or 0 + end + local s = string.format("%-16s %s = %u/%u ku (%u %%)", + spos, name, pow_curr, pow_max, load_percent) + tbl[#tbl + 1] = s + else + local s = string.format("%-16s %s = %u/%u ku", spos, name, pow_curr, pow_max) + tbl[#tbl + 1] = s + end + end + end + return table.concat(tbl, "\n") +end + +local function number_nodes(pos, netw) + return + "num. generators cat. 1: " .. #(netw.gen1 or {}) .. "\n" .. + "num. generators cat. 2: " .. #(netw.gen2 or {}) .. "\n" .. + "num. consumers cat. 1: " .. #(netw.con1 or {}) .. "\n" .. + "num. consumers cat. 2: " .. #(netw.con2 or {}) +end + +local function power_network(pos, netw) + return + "pow. generators cat. 1: " .. (netw.available1 or 0) .. " ku\n" .. + "pow. generators cat. 2: " .. (netw.available2 or 0) .. " ku\n" .. + "pow. consumers cat. 1: " .. (netw.needed1 or 0) .. " ku\n" .. + "pow. consumers cat. 2: " .. (netw.needed2 or 0) .. " ku" +end + + +local function output(pos, command, text) + local meta = M(pos) + text = meta:get_string("output") .. "\n$ " .. command .. "\n" .. (text or "") + text = text:sub(-2000,-1) + meta:set_string("output", text) +end + +local function command(pos, nvm, command) + local meta = M(pos) + + if command then + command = command:sub(1,80) + command = string.trim(command) + + if command == "cls" then + meta:set_string("output", "") + elseif command == "help" then + output(pos, command, HELP) + elseif command == "gen1" then + local netw = techage.networks.has_network("ele1", nvm.ele1 and nvm.ele1.netID) or {} + output(pos, command, generators(pos, netw.gen1 or {})) + elseif command == "gen2" then + local netw = techage.networks.has_network("ele1", nvm.ele1 and nvm.ele1.netID) or {} + output(pos, command, generators(pos, netw.gen2 or {})) + elseif command == "con2" then + local netw = techage.networks.has_network("ele1", nvm.ele1 and nvm.ele1.netID) or {} + output(pos, command, consumers(pos, netw.con2 or {})) + elseif command == "num" then + local netw = techage.networks.has_network("ele1", nvm.ele1 and nvm.ele1.netID) or {} + output(pos, command, number_nodes(pos, netw)) + elseif command == "pow" then + local netw = techage.networks.has_network("ele1", nvm.ele1 and nvm.ele1.netID) or {} + output(pos, command, power_network(pos, netw)) + elseif command ~= "" then + output(pos, command, "") + end + end +end + minetest.register_node("techage:ta3_power_terminal", { description = S("TA3 Power Terminal"), inventory_image = "techage_power_terminal_front.png", @@ -305,7 +487,7 @@ minetest.register_node("techage:ta3_power_terminal", { local nvm = techage.get_nvm(pos) M(pos):set_int("outdir", networks.side_to_outdir(pos, "B")) Cable:after_place_node(pos) - M(pos):set_string("formspec", formspec(pos, nvm)) + M(pos):set_string("formspec", formspec1(pos, nvm)) end, after_dig_node = function(pos) Cable:after_dig_node(pos) @@ -315,15 +497,13 @@ minetest.register_node("techage:ta3_power_terminal", { power.update_network(pos, outdir, tlib2) end, on_rightclick = function(pos, node, clicker) - techage.set_activeformspec(pos, clicker) - minetest.get_node_timer(pos):start(CYCLE_TIME) - local nvm = techage.get_nvm(pos) - M(pos):set_string("formspec", formspec(pos, nvm)) + local mem = techage.get_mem(pos) + M(pos):set_string("formspec", formspec2(pos, mem)) end, on_timer = function(pos, elapsed) local nvm = techage.get_nvm(pos) if techage.is_activeformspec(pos) then - M(pos):set_string("formspec", formspec(pos, nvm)) + M(pos):set_string("formspec", formspec1(pos, nvm)) end return true end, @@ -333,15 +513,29 @@ minetest.register_node("techage:ta3_power_terminal", { return end local nvm = techage.get_nvm(pos) + local mem = techage.get_mem(pos) - if fields.config then + if fields.key_enter_field or fields.enter then + command(pos, nvm, fields.cmnd) + mem.cmnd = "" + M(pos):set_string("formspec", formspec2(pos, mem)) + mem.cmnd = fields.cmnd + elseif fields.config then techage.reset_activeformspec(pos, player) M(pos):set_string("formspec", formspec_type(pos, nvm)) elseif fields.set then nvm.gentype = fields.gentype nvm.gentype_idx = Gentype2Idx[fields.gentype] or 1 techage.set_activeformspec(pos, player) - M(pos):set_string("formspec", formspec(pos, nvm)) + M(pos):set_string("formspec", formspec1(pos, nvm)) + elseif fields.tab == "1" then + M(pos):set_string("formspec", formspec1(pos, nvm)) + techage.set_activeformspec(pos, player) + elseif fields.tab == "2" then + M(pos):set_string("formspec", formspec2(pos, mem)) + techage.reset_activeformspec(pos, player) + elseif fields.key_up and mem.cmnd then + M(pos):set_string("formspec", formspec2(pos, mem)) end end, diff --git a/solar/inverter.lua b/solar/inverter.lua index 9b877f8..6b32579 100644 --- a/solar/inverter.lua +++ b/solar/inverter.lua @@ -187,6 +187,7 @@ minetest.register_node("techage:ta4_solar_inverter", { sides = {R = 1}, ntype = "gen1", nominal = PWR_PERF, + regenerative = true, }, ele2 = { sides = {L = 1}, diff --git a/wind_turbine/rotor.lua b/wind_turbine/rotor.lua index 83f6aa7..71ba7e2 100644 --- a/wind_turbine/rotor.lua +++ b/wind_turbine/rotor.lua @@ -51,7 +51,7 @@ end local function add_rotor(pos, nvm, player_name) nvm.error = false - if not techage.valid_place_for_windturbine(pos, nil, 1) then + if not techage.valid_place_for_windturbine(pos, player_name, 1) then nvm.error = true M(pos):set_string("infotext", S("TA4 Wind Turbine")..": "..S("Not suitable position!")) return @@ -167,6 +167,7 @@ minetest.register_node("techage:ta4_wind_turbine", { sides = {D = 1}, ntype = "gen1", nominal = PWR_PERF, + regenerative = true, }, }, after_place_node = after_place_node,