diff --git a/chemistry/ta4_doser.lua b/chemistry/ta4_doser.lua index 09fb175..e9df68d 100644 --- a/chemistry/ta4_doser.lua +++ b/chemistry/ta4_doser.lua @@ -153,14 +153,9 @@ local State = techage.NodeStates:new({ stop_node = stop_node, }) -local function untake(recipe, pos, liquids) - for _,item in pairs(recipe.input) do - if item.name ~= "" then - local outdir = liquids[item.name] or reload_liquids(pos)[item.name] - if outdir then - liquid.untake(pos, outdir, item.name, item.num) - end - end +local function untake(pos, taken) + for _,item in pairs(taken) do + liquid.untake(pos, item.outdir, item.name, item.num) end end @@ -205,43 +200,50 @@ local function dosing(pos, nvm, elapsed) end -- inputs local starter = get_starter_name(pos) + local taken = {} for _,item in pairs(recipe.input) do if item.name ~= "" then local outdir = liquids[item.name] or reload_liquids(pos)[item.name] if not outdir then State:standby(pos, nvm) reactor_cmnd(pos, "stop") + untake(pos, taken) return end - if liquid.take(pos, outdir, item.name, item.num, starter) < item.num then + local num = liquid.take(pos, outdir, item.name, item.num, starter) + if num < item.num then + taken[#taken + 1] = {outdir = outdir, name = item.name, num = num} State:standby(pos, nvm) reactor_cmnd(pos, "stop") + untake(pos, taken) return end + taken[#taken + 1] = {outdir = outdir, name = item.name, num = item.num} end end - -- output + -- waste local leftover - leftover = reactor_cmnd(pos, "output", { - name = recipe.output.name, - amount = recipe.output.num}) - if not leftover or (tonumber(leftover) or 1) > 0 then - untake(recipe, pos, liquids) - State:blocked(pos, nvm) - reactor_cmnd(pos, "stop") - return - end if recipe.waste.name ~= "" then leftover = reactor_cmnd(pos, "waste", { name = recipe.waste.name, amount = recipe.waste.num}) if not leftover or (tonumber(leftover) or 1) > 0 then - untake(recipe, pos, liquids) + untake(pos, taken) State:blocked(pos, nvm) reactor_cmnd(pos, "stop") return end end + -- output + leftover = reactor_cmnd(pos, "output", { + name = recipe.output.name, + amount = recipe.output.num}) + if not leftover or (tonumber(leftover) or 1) > 0 then + untake(pos, taken) + State:blocked(pos, nvm) + reactor_cmnd(pos, "stop") + return + end State:keep_running(pos, nvm, COUNTDOWN_TICKS) end diff --git a/doc/manual_DE.lua b/doc/manual_DE.lua index 049aaa7..87c5124 100644 --- a/doc/manual_DE.lua +++ b/doc/manual_DE.lua @@ -1301,7 +1301,7 @@ techage.manual_DE.aText = { " - 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".. + "Hinweis 1: Flüssigkeiten werden nur in Tanks gelagert\\, feste Stoffe und 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".. diff --git a/doc/manual_EN.lua b/doc/manual_EN.lua index 378b5c6..7ca8f26 100644 --- a/doc/manual_EN.lua +++ b/doc/manual_EN.lua @@ -1279,7 +1279,7 @@ techage.manual_EN.aText = { " - The filler pipe that must be placed on the reactor vessel\n".. " - The dosing device\\, which has to be connected to the tanks or silos and the filler pipe via pipes\n".. "\n".. - "Note 1: Liquids are only stored in tanks\\, substances in powder form only in silos. This applies to ingredients and raw materials.\n".. + "Note 1: Liquids are only stored in tanks\\, solids and substances in powder form only in silos. This applies to ingredients and raw materials.\n".. "\n".. "Note 2: Tanks or silos with different contents must not be connected to a pipe system. In contrast\\, several tanks or silos with the same content may hang in parallel on one line.\n".. "\n".. diff --git a/furnace/heater.lua b/furnace/heater.lua index ac77f72..98cde08 100644 --- a/furnace/heater.lua +++ b/furnace/heater.lua @@ -131,9 +131,9 @@ Cable:add_secondary_node_names({"techage:furnace_heater", "techage:furnace_heate minetest.register_craft({ output = "techage:furnace_heater", recipe = { - {'techage:basalt_stone', 'default:steel_ingot', 'techage:basalt_stone'}, - {'default:steel_ingot', 'basic_materials:heating_element', 'default:steel_ingot'}, - {'techage:basalt_stone', 'techage:basalt_stone', 'techage:basalt_stone'}, + {'techage:aluminum', 'default:steel_ingot', 'techage:aluminum'}, + {'techage:basalt_stone', 'basic_materials:heating_element', 'techage:basalt_stone'}, + {'techage:aluminum', 'techage:ta4_furnace_ceramic', 'techage:aluminum'}, }, }) diff --git a/init.lua b/init.lua index 1f14a6e..6b08220 100644 --- a/init.lua +++ b/init.lua @@ -332,6 +332,7 @@ dofile(MP.."/items/electronic.lua") dofile(MP.."/items/redstone.lua") dofile(MP.."/items/cement.lua") dofile(MP.."/items/cracking.lua") +dofile(MP.."/items/ceramic.lua") if techage.basalt_stone_enabled then dofile(MP.."/items/basalt.lua") diff --git a/items/powder.lua b/items/powder.lua index 0811f72..c53cfa6 100644 --- a/items/powder.lua +++ b/items/powder.lua @@ -32,6 +32,24 @@ minetest.register_craftitem("techage:iron_powder", { groups = {powder = 1}, }) +minetest.register_craftitem("techage:clay_powder", { + description = S("Clay Powder"), + inventory_image = "techage_powder_inv.png^[colorize:#F9DE80:160", + groups = {powder = 1}, +}) + +minetest.register_craftitem("techage:aluminum_powder", { + description = S("Aluminum Powder"), + inventory_image = "techage_powder_inv.png^[colorize:#A1BDC4:160", + groups = {powder = 1}, +}) + +minetest.register_craftitem("techage:silver_sandstone_powder", { + description = S("Silver Sandstone Powder"), + inventory_image = "techage_powder_inv.png^[colorize:#FFFFFF:160", + groups = {powder = 1}, +}) + techage.add_grinder_recipe({input="default:acacia_bush_leaves", output="techage:leave_powder"}) techage.add_grinder_recipe({input="default:acacia_leaves", output="techage:leave_powder"}) techage.add_grinder_recipe({input="default:aspen_leaves", output="techage:leave_powder"}) @@ -41,4 +59,9 @@ techage.add_grinder_recipe({input="default:jungleleaves", output="techage:leave_ techage.add_grinder_recipe({input="default:leaves", output="techage:leave_powder"}) techage.add_grinder_recipe({input="default:pine_needles", output="techage:needle_powder"}) techage.add_grinder_recipe({input="default:iron_lump", output="techage:iron_powder"}) +techage.add_grinder_recipe({input="default:clay", output="techage:clay_powder"}) +techage.add_grinder_recipe({input="techage:aluminum", output="techage:aluminum_powder"}) +techage.add_grinder_recipe({input="default:silver_sandstone", output="techage:silver_sandstone_powder"}) + + diff --git a/locale/techage.de.tr b/locale/techage.de.tr index cd02e1f..0e77977 100644 --- a/locale/techage.de.tr +++ b/locale/techage.de.tr @@ -111,6 +111,16 @@ TA4 Button/Switch=TA4 Schalter/Taster 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 @@ -120,6 +130,11 @@ TA Ceiling Lamp=TA Deckenlampe Cement Block=Zement Block Cement Powder=Zement Pulver +### ceramic.lua ### + +TA4 Ceramic Material=TA4 Keramik Material +TA4 Furnace Ceramic=TA4 Ofen Keramik + ### charcoalpile.lua ### Dirt with Ash=Erde mit Asche @@ -166,6 +181,26 @@ TA2 Cylinder=TA2 Zylinder TA3 Detector=TA3 Detektor TA4 Detector=TA4 Detektor +### detector.lua ### +### doorcontroller.lua ### +### button.lua ### +### repeater.lua ### +### chest.lua ### +### mesecons_converter.lua ### + +Save=Speichern + +### detector.lua ### +### lua_logic.lua ### +### node_detector.lua ### +### button.lua ### +### cart_detector.lua ### +### player_detector.lua ### +### repeater.lua ### +### mesecons_converter.lua ### + +Insert destination node number(s)=Gebe Zielnummer(n) ein + ### display.lua ### TA4 Display=TA4 Display @@ -342,22 +377,6 @@ 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 ### Gravel Rinser=Kiesspüler @@ -478,11 +497,6 @@ to=bis Laser beam error!=Laserstrahl Fehler! TA4 Laser Beam Receiver=TA4 Laserstrahl Empfänger -### lib.lua ### -### sensorchest.lua ### - -connected with=verbunden mit - ### lighter.lua ### TA1 Lighter=TA1 Anzünder @@ -502,6 +516,11 @@ TA Junction Pipe=TA Leitungskupplung Liquid Sampler=Flüssigkeitensammler +### liquidsampler.lua ### +### waterpump.lua ### + +no usable water=Kein brauchbares Wasser + ### logic_block.lua ### Send an 'on'/'off' command if the@nexpression becomes true.@n=Sende ein 'on'/'off' Kommando, wenn der @nAusdruck wahr wird.@n @@ -575,22 +594,6 @@ 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 -### 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 ### TechAge Gravel=TechAge Kies @@ -644,16 +647,14 @@ Plastic Granules=Plastikgranulat TA4 Player Detector=TA4 Spieler Detektor -### player_detector.lua ### -### cart_detector.lua ### - -TA3 Player Detector=TA3 Spieler Detektor - ### powder.lua ### Leave Powder=Laub Pulver Needle Powder=Nadel Pulver Iron Powder=Eisen Pulver +Clay Powder=Ton Pulver +Aluminum Powder=Aluminium Pulver +Silver Sandstone Powder=Silbersandstein Pulver ### power2axle.lua ### @@ -820,19 +821,9 @@ Time=Zeit TA3 Repeater=TA3 Wiederholer -### repeater.lua ### -### chest.lua ### -### detector.lua ### -### button.lua ### -### doorcontroller.lua ### -### mesecons_converter.lua ### - -Save=Speichern - ### rotor.lua ### 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 @@ -844,6 +835,11 @@ Allow public chest access=Erlaube öffentlichen Zugriff TA4 Sensor Chest=Sensorkiste not connected=nicht verbunden +### sensorchest.lua ### +### lib.lua ### + +connected with=verbunden mit + ### sequencer.lua ### TA3 Sequencer=TA3 Sequenzer @@ -876,6 +872,13 @@ 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 +### solarcell.lua ### +### source.lua ### +### generator.lua ### +### flywheel.lua ### + +power=Energie + ### source.lua ### Power Source=Stromquelle @@ -960,11 +963,6 @@ TA4 Reactor Stand=TA4 Reaktor Ständer off=aus TA4 Reactor Base=TA4 Reaktor Sockel -### ta4_stand.lua ### -### waterpump.lua ### - -no power=kein Strom - ### tank.lua ### TA3 Tank=TA3 Tank @@ -993,6 +991,15 @@ Tiny Generator=Kleingenerator no fuel=kein Kraftstoff TA3 Tiny Power Generator=TA3 Kleiner Stromgenerator +### tiny_generator.lua ### +### electrolyzer.lua ### +### akkubox.lua ### +### fuelcell.lua ### +### generator.lua ### +### heatexchanger2.lua ### + +Electricity=Strom + ### tower.lua ### TA3 Derrick=TA3 Bohrturm @@ -1039,9 +1046,9 @@ Water Pump=Wasserpumpe TA4 Water Pump=Wasserpumpe ### waterpump.lua ### -### liquidsampler.lua ### +### ta4_stand.lua ### -no usable water=Kein brauchbares Wasser +no power=kein Strom ### windturbine_lib.lua ### @@ -1054,3 +1061,8 @@ Here is not enough wind@n(A free air space of 41x41x21 m is necessary)!=Hier ist 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! + + +##### not used anymore ##### + +Not suitable position!=Ungeeignete Position! diff --git a/locale/template.txt b/locale/template.txt index 2eb6c9d..895e390 100644 --- a/locale/template.txt +++ b/locale/template.txt @@ -111,6 +111,16 @@ TA4 Button/Switch= TA3 Cart Detector= +### cart_detector.lua ### +### node_detector.lua ### + +accept= + +### cart_detector.lua ### +### player_detector.lua ### + +TA3 Player Detector= + ### ceilinglamp.lua ### TA Ceiling Lamp= @@ -120,6 +130,11 @@ TA Ceiling Lamp= Cement Block= Cement Powder= +### ceramic.lua ### + +TA4 Ceramic Material= +TA4 Furnace Ceramic= + ### charcoalpile.lua ### Dirt with Ash= @@ -166,6 +181,26 @@ TA2 Cylinder= TA3 Detector= TA4 Detector= +### detector.lua ### +### doorcontroller.lua ### +### button.lua ### +### repeater.lua ### +### chest.lua ### +### mesecons_converter.lua ### + +Save= + +### detector.lua ### +### lua_logic.lua ### +### node_detector.lua ### +### button.lua ### +### cart_detector.lua ### +### player_detector.lua ### +### repeater.lua ### +### mesecons_converter.lua ### + +Insert destination node number(s)= + ### display.lua ### TA4 Display= @@ -342,22 +377,6 @@ 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 ### Gravel Rinser= @@ -478,11 +497,6 @@ to= Laser beam error!= TA4 Laser Beam Receiver= -### lib.lua ### -### sensorchest.lua ### - -connected with= - ### lighter.lua ### TA1 Lighter= @@ -502,6 +516,11 @@ TA Junction Pipe= Liquid Sampler= +### liquidsampler.lua ### +### waterpump.lua ### + +no usable water= + ### logic_block.lua ### Send an 'on'/'off' command if the@nexpression becomes true.@n= @@ -575,22 +594,6 @@ added or removed= Send signal if nodes have been:= TA3 Node Detector= -### 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 ### TechAge Gravel= @@ -644,16 +647,14 @@ Plastic Granules= TA4 Player Detector= -### player_detector.lua ### -### cart_detector.lua ### - -TA3 Player Detector= - ### powder.lua ### Leave Powder= Needle Powder= Iron Powder= +Clay Powder= +Aluminum Powder= +Silver Sandstone Powder= ### power2axle.lua ### @@ -820,19 +821,9 @@ Time= TA3 Repeater= -### repeater.lua ### -### chest.lua ### -### detector.lua ### -### button.lua ### -### doorcontroller.lua ### -### mesecons_converter.lua ### - -Save= - ### rotor.lua ### TA4 Wind Turbine= -Not suitable position!= Nacelle is missing= TA4 Wind Turbine Nacelle= TA4 Carbon Fiber= @@ -844,6 +835,11 @@ Allow public chest access= TA4 Sensor Chest= not connected= +### sensorchest.lua ### +### lib.lua ### + +connected with= + ### sequencer.lua ### TA3 Sequencer= @@ -876,6 +872,13 @@ TA4 Solar Carrier Module= TA4 Solar Carrier Module B= TA4 Solar Carrier Module T= +### solarcell.lua ### +### source.lua ### +### generator.lua ### +### flywheel.lua ### + +power= + ### source.lua ### Power Source= @@ -960,11 +963,6 @@ TA4 Reactor Stand= off= TA4 Reactor Base= -### ta4_stand.lua ### -### waterpump.lua ### - -no power= - ### tank.lua ### TA3 Tank= @@ -993,6 +991,15 @@ Tiny Generator= no fuel= TA3 Tiny Power Generator= +### tiny_generator.lua ### +### electrolyzer.lua ### +### akkubox.lua ### +### fuelcell.lua ### +### generator.lua ### +### heatexchanger2.lua ### + +Electricity= + ### tower.lua ### TA3 Derrick= @@ -1039,9 +1046,9 @@ Water Pump= TA4 Water Pump= ### waterpump.lua ### -### liquidsampler.lua ### +### ta4_stand.lua ### -no usable water= +no power= ### windturbine_lib.lua ### @@ -1050,7 +1057,7 @@ 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 wind@n(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 c2a8ae1..ff50aa3 100644 --- a/manuals/manual_ta4_DE.md +++ b/manuals/manual_ta4_DE.md @@ -236,7 +236,7 @@ Ein Reaktor besteht aus: - 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 1: Flüssigkeiten werden nur in Tanks gelagert, feste Stoffe und 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. diff --git a/manuals/manual_ta4_EN.md b/manuals/manual_ta4_EN.md index 3ba1f2d..ce1512e 100644 --- a/manuals/manual_ta4_EN.md +++ b/manuals/manual_ta4_EN.md @@ -237,7 +237,7 @@ A reactor consists of: - The filler pipe that must be placed on the reactor vessel - The dosing device, which has to be connected to the tanks or silos and the filler pipe via pipes -Note 1: Liquids are only stored in tanks, substances in powder form only in silos. This applies to ingredients and raw materials. +Note 1: Liquids are only stored in tanks, solids and substances in powder form only in silos. This applies to ingredients and raw materials. Note 2: Tanks or silos with different contents must not be connected to a pipe system. In contrast, several tanks or silos with the same content may hang in parallel on one line.