Oil as liquid, barrels, tanks, and pumps added
This commit is contained in:
parent
b1ea6a2d6a
commit
c33bc5d11c
@ -148,22 +148,22 @@ local function dosing(pos, mem, elapsed)
|
||||
print("dosing", item.name, dump(liquids))
|
||||
local outdir = liquids[item.name]
|
||||
if not outdir then
|
||||
State:fault(pos, mem, S("input liquid missing"))
|
||||
State:fault(pos, mem, S("input missing"))
|
||||
return
|
||||
end
|
||||
if liquid.take(pos, outdir, item.name, item.num) < item.num then
|
||||
State:fault(pos, mem, S("input liquid gone out"))
|
||||
State:fault(pos, mem, S("input missing"))
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
-- output
|
||||
if not reactor_cmnd(pos, "output", recipe.output.name) then
|
||||
State:fault(pos, mem, S("output liquid blocked"))
|
||||
State:fault(pos, mem, S("output blocked"))
|
||||
return
|
||||
end
|
||||
if not reactor_cmnd(pos, "waste", recipe.waste.name) then
|
||||
State:fault(pos, mem, S("output liquid blocked"))
|
||||
State:fault(pos, mem, S("output blocked"))
|
||||
return
|
||||
end
|
||||
State:keep_running(pos, mem, COUNTDOWN_TICKS)
|
||||
|
@ -203,7 +203,6 @@ local function on_timer2(pos, elapsed)
|
||||
mem.liquid = mem.liquid or {}
|
||||
mem.liquid.amount = mem.liquid.amount or 0
|
||||
if mem.burn_cycles <= 0 then
|
||||
local taken = firebox.get_fuel(pos)
|
||||
if mem.liquid.amount > 0 then
|
||||
mem.liquid.amount = mem.liquid.amount - 1
|
||||
mem.burn_cycles = oilburner.Oilburntime / CYCLE_TIME * BURN_CYCLE_FACTOR
|
||||
@ -220,7 +219,6 @@ local function on_timer2(pos, elapsed)
|
||||
end
|
||||
|
||||
local function start_firebox2(pos, mem)
|
||||
print("start_firebox2", mem.running, mem.liquid and mem.liquid.amount)
|
||||
if not mem.running and mem.liquid.amount > 0 then
|
||||
mem.running = true
|
||||
on_timer2(pos, 0)
|
||||
@ -230,8 +228,8 @@ local function start_firebox2(pos, mem)
|
||||
end
|
||||
|
||||
minetest.register_node("techage:oilfirebox", {
|
||||
description = S("TA3 Power Station Oil Firebox"),
|
||||
inventory_image = "techage_coal_boiler_inv.png",
|
||||
description = S("TA3 Power Station Oil Burner"),
|
||||
inventory_image = "techage_oil_boiler_inv.png",
|
||||
tiles = {"techage_coal_boiler_mesh_top.png"},
|
||||
drawtype = "mesh",
|
||||
mesh = "techage_boiler_large.obj",
|
||||
@ -336,6 +334,22 @@ techage.register_node({"techage:coalfirebox"}, {
|
||||
end,
|
||||
})
|
||||
|
||||
techage.register_node({"techage:oilfirebox"}, {
|
||||
on_recv_message = function(pos, src, topic, payload)
|
||||
local mem = tubelib2.get_mem(pos)
|
||||
if topic == "state" then
|
||||
if mem.running then
|
||||
return "running"
|
||||
else
|
||||
return "stopped"
|
||||
end
|
||||
elseif topic == "fuel" then
|
||||
return mem.liquid and mem.liquid.amount and mem.liquid.amount
|
||||
else
|
||||
return "unsupported"
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "techage:coalfirebox",
|
||||
|
@ -44,6 +44,7 @@ techage.Items = {
|
||||
---------------------
|
||||
techage_ta3 = "techage_ta3.png",
|
||||
ta3_firebox = "techage:coalfirebox",
|
||||
ta3_oilbox = "techage:oilfirebox",
|
||||
ta3_boiler = "techage:coalboiler_top",
|
||||
ta3_turbine = "techage:turbine",
|
||||
ta3_generator = "techage:generator",
|
||||
@ -78,6 +79,8 @@ techage.Items = {
|
||||
ta3_pumpjack = "techage:ta3_pumpjack_pas",
|
||||
ta3_drillbit = "techage:oil_drillbit",
|
||||
ta3_end_wrench = "techage:end_wrench",
|
||||
ta3_tank = "techage:ta3_tank",
|
||||
ta3_pump = "techage:t3_pump",
|
||||
----------------------------
|
||||
ta3_button = "techage:ta3_button_off",
|
||||
ta3_cartdetector = "techage:ta3_cartdetector_off",
|
||||
@ -114,5 +117,7 @@ techage.Items = {
|
||||
ta4_hydrogen = "techage_hydrogen_inv.png",
|
||||
ta4_electrolyzer = "techage:ta4_electrolyzer",
|
||||
ta4_fuelcell = "techage:ta4_fuelcell",
|
||||
ta4_tank = "techage:ta4_tank",
|
||||
ta4_pump = "techage:t4_pump",
|
||||
--ta4_ "",
|
||||
}
|
||||
|
@ -37,8 +37,9 @@ techage.manual_DE.aTitel = {
|
||||
"3,TA2 Gesicherte Kiste / Protected Chest",
|
||||
"3,Techage Forceload Block",
|
||||
"1,TA3: Ölzeitalter",
|
||||
"2,Kohlekraftwerk",
|
||||
"2,Kohlekraftwerk / Ölkraftwerk",
|
||||
"3,TA3 Kraftwerks-Feuerbox / Power Station Firebox",
|
||||
"3,TA3 Kraftwerks-Ölbrenner / TA3 Power Station Oil Burner",
|
||||
"3,TA3 Boiler unten/oben",
|
||||
"3,TA3 Turbine",
|
||||
"3,TA3 Generator",
|
||||
@ -57,7 +58,7 @@ techage.manual_DE.aTitel = {
|
||||
"3,TA3 Akku Block / Akku Box",
|
||||
"3,TA3 Strom Terminal / Power Terminal",
|
||||
"2,TA3 Industrieofen",
|
||||
"3,TA3 Ofen-Feuerkiste / Furnace Firebox",
|
||||
"3,TA3 Ofen-Ölbrenner / Furnace Oil Burner",
|
||||
"3,TA3 Ofenoberteil / Furnace Top",
|
||||
"3,TA3 Gebläse / Booster",
|
||||
"2,Öl-Anlagen",
|
||||
@ -88,6 +89,9 @@ techage.manual_DE.aTitel = {
|
||||
"3,TA3 Kiessieb / Gravel Sieve",
|
||||
"3,TA3 Mühle / Grinder",
|
||||
"3,TA3 Flüssigkeitensammler / Liquid Sampler",
|
||||
"2,Flüssigkeiten",
|
||||
"3,TA3 Tank / TA3 Tank",
|
||||
"3,TA3 Pumpe / TA3 Pump",
|
||||
"2,Werkzeuge",
|
||||
"3,Techage Info Tool",
|
||||
"3,TechAge Programmer",
|
||||
@ -113,6 +117,9 @@ techage.manual_DE.aTitel = {
|
||||
"2,Wasserstoff",
|
||||
"3,Elektrolyseur",
|
||||
"3,Brennstoffzelle",
|
||||
"2,Weitere TA4 Blöcke",
|
||||
"3,TA4 Tank / TA4 Tank",
|
||||
"3,TA4 Pumpe / TA4 Pump",
|
||||
}
|
||||
|
||||
techage.manual_DE.aText = {
|
||||
@ -281,6 +288,7 @@ techage.manual_DE.aText = {
|
||||
"\n"..
|
||||
"\n",
|
||||
"Ein Schieber ist in der Lage\\, Items aus Kisten oder Maschinen zu ziehen und in andere Kisten oder Maschinen zu schieben. Oder anders gesagt: Zwischen zwei Blöcken mit Inventar muss ein und genau ein Schieber sein. Mehrere Schieber in Reihe sind nicht möglich.\n"..
|
||||
"In die Gegenrichtung ist ein Schieber für Items aber durchlässig\\, so dass eine Kiste über eine Röhre gefüllt und ebenso gelehrt werden kann. \n"..
|
||||
"\n"..
|
||||
"Ein Schieber geht in den Zustand \"standby\"\\, wenn der keine Items zum Schieben hat. Ist der Ausgang blockiert oder das Inventory des Empfängers voll\\, so geht der Schieber in den Zustand \"blocked\". Aus beiden Zuständen kommt der Schieber nach einigen Sekunden selbsttätig wieder raus\\, sofern sich die Situation geändert hat.\n"..
|
||||
"\n"..
|
||||
@ -389,10 +397,13 @@ techage.manual_DE.aText = {
|
||||
"Das Kohlekraftwerk besteht aus mehreren Blöcken und muss wie im Plan rechts abgebildet\\, zusammen gebaut werden. Dazu werden die Blöcke TA3 Kraftwerks-Feuerbox\\, TA3 Boiler oben\\, TA3 Boiler unten\\, TA3 Turbine\\, TA3 Generator und TA3 Kühler benötigt.\n"..
|
||||
"\n"..
|
||||
"Der Boiler muss mit Wasser gefüllt werden. Dazu bis zu 10 Eimer Wasser in den Boiler füllen.\n"..
|
||||
"Die Feuerbox muss mit Kohle\\, Holzkohle oder Erdöl gefüllt werden.\n"..
|
||||
"Die Feuerbox muss mit Kohle oder Holzkohle gefüllt werden.\n"..
|
||||
"Wenn das Wasser heiß ist\\, kann das Ventil am Boiler geöffnet und anschließend die Generator gestartet werden.\n"..
|
||||
"\n"..
|
||||
"Das Kraftwerk liefert eine Leistung von 80 ku und kann mit Kohle\\, Holzkohle oder Erdöl betrieben werden.\n"..
|
||||
"Das Kraftwerk kann alternativ auch mit einem Ölbrenner ausgestattet und dann mit Öl betrieben werden.\n"..
|
||||
"Das Öl kann über eine Pumpe und Ölleitung nachgefüllt werden.\n"..
|
||||
"\n"..
|
||||
"Das Kraftwerk liefert eine Leistung von 80 ku.\n"..
|
||||
"\n"..
|
||||
"\n"..
|
||||
"\n",
|
||||
@ -401,6 +412,11 @@ techage.manual_DE.aText = {
|
||||
"\n"..
|
||||
"\n"..
|
||||
"\n",
|
||||
"Teil des Kraftwerks. \n"..
|
||||
"Der Ölbrenner kann nur mit Öl gefüllt werden. Die Brenndauer ist abhängig von der Leistung\\, die vom Kraftwerk angefordert wird. Unter Volllast brennt Öl 20 s. Unter Teillast entsprechend länger (50% Last = doppelte Zeit).\n"..
|
||||
"\n"..
|
||||
"\n"..
|
||||
"\n",
|
||||
"Teil des Kraftwerk. Muss mit Wasser gefüllt werden. Wem kein Wasser mehr vorhanden ist oder die Temperatur zu weit absinkt\\, schaltet sich der Boiler ab.\n"..
|
||||
"\n"..
|
||||
"\n"..
|
||||
@ -499,13 +515,13 @@ techage.manual_DE.aText = {
|
||||
"Der TA3 Industrieofen dient als Ergänzung zu normalen Ofen (furnace). Damit können alle Waren mit \"Koch\" Rezepte\\, auch im Industrieofen hergestellt werden. Es gibt aber auch spezielle Rezepte\\, die nur im Industrieofen hergestellt werden können.\n"..
|
||||
"Der Industrieofen hat sein eigenes Menü zur Rezeptauswahl. Abhängig von den Waren im Industrieofen Inventar links kann rechts das Ausgangsprodukt gewählt werden.\n"..
|
||||
"\n"..
|
||||
"Der Industrieofen benötigt Strom (für das Gebläse) sowie Kohle\\, Holzkohle oder Erdöl für die Befeuerung. Der Industrieofens und muss wie im Plan rechts abgebildet\\, zusammen gebaut werden.\n"..
|
||||
"Der Industrieofen benötigt Strom (für das Gebläse) sowie Öl für den Brenner. Der Industrieofens und muss wie im Plan rechts abgebildet\\, zusammen gebaut werden.\n"..
|
||||
"\n"..
|
||||
"Die Brennzeit für Kohle und Erdöl beträgt 80 s und für Holzkohle 240 s.\n"..
|
||||
"Die Brennzeit für Öl beträgt 80 s.\n"..
|
||||
"\n"..
|
||||
"\n"..
|
||||
"\n",
|
||||
"Ist Teil des TA3 Industrieofen. Muss mit Kohle\\, Holzkohle oder Erdöl befeuert werden.\n"..
|
||||
"Ist Teil des TA3 Industrieofen. Muss mit Öl befeuert werden.\n"..
|
||||
"\n"..
|
||||
"\n"..
|
||||
"\n",
|
||||
@ -547,7 +563,7 @@ techage.manual_DE.aText = {
|
||||
"\n"..
|
||||
"\n"..
|
||||
"\n",
|
||||
"An die Stelle der Ölbohrkiste muss nun die Ölpumpe platziert werden. Auch die Ölpumpe benötigt Strom (16 ku) und liefert alle 8 s ein Erdöl-Item\\, das in einer Kiste gesammelt werden muss. Dazu muss die Ölpumpe über eine Röhre mit der Kiste verbunden werden.\n"..
|
||||
"An die Stelle der Ölbohrkiste muss nun die Ölpumpe platziert werden. Auch die Ölpumpe benötigt Strom (16 ku) und liefert alle 8 s ein Einheit Erdöl. Das Erdöl muss in einem Tank gesammelt werden. Dazu muss die Ölpumpe über eine Leitung (gelbe Röhre) mit dem Tank verbunden werden.\n"..
|
||||
"Ist alles Öl abgepumpt\\, kann auch die Ölpumpe wieder entfernt werden.\n"..
|
||||
"\n"..
|
||||
"\n"..
|
||||
@ -743,6 +759,32 @@ techage.manual_DE.aText = {
|
||||
"\n"..
|
||||
"\n"..
|
||||
"\n",
|
||||
"Flüssigkeiten wie Wasser oder Öl können nur die spezielle Leitungen gepumpt und in Tanks gespeichert werden. Wie auch bei Wasser gibt es aber Behälter (Eimer\\, Kanister\\, Fässer)\\, in denen die Flüssig gelagert und transportiert werden kann.\n"..
|
||||
"\n"..
|
||||
"\n"..
|
||||
"\n",
|
||||
"In einem Tank können Flüssigkeiten gespeichert werden. Ein Tank kann über eine Pumpe gefüllt bzw. geleert werden. Dazu muss die Pumpe über einer Leitung (gelbe Röhre) mit dem Tank verbunden sein.\n"..
|
||||
"Ein Tank kann aber auch über Eimer/Fässer gefüllt bzw. geleert werden:\n"..
|
||||
"\n"..
|
||||
" - werden leere Fässer mit einem Schieber oder von Hand in den Tank gegeben\\, werden diese gefüllt und können ausgangsseitig wieder entnommen werden\n"..
|
||||
" - werden volle Fässer mit einem Schieber oder von Hand in den Tank gegeben\\, werden diese geleert und können ausgangsseitig wieder entnommen werden\n"..
|
||||
"\n"..
|
||||
"Dabei ist zu beachten\\, dass Fässer nur komplett gefüllt oder entleert werden können. Sind bspw. weniger als 10 Einheiten im Tank\\, muss dieser Rest mit Eimern entnommen oder leergepumpt werden.\n"..
|
||||
"\n"..
|
||||
"In einen TA3 Tank passen 500 Einheiten oder 50 Fässer einer Flüssigkeit.\n"..
|
||||
"\n"..
|
||||
"\n"..
|
||||
"\n",
|
||||
"Mit der Pumpe können Flüssigkeiten von Tanks oder Behältern zu anderen Tanks oder Behältern gepumpt werden. Bei der Pumpe muss die Pumprichtung (Pfeil) beachtet werden. Über die gelben Leitungen und Verbindungsstücke ist es auch möglich\\, mehrere Tanks auf jeder Seite der Pumpe anzuordnen. Allerdings müssen die Tanks den selben Inhalt haben.\n"..
|
||||
"\n"..
|
||||
" - zum Füllen\\, oder volle Fässer zul Leeren\n"..
|
||||
" - in einen Eimer oder einen Kanister passt eine Einheit einer Flüssigkeit\\, bspw. Wasser\n"..
|
||||
" - in ein Fass passen 10 Einheiten Flüssigkeit\\, bspw. Öl\n"..
|
||||
"\n"..
|
||||
"Die TA3 Pumpe pumpt 4 Einheiten Flüssigkeit alle zwei Sekunden.\n"..
|
||||
"\n"..
|
||||
"\n"..
|
||||
"\n",
|
||||
"",
|
||||
"Das Techage Info Tool (Schraubenschlüssel) hat verschiedene Funktionen. Er zeigt die Uhrzeit\\, die Position\\, die Temperatur und das Biome an\\, wenn auf einen unbekannten Block geklickt wird.\n"..
|
||||
"Wird auf einen TechAge Block mit Kommandoschnittstelle geklickt\\, werden alle verfügbaren Daten abgerufen (siehe auch \"Logik-/Schalt-Blöcke\").\n"..
|
||||
@ -908,6 +950,19 @@ techage.manual_DE.aText = {
|
||||
"\n"..
|
||||
"\n"..
|
||||
"\n",
|
||||
"",
|
||||
"Siehe TA3 Tank.\n"..
|
||||
"\n"..
|
||||
"In einen TA4 Tank passen 1000 Einheiten oder 100 Fässer einer Flüssigkeit.\n"..
|
||||
"\n"..
|
||||
"\n"..
|
||||
"\n",
|
||||
"Siehe TA3 Pumpe.\n"..
|
||||
"\n"..
|
||||
"Die TA4 Pumpe pumpt 8 Einheiten Flüssigkeit alle zwei Sekunden.\n"..
|
||||
"\n"..
|
||||
"\n"..
|
||||
"\n",
|
||||
}
|
||||
|
||||
techage.manual_DE.aItemName = {
|
||||
@ -949,6 +1004,7 @@ techage.manual_DE.aItemName = {
|
||||
"techage_ta3",
|
||||
"",
|
||||
"ta3_firebox",
|
||||
"ta3_oilbox",
|
||||
"ta3_boiler",
|
||||
"ta3_turbine",
|
||||
"ta3_generator",
|
||||
@ -999,6 +1055,9 @@ techage.manual_DE.aItemName = {
|
||||
"ta3_grinder",
|
||||
"ta3_liquidsampler",
|
||||
"",
|
||||
"ta3_tank",
|
||||
"ta3_pump",
|
||||
"",
|
||||
"ta3_end_wrench",
|
||||
"ta3_programmer",
|
||||
"ta3_trowel",
|
||||
@ -1023,6 +1082,9 @@ techage.manual_DE.aItemName = {
|
||||
"ta4_hydrogen",
|
||||
"ta4_electrolyzer",
|
||||
"ta4_fuelcell",
|
||||
"",
|
||||
"ta4_tank",
|
||||
"ta4_pump",
|
||||
}
|
||||
|
||||
techage.manual_DE.aPlanTable = {
|
||||
@ -1081,6 +1143,7 @@ techage.manual_DE.aPlanTable = {
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"ta3_furnace",
|
||||
"",
|
||||
"",
|
||||
@ -1113,6 +1176,9 @@ techage.manual_DE.aPlanTable = {
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"ta3_tank",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
@ -1138,5 +1204,8 @@ techage.manual_DE.aPlanTable = {
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
}
|
||||
|
||||
|
@ -116,7 +116,9 @@ techage.ConstructionPlans["itemtransport"] = {
|
||||
local RINSR = {"techage_filling_ta2.png^techage_appl_rinser.png^techage_frame_ta2.png", "techage:ta2_rinser_pas"}
|
||||
local GLASS = {"default_glass.png", "default:glass"}
|
||||
local WATER = {"default_water.png^default_glass.png", "default:water_source"}
|
||||
local TK000 = {"techage_tube_knee.png", "techage:tubeS"}
|
||||
local TK000 = {"techage_tube_knee.png", "techage:tubeS"} -- like 'r'
|
||||
local TK090 = {"techage_tube_knee.png^[transformR90", "techage:tubeS"} -- '7'
|
||||
local TK180 = {"techage_tube_knee.png^[transformR180", "techage:tubeS"}
|
||||
local TK270 = {"techage_tube_knee.png^[transformR270", "techage:tubeS"}
|
||||
|
||||
techage.ConstructionPlans["gravelrinser"] = {
|
||||
@ -150,7 +152,8 @@ techage.ConstructionPlans["coalpowerstation"] = {
|
||||
--
|
||||
local Cable = {"techage_electric_cable_inv.png", "techage:electric_cableS"}
|
||||
local Tubes = {"techage_tube_tube.png", "techage:tubeS"}
|
||||
local Pushr = {"techage_appl_pusher.png^techage_frame_ta3.png", "techage:ta3_pusher_pas"}
|
||||
local PushR = {"techage_appl_pusher.png^techage_frame_ta3.png", "techage:ta3_pusher_pas"}
|
||||
local PushL = {"techage_appl_pusher.png^techage_frame_ta3.png^[transformFX", "techage:ta3_pusher_pas"}
|
||||
local Boost = {"techage_filling_ta3.png^techage_appl_compressor.png^[transformFX^techage_frame_ta3.png", "techage:ta3_booster"}
|
||||
local Fibox = {"techage_concrete.png^techage_appl_firehole.png^techage_frame_ta3.png", "techage:furnace_firebox"}
|
||||
local Furnc = {"techage_concrete.png^techage_appl_furnace.png^techage_frame_ta3.png", "techage:ta3_furnace_pas"}
|
||||
@ -158,11 +161,31 @@ local Furnc = {"techage_concrete.png^techage_appl_furnace.png^techage_frame_ta3.
|
||||
techage.ConstructionPlans["ta3_furnace"] = {
|
||||
{false, false, false, false, false, false, false, false},
|
||||
{false, false, false, false, false, false, false, false},
|
||||
{false, Tubes, Pushr, Tubes, Furnc, Tubes, Pushr, Tubes},
|
||||
{false, Tubes, PushR, Tubes, Furnc, Tubes, PushR, Tubes},
|
||||
{false, false, Cable, Boost, Fibox, false, false, false},
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
-- TA3 Tank Pump Pusher
|
||||
--
|
||||
local Pump = {"techage_filling_ta3.png^techage_appl_pump.png^techage_frame_ta3.png", "techage:t3_pump"}
|
||||
local Tank = {"techage_filling_ta3.png^techage_frame_ta3.png^techage_appl_tank.png", "techage:ta3_tank"}
|
||||
local PIPEH = {"techage_gaspipe.png", "techage:ta4_pipeS"}
|
||||
local PIPEV = {"techage_gaspipe.png^[transformR90", "techage:ta4_pipeS"}
|
||||
local PN000 = {"techage_gaspipe_knee.png", "techage:ta4_pipeS"}
|
||||
local PN090 = {"techage_gaspipe_knee.png^[transformR90", "techage:ta4_pipeS"}
|
||||
local PN180 = {"techage_gaspipe_knee.png^[transformR180", "techage:ta4_pipeS"}
|
||||
local PN270 = {"techage_gaspipe_knee.png^[transformR270", "techage:ta4_pipeS"}
|
||||
|
||||
techage.ConstructionPlans["ta3_tank"] = {
|
||||
{false, false, false, false, false, false, false, false, false},
|
||||
{false, false, false, false, false, false, false, false, false},
|
||||
{false, Tubes, PushR, Tubes, Tank, PIPEH, Pump, PIPEH, Tank},
|
||||
{false, PushL, Tubes, Tubes, TK180, false, false, false, false},
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
-- Wind Turbine
|
||||
--
|
||||
@ -187,12 +210,6 @@ techage.ConstructionPlans["ta4_windturbine"] = {
|
||||
-- Thermal Storage System
|
||||
--
|
||||
local CONCR = {"basic_materials_concrete_block.png", "basic_materials:concrete_block"}
|
||||
local PIPEH = {"techage_gaspipe.png", "techage:ta4_pipeS"}
|
||||
local PIPEV = {"techage_gaspipe.png^[transformR90", "techage:ta4_pipeS"}
|
||||
local PN000 = {"techage_gaspipe_knee.png", "techage:ta4_pipeS"}
|
||||
local PN090 = {"techage_gaspipe_knee.png^[transformR90", "techage:ta4_pipeS"}
|
||||
local PN180 = {"techage_gaspipe_knee.png^[transformR180", "techage:ta4_pipeS"}
|
||||
local PN270 = {"techage_gaspipe_knee.png^[transformR270", "techage:ta4_pipeS"}
|
||||
local HEXR1 = {"techage_filling_ta4.png^techage_frameT_ta4.png^techage_appl_ribsT.png", "techage:heatexchanger3"}
|
||||
local HEXR2 = {"techage_filling_ta4.png^techage_frameM_ta4.png^techage_appl_ribsB.png", "techage:heatexchanger2"}
|
||||
local HEXR3 = {"techage_filling_ta4.png^techage_frameB_ta4.png^techage_appl_hole_electric.png", "techage:heatexchanger1"}
|
||||
|
@ -96,11 +96,11 @@ function techage.furnace.smelting(pos, mem, elapsed)
|
||||
local state = techage.RUNNING
|
||||
if inv and not inv:is_empty("src") then
|
||||
if not mem.output or not mem.num_recipe then
|
||||
return techage.FAULT
|
||||
return techage.FAULT, "recipe error"
|
||||
end
|
||||
local recipe = Recipes[mem.output][mem.num_recipe]
|
||||
if not recipe then
|
||||
return techage.FAULT
|
||||
return techage.FAULT, "recipe error"
|
||||
end
|
||||
-- check dst inv
|
||||
local item = ItemStack(mem.output)
|
||||
|
@ -17,28 +17,34 @@ local M = minetest.get_meta
|
||||
local S = techage.S
|
||||
|
||||
local firebox = techage.firebox
|
||||
local oilburner = techage.oilburner
|
||||
local Pipe = techage.LiquidPipe
|
||||
local liquid = techage.liquid
|
||||
|
||||
local CYCLE_TIME = 2
|
||||
|
||||
local function has_fuel(pos, mem)
|
||||
return mem.burn_cycles > 0 or firebox.has_fuel(pos)
|
||||
return mem.burn_cycles > 0 or (mem.liquid and mem.liquid.amount and mem.liquid.amount > 0)
|
||||
end
|
||||
|
||||
local function stop_firebox(pos, mem)
|
||||
mem.running = false
|
||||
firebox.swap_node(pos, "techage:furnace_firebox")
|
||||
minetest.get_node_timer(pos):stop()
|
||||
M(pos):set_string("formspec", firebox.formspec(mem))
|
||||
M(pos):set_string("formspec", oilburner.formspec(mem))
|
||||
end
|
||||
|
||||
local function node_timer(pos, elapsed)
|
||||
local mem = tubelib2.get_mem(pos)
|
||||
mem.liquid = mem.liquid or {}
|
||||
mem.liquid.amount = mem.liquid.amount or 0
|
||||
if mem.running then
|
||||
oilburner.formspec_update(pos, mem)
|
||||
mem.burn_cycles = (mem.burn_cycles or 0) - 1
|
||||
if mem.burn_cycles <= 0 then
|
||||
local taken = firebox.get_fuel(pos)
|
||||
if taken then
|
||||
mem.burn_cycles = (firebox.Burntime[taken:get_name()] or 1) / CYCLE_TIME
|
||||
if mem.liquid.amount > 0 then
|
||||
mem.liquid.amount = mem.liquid.amount - 1
|
||||
mem.burn_cycles = (oilburner.Oilburntime or 1) / CYCLE_TIME
|
||||
mem.burn_cycles_total = mem.burn_cycles
|
||||
else
|
||||
stop_firebox(pos, mem)
|
||||
@ -55,7 +61,7 @@ local function start_firebox(pos, mem)
|
||||
node_timer(pos, 0)
|
||||
firebox.swap_node(pos, "techage:furnace_firebox_on")
|
||||
minetest.get_node_timer(pos):start(CYCLE_TIME)
|
||||
M(pos):set_string("formspec", firebox.formspec(mem))
|
||||
M(pos):set_string("formspec", oilburner.formspec(mem))
|
||||
end
|
||||
end
|
||||
|
||||
@ -70,7 +76,7 @@ local function booster_cmnd(pos, cmnd)
|
||||
end
|
||||
|
||||
minetest.register_node("techage:furnace_firebox", {
|
||||
description = S("TA3 Furnace Firebox"),
|
||||
description = S("TA3 Furnace Oil Burner"),
|
||||
tiles = {
|
||||
-- up, down, right, left, back, front
|
||||
"techage_concrete.png^techage_appl_open.png^techage_frame_ta3.png",
|
||||
@ -87,25 +93,43 @@ minetest.register_node("techage:furnace_firebox", {
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
|
||||
on_timer = node_timer,
|
||||
can_dig = firebox.can_dig,
|
||||
allow_metadata_inventory_put = firebox.allow_metadata_inventory_put,
|
||||
allow_metadata_inventory_take = firebox.allow_metadata_inventory_take,
|
||||
on_receive_fields = firebox.on_receive_fields,
|
||||
on_rightclick = firebox.on_rightclick,
|
||||
can_dig = oilburner.can_dig,
|
||||
allow_metadata_inventory_put = oilburner.allow_metadata_inventory_put,
|
||||
allow_metadata_inventory_take = oilburner.allow_metadata_inventory_take,
|
||||
on_receive_fields = oilburner.on_receive_fields,
|
||||
on_rightclick = oilburner.on_rightclick,
|
||||
|
||||
on_construct = function(pos)
|
||||
local mem = tubelib2.init_mem(pos)
|
||||
techage.add_node(pos, "techage:furnace_firebox")
|
||||
mem.running = false
|
||||
mem.burn_cycles = 0
|
||||
mem.liquid = {}
|
||||
mem.liquid.amount = 0
|
||||
local meta = M(pos)
|
||||
meta:set_string("formspec", firebox.formspec(mem))
|
||||
meta:set_string("formspec", oilburner.formspec(mem))
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size('fuel', 1)
|
||||
end,
|
||||
|
||||
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||
local mem = tubelib2.get_mem(pos)
|
||||
mem.liquid = mem.liquid or {}
|
||||
mem.liquid.amount = mem.liquid.amount or 0
|
||||
oilburner.on_metadata_inventory_put(pos, listname, index, stack, player)
|
||||
end,
|
||||
|
||||
liquid = {
|
||||
capa = oilburner.CAPACITY,
|
||||
peek = liquid.srv_peek,
|
||||
put = liquid.srv_put,
|
||||
take = liquid.srv_take,
|
||||
},
|
||||
networks = oilburner.networks,
|
||||
})
|
||||
|
||||
minetest.register_node("techage:furnace_firebox_on", {
|
||||
description = S("TA3 Furnace Firebox"),
|
||||
description = S("TA3 Furnace Oil Burner"),
|
||||
tiles = {
|
||||
-- up, down, right, left, back, front
|
||||
"techage_concrete.png^techage_frame_ta3.png",
|
||||
@ -134,11 +158,33 @@ minetest.register_node("techage:furnace_firebox_on", {
|
||||
drop = "techage:furnace_firebox",
|
||||
|
||||
on_timer = node_timer,
|
||||
can_dig = firebox.can_dig,
|
||||
allow_metadata_inventory_put = firebox.allow_metadata_inventory_put,
|
||||
allow_metadata_inventory_take = firebox.allow_metadata_inventory_take,
|
||||
on_receive_fields = firebox.on_receive_fields,
|
||||
on_rightclick = firebox.on_rightclick,
|
||||
can_dig = oilburner.can_dig,
|
||||
allow_metadata_inventory_put = oilburner.allow_metadata_inventory_put,
|
||||
allow_metadata_inventory_take = oilburner.allow_metadata_inventory_take,
|
||||
on_receive_fields = oilburner.on_receive_fields,
|
||||
on_rightclick = oilburner.on_rightclick,
|
||||
|
||||
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||
local mem = tubelib2.get_mem(pos)
|
||||
mem.liquid = mem.liquid or {}
|
||||
mem.liquid.amount = mem.liquid.amount or 0
|
||||
start_firebox(pos, mem)
|
||||
oilburner.on_metadata_inventory_put(pos, listname, index, stack, player)
|
||||
end,
|
||||
|
||||
liquid = {
|
||||
capa = oilburner.CAPACITY,
|
||||
peek = liquid.srv_peek,
|
||||
put = function(pos, indir, name, amount)
|
||||
liquid.srv_put(pos, indir, name, amount)
|
||||
local mem = tubelib2.get_mem(pos)
|
||||
mem.liquid = mem.liquid or {}
|
||||
mem.liquid.amount = mem.liquid.amount or 0
|
||||
start_firebox(pos, mem)
|
||||
end,
|
||||
take = liquid.srv_take,
|
||||
},
|
||||
networks = oilburner.networks,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
@ -151,25 +197,6 @@ minetest.register_craft({
|
||||
})
|
||||
|
||||
techage.register_node({"techage:furnace_firebox", "techage:furnace_firebox_on"}, {
|
||||
on_pull_item = function(pos, in_dir, num)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
return techage.get_items(inv, "fuel", num)
|
||||
end,
|
||||
on_push_item = function(pos, in_dir, stack)
|
||||
if firebox.Burntime[stack:get_name()] then
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
local mem = tubelib2.get_mem(pos)
|
||||
return techage.put_items(inv, "fuel", stack)
|
||||
end
|
||||
return false
|
||||
end,
|
||||
on_unpull_item = function(pos, in_dir, stack)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
return techage.put_items(inv, "fuel", stack)
|
||||
end,
|
||||
on_recv_message = function(pos, src, topic, payload)
|
||||
local mem = tubelib2.get_mem(pos)
|
||||
if topic == "state" then
|
||||
@ -179,9 +206,7 @@ techage.register_node({"techage:furnace_firebox", "techage:furnace_firebox_on"},
|
||||
return "stopped"
|
||||
end
|
||||
elseif topic == "fuel" then
|
||||
local inv = M(pos):get_inventory()
|
||||
local stack = inv:get_stack("fuel", 1)
|
||||
return stack:get_count()
|
||||
return mem.liquid and mem.liquid.amount and mem.liquid.amount
|
||||
else
|
||||
return "unsupported"
|
||||
end
|
||||
@ -201,6 +226,9 @@ techage.register_node({"techage:furnace_firebox", "techage:furnace_firebox_on"},
|
||||
end
|
||||
})
|
||||
|
||||
Pipe:add_secondary_node_names({"techage:furnace_firebox", "techage:furnace_firebox_on"})
|
||||
|
||||
|
||||
minetest.register_lbm({
|
||||
label = "[techage] Furnace firebox",
|
||||
name = "techage:furnace",
|
||||
|
@ -45,6 +45,8 @@ local function formspec(self, pos, mem)
|
||||
"image[2,0.5;1,1;techage_form_arrow_bg.png^[lowpart:"..
|
||||
(mem.item_percent or 0)..":techage_form_arrow_fg.png^[transformR270]"..
|
||||
"image_button[2,2;1,1;".. self:get_state_button_image(mem) ..";state_button;]"..
|
||||
"tooltip[2,2;1,1;"..self:get_state_tooltip(mem).."]"..
|
||||
|
||||
"list[context;dst;3,0;2,2;]"..
|
||||
|
||||
"label[6,0;"..S("Outp")..": "..idx.."/"..num.."]"..
|
||||
@ -78,13 +80,13 @@ end
|
||||
|
||||
local function cooking(pos, crd, mem, elapsed)
|
||||
if firebox_cmnd(pos, "fuel") then
|
||||
local state = smelting(pos, mem, elapsed)
|
||||
local state, err = smelting(pos, mem, elapsed)
|
||||
if state == techage.RUNNING then
|
||||
crd.State:keep_running(pos, mem, COUNTDOWN_TICKS)
|
||||
elseif state == techage.BLOCKED then
|
||||
crd.State:blocked(pos, mem)
|
||||
elseif state == techage.FAULT then
|
||||
crd.State:fault(pos, mem)
|
||||
crd.State:fault(pos, mem, err)
|
||||
elseif state == techage.STANDBY then
|
||||
crd.State:idle(pos, mem)
|
||||
end
|
||||
@ -167,7 +169,10 @@ end
|
||||
|
||||
local function can_start(pos, mem, state)
|
||||
if D.dbg2 then D.dbg("can_start", state, firebox_cmnd(pos, "fuel")) end
|
||||
return firebox_cmnd(pos, "fuel")
|
||||
if not firebox_cmnd(pos, "fuel") then
|
||||
return S("no fuel or no power")
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
local function on_node_state_change(pos, old_state, new_state)
|
||||
|
4
init.lua
4
init.lua
@ -214,8 +214,8 @@ else
|
||||
dofile(MP.."/energy_storage/nodes.lua")
|
||||
|
||||
-- Chemistry
|
||||
dofile(MP.."/chemistry/ta4_reactor.lua")
|
||||
dofile(MP.."/chemistry/ta4_doser.lua")
|
||||
--dofile(MP.."/chemistry/ta4_reactor.lua")
|
||||
--dofile(MP.."/chemistry/ta4_doser.lua")
|
||||
|
||||
-- Hydrogen
|
||||
dofile(MP.."/hydrogen/hydrogen.lua")
|
||||
|
@ -243,7 +243,23 @@ minetest.register_craftitem("techage:river_water", {
|
||||
|
||||
})
|
||||
|
||||
minetest.register_craftitem("techage:barrel_water", {
|
||||
description = S("Water Barrel"),
|
||||
inventory_image = "techage_barrel_water_inv.png",
|
||||
stack_max = 1,
|
||||
})
|
||||
|
||||
minetest.register_craftitem("techage:barrel_river_water", {
|
||||
description = S("River Water Barrel"),
|
||||
inventory_image = "techage_barrel_water_inv.png",
|
||||
stack_max = 1,
|
||||
})
|
||||
|
||||
techage.register_liquid("bucket:bucket_water", "bucket:bucket_empty", 1, "techage:water")
|
||||
techage.register_liquid("bucket:bucket_river_water", "bucket:bucket_empty", 1, "techage:river_water")
|
||||
|
||||
techage.register_liquid("techage:barrel_water", "techage:ta3_barrel_empty", 10, "techage:water")
|
||||
techage.register_liquid("techage:barrel_river_water", "techage:ta3_barrel_empty", 10, "techage:river_water")
|
||||
|
||||
techage.register_liquid("bucket:bucket_lava", "bucket:bucket_empty", 1, "default:lava_source")
|
||||
|
||||
|
@ -181,9 +181,9 @@ minetest.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "techage:ta3_pipeS 6",
|
||||
recipe = {
|
||||
{'', '', "default:steel_ingot"},
|
||||
{'dye:yellow', 'techage:meridium_ingot', ''},
|
||||
{"default:steel_ingot", '', ''},
|
||||
{'', '', "techage:iron_ingot"},
|
||||
{'dye:yellow', 'default:steel_ingot', ''},
|
||||
{"techage:iron_ingot", '', ''},
|
||||
},
|
||||
})
|
||||
|
||||
|
@ -54,14 +54,6 @@ local function formspec_oil(x, y, mem)
|
||||
if mem.running then
|
||||
fuel_percent = ((mem.burn_cycles or 1) * 100) / (mem.burn_cycles_total or 1)
|
||||
end
|
||||
-- return "container["..x..","..y.."]"..
|
||||
-- "background[0,0;2,2.05;techage_form_grey.png]"..
|
||||
-- "image[0,0;1,1;techage_form_input_arrow.png]"..
|
||||
-- "image[1,0;1,1;default_furnace_fire_bg.png^[lowpart:"..
|
||||
-- fuel_percent..":default_furnace_fire_fg.png]"..
|
||||
-- techage.item_image(1, 1, itemname)..
|
||||
-- "list[context;fuel;0,1;1,1;]"..
|
||||
-- "container_end[]"
|
||||
return "container["..x..","..y.."]"..
|
||||
"background[0,0;3,1.05;techage_form_grey.png]"..
|
||||
"list[context;fuel;0,0;1,1;]"..
|
||||
@ -71,6 +63,9 @@ local function formspec_oil(x, y, mem)
|
||||
"container_end[]"
|
||||
end
|
||||
|
||||
techage.oilburner.formspec_oil = formspec_oil
|
||||
|
||||
|
||||
function techage.oilburner.formspec(mem)
|
||||
local update = ((mem.countdown or 0) > 0 and mem.countdown) or S("Update")
|
||||
return "size[8,5]"..
|
||||
@ -123,6 +118,17 @@ local function move_item(pos, stack)
|
||||
M(pos):set_string("formspec", techage.oilburner.formspec(mem))
|
||||
end
|
||||
|
||||
function techage.oilburner.move_item(pos, stack, formspec)
|
||||
local mem = tubelib2.get_mem(pos)
|
||||
local inv = M(pos):get_inventory()
|
||||
if liquid.is_container_empty(stack:get_name()) then
|
||||
fill_container(pos, inv, mem)
|
||||
else
|
||||
empty_container(pos, inv, mem)
|
||||
end
|
||||
M(pos):set_string("formspec", formspec(pos, mem))
|
||||
end
|
||||
|
||||
function techage.oilburner.allow_metadata_inventory_put(pos, listname, index, stack, player)
|
||||
if minetest.is_protected(pos, player:get_player_name()) then
|
||||
return 0
|
||||
|
@ -293,4 +293,20 @@ Pipe:add_secondary_node_names({
|
||||
"techage:t4_pump", "techage:t4_pump_on",
|
||||
})
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
output = "techage:t3_pump 2",
|
||||
recipe = {
|
||||
{"group:wood", "techage:iron_ingot", "group:wood"},
|
||||
{"techage:ta3_pipeS", "techage:usmium_nuggets", "techage:ta3_pipeS"},
|
||||
{"group:wood", "techage:iron_ingot", "group:wood"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "techage:t4_pump",
|
||||
recipe = {
|
||||
{"default:tin_ingot", "dye:blue", "default:steel_ingot"},
|
||||
{"", "techage:t3_pump", ""},
|
||||
{"", "", ""},
|
||||
},
|
||||
})
|
||||
|
166
liquids/tank.lua
166
liquids/tank.lua
@ -20,7 +20,7 @@ local LQD = function(pos) return (minetest.registered_nodes[techage.get_node_lvm
|
||||
local Pipe = techage.LiquidPipe
|
||||
local liquid = techage.liquid
|
||||
|
||||
local CAPACITY = 1000
|
||||
local CAPACITY = 500
|
||||
|
||||
|
||||
local function formspec_tank(x, y, mem)
|
||||
@ -224,78 +224,80 @@ minetest.register_node("techage:ta3_tank", {
|
||||
sounds = default.node_sound_metal_defaults(),
|
||||
})
|
||||
|
||||
Pipe:add_secondary_node_names({"techage:ta3_tank"})
|
||||
|
||||
--minetest.register_node("techage:ta4_tank", {
|
||||
-- description = S("TA4 Tank"),
|
||||
-- tiles = {
|
||||
-- -- up, down, right, left, back, front
|
||||
-- "techage_filling_ta4.png^techage_frame_ta4_top.png",
|
||||
-- "techage_filling_ta4.png^techage_frame_ta4.png",
|
||||
-- "techage_filling_ta4.png^techage_frame_ta4.png^techage_appl_hole_pipe.png",
|
||||
-- "techage_filling_ta4.png^techage_frame_ta4.png^techage_appl_hole_tube.png",
|
||||
-- "techage_filling_ta4.png^techage_frame_ta4.png^techage_appl_tank.png",
|
||||
-- "techage_filling_ta4.png^techage_frame_ta4.png^techage_appl_tank.png",
|
||||
-- },
|
||||
|
||||
-- on_construct = function(pos)
|
||||
-- local meta = minetest.get_meta(pos)
|
||||
-- local inv = meta:get_inventory()
|
||||
-- inv:set_size('src', 1)
|
||||
-- inv:set_size('dst', 1)
|
||||
-- end,
|
||||
|
||||
-- liquid = {
|
||||
-- peek = function(pos, indir)
|
||||
-- if indir == M(pos):get_int("indir") then
|
||||
-- return liquid.srv_peek(pos, "main")
|
||||
-- end
|
||||
-- end,
|
||||
-- put = function(pos, indir, name, amount)
|
||||
-- if indir == M(pos):get_int("indir") then
|
||||
-- return liquid.srv_put(pos, "main", name, amount)
|
||||
-- end
|
||||
-- end,
|
||||
-- take = function(pos, indir, name, amount)
|
||||
-- if indir == M(pos):get_int("indir") then
|
||||
-- return liquid.srv_take(pos, "main", name, amount)
|
||||
-- end
|
||||
-- end,
|
||||
|
||||
-- },
|
||||
-- on_rightclick = on_rightclick,
|
||||
-- can_dig = can_dig,
|
||||
-- allow_metadata_inventory_put = allow_metadata_inventory_put,
|
||||
-- allow_metadata_inventory_take = allow_metadata_inventory_take,
|
||||
-- paramtype2 = "facedir",
|
||||
-- on_rotate = screwdriver.disallow,
|
||||
-- groups = {cracky=2},
|
||||
-- is_ground_content = false,
|
||||
-- sounds = default.node_sound_metal_defaults(),
|
||||
--})
|
||||
|
||||
---- for mechanical pipe connections
|
||||
--techage.power.register_node({"techage:ta4_tank"}, {
|
||||
-- conn_sides = {"R"},
|
||||
-- power_network = Pipe,
|
||||
-- after_place_node = function(pos, placer)
|
||||
-- local meta = M(pos)
|
||||
-- local mem = tubelib2.init_mem(pos)
|
||||
-- mem.liquid = mem.liquid or {}
|
||||
-- local number = techage.add_node(pos, "techage:ta4_tank")
|
||||
-- meta:set_string("node_number", number)
|
||||
-- meta:set_string("owner", placer:get_player_name())
|
||||
-- local node = minetest.get_node(pos)
|
||||
-- local indir = techage.side_to_indir("R", node.param2)
|
||||
-- meta:set_int("indir", indir) -- from liquid point of view
|
||||
-- meta:set_string("formspec", formspec(mem))
|
||||
-- meta:set_string("infotext", S("TA4 Tank").." "..number)
|
||||
-- end,
|
||||
-- after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
||||
-- techage.remove_node(pos)
|
||||
-- end,
|
||||
--})
|
||||
minetest.register_node("techage:ta4_tank", {
|
||||
description = S("TA4 Tank"),
|
||||
tiles = {
|
||||
-- up, down, right, left, back, front
|
||||
"techage_filling_ta4.png^techage_frame_ta4_top.png",
|
||||
"techage_filling_ta4.png^techage_frame_ta4.png",
|
||||
"techage_filling_ta4.png^techage_frame_ta4.png^techage_appl_tank.png",
|
||||
"techage_filling_ta4.png^techage_frame_ta4.png^techage_appl_tank.png",
|
||||
"techage_filling_ta4.png^techage_frame_ta4.png^techage_appl_tank.png",
|
||||
"techage_filling_ta4.png^techage_frame_ta4.png^techage_appl_tank.png",
|
||||
},
|
||||
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size('src', 1)
|
||||
inv:set_size('dst', 1)
|
||||
end,
|
||||
after_place_node = function(pos, placer)
|
||||
local meta = M(pos)
|
||||
local mem = tubelib2.init_mem(pos)
|
||||
mem.liquid = {}
|
||||
local number = techage.add_node(pos, "techage:ta4_tank")
|
||||
meta:set_string("node_number", number)
|
||||
meta:set_string("owner", placer:get_player_name())
|
||||
meta:set_string("formspec", formspec(mem))
|
||||
meta:set_string("infotext", S("TA4 Tank").." "..number)
|
||||
Pipe:after_place_node(pos)
|
||||
end,
|
||||
tubelib2_on_update2 = function(pos, dir, tlib2, node)
|
||||
liquid.update_network(pos)
|
||||
end,
|
||||
on_timer = function(pos, elapsed)
|
||||
local mem = tubelib2.get_mem(pos)
|
||||
mem.countdown = mem.countdown - 1
|
||||
M(pos):set_string("formspec", formspec(mem))
|
||||
return mem.countdown > 0
|
||||
end,
|
||||
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
||||
Pipe:after_dig_node(pos)
|
||||
techage.remove_node(pos)
|
||||
end,
|
||||
liquid = {
|
||||
capa = CAPACITY * 2,
|
||||
peek = liquid.srv_peek,
|
||||
put = function(pos, indir, name, amount)
|
||||
local leftover = liquid.srv_put(pos, indir, name, amount)
|
||||
local inv = M(pos):get_inventory()
|
||||
if not inv:is_empty("src") and inv:is_empty("dst") then
|
||||
fill_container(pos, inv)
|
||||
end
|
||||
return leftover
|
||||
end,
|
||||
take = liquid.srv_take,
|
||||
},
|
||||
networks = {
|
||||
pipe = {
|
||||
sides = techage.networks.AllSides, -- Pipe connection sides
|
||||
ntype = "tank",
|
||||
},
|
||||
},
|
||||
on_rightclick = on_rightclick,
|
||||
on_receive_fields = on_receive_fields,
|
||||
can_dig = can_dig,
|
||||
allow_metadata_inventory_put = allow_metadata_inventory_put,
|
||||
allow_metadata_inventory_take = allow_metadata_inventory_take,
|
||||
allow_metadata_inventory_move = allow_metadata_inventory_move,
|
||||
on_metadata_inventory_put = on_metadata_inventory_put,
|
||||
paramtype2 = "facedir",
|
||||
on_rotate = screwdriver.disallow,
|
||||
groups = {cracky=2},
|
||||
is_ground_content = false,
|
||||
sounds = default.node_sound_metal_defaults(),
|
||||
})
|
||||
|
||||
techage.register_node({"techage:ta3_tank", "techage:ta4_tank"}, {
|
||||
on_pull_item = function(pos, in_dir, num)
|
||||
@ -336,3 +338,23 @@ techage.register_node({"techage:ta3_tank", "techage:ta4_tank"}, {
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
Pipe:add_secondary_node_names({"techage:ta3_tank", "techage:ta4_tank"})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "techage:ta3_tank 2",
|
||||
recipe = {
|
||||
{"techage:iron_ingot", "techage:ta3_barrel_empty", "group:wood"},
|
||||
{"techage:tubeS", "techage:ta3_barrel_empty", "techage:ta3_pipeS"},
|
||||
{"group:wood", "techage:ta3_barrel_empty", "techage:iron_ingot"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "techage:ta4_tank",
|
||||
recipe = {
|
||||
{"default:tin_ingot", "dye:blue", "default:steel_ingot"},
|
||||
{"", "techage:ta3_tank", ""},
|
||||
{"", "", ""},
|
||||
},
|
||||
})
|
||||
|
@ -74,8 +74,10 @@ Power=Energie
|
||||
Primary available=Primär verfügbar
|
||||
Primary needed=Primär benötigt
|
||||
Pusher=Schieber
|
||||
Recipe=Rezepte
|
||||
Remove derrick=Entferne Ölturm
|
||||
Rinsing=Waschen
|
||||
River Water Barrel=Flusswasserfass
|
||||
Save=Speichern
|
||||
Secondary available=Sekundär verfügbar
|
||||
Secondary needed=Sekundär benötigt
|
||||
@ -91,10 +93,14 @@ TA Ceiling Lamp=TA Deckenlampe
|
||||
TA Construction Board=TA Konstruktionsplan
|
||||
TA Electric Cable=TA Stromkabel
|
||||
TA Electric Junction Box=TA Verteilerdose
|
||||
TA Empty Barrel=TA leeres Fass
|
||||
TA Industrial Lamp 1=TA Industrielampe 1
|
||||
TA Industrial Lamp 2=TA Industrielampe 2
|
||||
TA Industrial Lamp 3=TA Industrielampe 3
|
||||
TA Junction Pipe=TA Leitungskupplung
|
||||
TA Lamp=TA Lampe
|
||||
TA Oil=TA Öl
|
||||
TA Pipe=TA Leitung (Flüssigkeiten)
|
||||
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)
|
||||
@ -142,20 +148,24 @@ TA3 Detector=TA3 Detektor
|
||||
TA3 Drill Bit=TA3 Bohrgestänge
|
||||
TA3 Ele Fab=TA3 E-Fabrik
|
||||
TA3 Funnel=TA3 Trichter
|
||||
TA3 Furnace Firebox=TA3 Ofen-Feuerkiste
|
||||
TA3 Furnace Oil Burner=TA3 Ofen-Ölbrenner
|
||||
TA3 Generator=TA3 Generator
|
||||
TA3 Gravel Sieve=TA3 Kiessieb
|
||||
TA3 Logic Block=TA3 Logikblock
|
||||
TA3 Melting=TA3 Schmelzen
|
||||
TA3 Node Detector=TA3 Block Detektor
|
||||
TA3 Oil Barrel=TA3 Ölfass
|
||||
TA3 Oil Explorer=TA3 Ölexplorer
|
||||
TA3 Oil Storage=TA3 Öl Speicher
|
||||
TA3 Player Detector=TA3 Spieler Detektor
|
||||
TA3 Power Station Firebox=TA3 Kraftwerks-Feuerbox
|
||||
TA3 Power Station Oil Burner=TA3 Kraftwerks-Ölbrenner
|
||||
TA3 Power Terminal=TA3 Strom Terminal
|
||||
TA3 Protected Chest=TA3 Gesicherte Kiste
|
||||
TA3 Pump=TA3 Pumpe
|
||||
TA3 Repeater=TA3 Wiederholer
|
||||
TA3 Sequencer=TA3 Sequenzer
|
||||
TA3 Tank=TA3 Tank
|
||||
TA3 Terminal=TA3 Terminal
|
||||
TA3 Timer=TA3 Timer
|
||||
TA3 Tiny Power Generator=TA3 Kleiner Stromgenerator
|
||||
@ -163,6 +173,7 @@ TA3 Turbine=TA3 Turbine
|
||||
TA3 Vacuum Tube=TA3 Vakuumröhre
|
||||
TA4 Carbon Fiber=TA4 Kohlefaser
|
||||
TA4 Derrick=TA4 Bohrturm
|
||||
TA4 Doser=TA4 Dosierer
|
||||
TA4 Electrolyzer=TA4 Elektrolyseur
|
||||
TA4 Energy Storage=TA4 Energiespeicher
|
||||
TA4 Epoxide Resin=TA4 Epoxidharz
|
||||
@ -178,10 +189,11 @@ TA4 Junction Pipe=TA4 Verbindungsrohr
|
||||
TA4 Low Power Box==TA4 Niederspannungsverteilerbox
|
||||
TA4 Low Power Cable=TA4 Niederspannungskabel
|
||||
TA4 Pillar=TA4 Säule
|
||||
TA4 Pipe=TA4 Röhre
|
||||
TA4 Pipe Inlet=TA4 Rohrzulauf
|
||||
TA4 Protected Chest=TA4 Gesicherte Kiste
|
||||
TA4 Pump=TA4 Pumpe
|
||||
TA4 Reactor=Reaktor
|
||||
TA4 Reactor Filler Pipe=TA4 Reaktor Einfüllstutzen
|
||||
TA4 Rotor Blade=TA4 Rotorblatt
|
||||
TA4 Silicon Wafer=TA4 Silizium-Wafer
|
||||
TA4 Solar Carrier Module=TA4 Solar Trägermodul
|
||||
@ -192,6 +204,7 @@ TA4 Solar Inverter AC=TA4 Solar Wechselrichter AC
|
||||
TA4 Solar Inverter DC=TA4 Solar Wechselrichter DC
|
||||
TA4 Solar Module=TA4 Solarmodul
|
||||
TA4 Streetlamp Solar Cell=TA4 Straßenlampen-Solarzelle
|
||||
TA4 Tank=TA4 Tank
|
||||
TA4 Turbine=TA4 Turbine
|
||||
TA4 WLAN Chip=TA4 WLAN Chip
|
||||
TA4 Wind Turbine=TA4 Windkraftanlage
|
||||
@ -214,6 +227,8 @@ Time=Zeit
|
||||
Update=Update
|
||||
Usmium Nuggets=Usmium Nuggets
|
||||
WLAN Chip=WLAN Chip
|
||||
Water=Wasser
|
||||
Water Barrel=Wasserfass
|
||||
Wrong place for wind turbines!=Falscher Ort für Windkraftanlagen
|
||||
[TA4 Wind Turbine]=[TA4 Windkraftanlage]
|
||||
[TA] Area is protected!=[TA] Bereich ist geschützt
|
||||
@ -233,8 +248,14 @@ added=hinzugefügt wird
|
||||
added or removed=hinzugefügt oder entfernt wird
|
||||
commands like: help=Kommandos wie: help
|
||||
connected with=verbunden mit
|
||||
empty=leer
|
||||
input missing=Zufuhr fehlt
|
||||
light=Licht
|
||||
no fuel or no power=kein Strom oder Brennstoff
|
||||
output blocked=Ausgang blockiert
|
||||
power=Strom
|
||||
reactor defect=Reaktor defekt
|
||||
reactor has no power=Reaktor hat keinen Strom
|
||||
removed=entfernt
|
||||
stopped=gestoppt
|
||||
##### not used anymore #####
|
||||
##### not used anymore #####
|
||||
|
@ -72,8 +72,10 @@ Power=
|
||||
Primary available=
|
||||
Primary needed=
|
||||
Pusher=
|
||||
Recipe=
|
||||
Remove derrick=
|
||||
Rinsing=
|
||||
River Water Barrel=
|
||||
Save=
|
||||
Secondary available=
|
||||
Secondary needed=
|
||||
@ -89,10 +91,14 @@ TA Ceiling Lamp=
|
||||
TA Construction Board=
|
||||
TA Electric Cable=
|
||||
TA Electric Junction Box=
|
||||
TA Empty Barrel=
|
||||
TA Industrial Lamp 1=
|
||||
TA Industrial Lamp 2=
|
||||
TA Industrial Lamp 3=
|
||||
TA Junction Pipe=
|
||||
TA Lamp=
|
||||
TA Oil=
|
||||
TA Pipe=
|
||||
TA Power Line=
|
||||
TA Power Pole=
|
||||
TA Power Pole Top (for up to 6 connections)=
|
||||
@ -140,20 +146,24 @@ TA3 Detector=
|
||||
TA3 Drill Bit=
|
||||
TA3 Ele Fab=
|
||||
TA3 Funnel=
|
||||
TA3 Furnace Firebox=
|
||||
TA3 Furnace Oil Burner=
|
||||
TA3 Generator=
|
||||
TA3 Gravel Sieve=
|
||||
TA3 Logic Block=
|
||||
TA3 Melting=
|
||||
TA3 Node Detector=
|
||||
TA3 Oil Barrel=
|
||||
TA3 Oil Explorer=
|
||||
TA3 Oil Storage=
|
||||
TA3 Player Detector=
|
||||
TA3 Power Station Firebox=
|
||||
TA3 Power Station Oil Burner=
|
||||
TA3 Power Terminal=
|
||||
TA3 Protected Chest=
|
||||
TA3 Pump=
|
||||
TA3 Repeater=
|
||||
TA3 Sequencer=
|
||||
TA3 Tank=
|
||||
TA3 Terminal=
|
||||
TA3 Timer=
|
||||
TA3 Tiny Power Generator=
|
||||
@ -161,6 +171,7 @@ TA3 Turbine=
|
||||
TA3 Vacuum Tube=
|
||||
TA4 Carbon Fiber=
|
||||
TA4 Derrick=
|
||||
TA4 Doser=
|
||||
TA4 Electrolyzer=
|
||||
TA4 Energy Storage=
|
||||
TA4 Epoxide Resin=
|
||||
@ -176,10 +187,11 @@ TA4 Junction Pipe=
|
||||
TA4 Low Power Box=
|
||||
TA4 Low Power Cable=
|
||||
TA4 Pillar=
|
||||
TA4 Pipe=
|
||||
TA4 Pipe Inlet=
|
||||
TA4 Protected Chest=
|
||||
TA4 Pump=
|
||||
TA4 Reactor=
|
||||
TA4 Reactor Filler Pipe=
|
||||
TA4 Rotor Blade=
|
||||
TA4 Silicon Wafer=
|
||||
TA4 Solar Carrier Module=
|
||||
@ -190,6 +202,7 @@ TA4 Solar Inverter AC=
|
||||
TA4 Solar Inverter DC=
|
||||
TA4 Solar Module=
|
||||
TA4 Streetlamp Solar Cell=
|
||||
TA4 Tank=
|
||||
TA4 Turbine=
|
||||
TA4 WLAN Chip=
|
||||
TA4 Wind Turbine=
|
||||
@ -212,6 +225,8 @@ Time=
|
||||
Update=
|
||||
Usmium Nuggets=
|
||||
WLAN Chip=
|
||||
Water=
|
||||
Water Barrel=
|
||||
Wrong place for wind turbines!=
|
||||
[TA4 Wind Turbine]=
|
||||
[TA] Area is protected!=
|
||||
@ -231,7 +246,13 @@ added=
|
||||
added or removed=
|
||||
commands like: help=
|
||||
connected with=
|
||||
empty=
|
||||
input missing=
|
||||
light=
|
||||
no fuel or no power=
|
||||
output blocked=
|
||||
power=
|
||||
reactor defect=
|
||||
reactor has no power=
|
||||
removed=
|
||||
stopped=
|
@ -9,15 +9,18 @@ Das Industrielle Zeitalter ist auf seinem Höhepunkt.
|
||||
[techage_ta3|image]
|
||||
|
||||
|
||||
## Kohlekraftwerk
|
||||
## Kohlekraftwerk / Ölkraftwerk
|
||||
|
||||
Das Kohlekraftwerk besteht aus mehreren Blöcken und muss wie im Plan rechts abgebildet, zusammen gebaut werden. Dazu werden die Blöcke TA3 Kraftwerks-Feuerbox, TA3 Boiler oben, TA3 Boiler unten, TA3 Turbine, TA3 Generator und TA3 Kühler benötigt.
|
||||
|
||||
Der Boiler muss mit Wasser gefüllt werden. Dazu bis zu 10 Eimer Wasser in den Boiler füllen.
|
||||
Die Feuerbox muss mit Kohle, Holzkohle oder Erdöl gefüllt werden.
|
||||
Die Feuerbox muss mit Kohle oder Holzkohle gefüllt werden.
|
||||
Wenn das Wasser heiß ist, kann das Ventil am Boiler geöffnet und anschließend die Generator gestartet werden.
|
||||
|
||||
Das Kraftwerk liefert eine Leistung von 80 ku und kann mit Kohle, Holzkohle oder Erdöl betrieben werden.
|
||||
Das Kraftwerk kann alternativ auch mit einem Ölbrenner ausgestattet und dann mit Öl betrieben werden.
|
||||
Das Öl kann über eine Pumpe und Ölleitung nachgefüllt werden.
|
||||
|
||||
Das Kraftwerk liefert eine Leistung von 80 ku.
|
||||
|
||||
[coalpowerstation|plan]
|
||||
|
||||
@ -30,6 +33,14 @@ Die Feuerbox muss mit Kohle, Holzkohle oder Erdöl gefüllt werden. Die Brenndau
|
||||
[ta3_firebox|image]
|
||||
|
||||
|
||||
### TA3 Kraftwerks-Ölbrenner / TA3 Power Station Oil Burner
|
||||
|
||||
Teil des Kraftwerks.
|
||||
Der Ölbrenner kann nur mit Öl gefüllt werden. Die Brenndauer ist abhängig von der Leistung, die vom Kraftwerk angefordert wird. Unter Volllast brennt Öl 20 s. Unter Teillast entsprechend länger (50% Last = doppelte Zeit).
|
||||
|
||||
[ta3_oilbox|image]
|
||||
|
||||
|
||||
### TA3 Boiler unten/oben
|
||||
|
||||
Teil des Kraftwerk. Muss mit Wasser gefüllt werden. Wem kein Wasser mehr vorhanden ist oder die Temperatur zu weit absinkt, schaltet sich der Boiler ab.
|
||||
@ -179,16 +190,16 @@ Die Daten des Terminals werden beim Öffnen des Menüs und dann nur durch Anklic
|
||||
Der TA3 Industrieofen dient als Ergänzung zu normalen Ofen (furnace). Damit können alle Waren mit "Koch" Rezepte, auch im Industrieofen hergestellt werden. Es gibt aber auch spezielle Rezepte, die nur im Industrieofen hergestellt werden können.
|
||||
Der Industrieofen hat sein eigenes Menü zur Rezeptauswahl. Abhängig von den Waren im Industrieofen Inventar links kann rechts das Ausgangsprodukt gewählt werden.
|
||||
|
||||
Der Industrieofen benötigt Strom (für das Gebläse) sowie Kohle, Holzkohle oder Erdöl für die Befeuerung. Der Industrieofens und muss wie im Plan rechts abgebildet, zusammen gebaut werden.
|
||||
Der Industrieofen benötigt Strom (für das Gebläse) sowie Öl für den Brenner. Der Industrieofens und muss wie im Plan rechts abgebildet, zusammen gebaut werden.
|
||||
|
||||
Die Brennzeit für Kohle und Erdöl beträgt 80 s und für Holzkohle 240 s.
|
||||
Die Brennzeit für Öl beträgt 80 s.
|
||||
|
||||
[ta3_furnace|plan]
|
||||
|
||||
|
||||
### TA3 Ofen-Feuerkiste / Furnace Firebox
|
||||
### TA3 Ofen-Ölbrenner / Furnace Oil Burner
|
||||
|
||||
Ist Teil des TA3 Industrieofen. Muss mit Kohle, Holzkohle oder Erdöl befeuert werden.
|
||||
Ist Teil des TA3 Industrieofen. Muss mit Öl befeuert werden.
|
||||
|
||||
[ta3_furnacefirebox|image]
|
||||
|
||||
@ -248,7 +259,7 @@ Wurde das Ölfeld erreicht, kann der Bohrturm abgebaut und die Kiste entfernt we
|
||||
|
||||
### TA3 Ölpumpe / Oil Pumpjack
|
||||
|
||||
An die Stelle der Ölbohrkiste muss nun die Ölpumpe platziert werden. Auch die Ölpumpe benötigt Strom (16 ku) und liefert alle 8 s ein Erdöl-Item, das in einer Kiste gesammelt werden muss. Dazu muss die Ölpumpe über eine Röhre mit der Kiste verbunden werden.
|
||||
An die Stelle der Ölbohrkiste muss nun die Ölpumpe platziert werden. Auch die Ölpumpe benötigt Strom (16 ku) und liefert alle 8 s ein Einheit Erdöl. Das Erdöl muss in einem Tank gesammelt werden. Dazu muss die Ölpumpe über eine Leitung (gelbe Röhre) mit dem Tank verbunden werden.
|
||||
Ist alles Öl abgepumpt, kann auch die Ölpumpe wieder entfernt werden.
|
||||
|
||||
[ta3_pumpjack|image]
|
||||
@ -515,6 +526,41 @@ Die Verarbeitungsleistung ist 2 Items alle 8 s. Der Block benötigt 5 ku Strom.
|
||||
[ta3_liquidsampler|image]
|
||||
|
||||
|
||||
## Flüssigkeiten
|
||||
|
||||
Flüssigkeiten wie Wasser oder Öl können nur die spezielle Leitungen gepumpt und in Tanks gespeichert werden. Wie auch bei Wasser gibt es aber Behälter (Eimer, Kanister, Fässer), in denen die Flüssig gelagert und transportiert werden kann.
|
||||
|
||||
|
||||
[ta3_tank|plan]
|
||||
|
||||
|
||||
### TA3 Tank / TA3 Tank
|
||||
|
||||
In einem Tank können Flüssigkeiten gespeichert werden. Ein Tank kann über eine Pumpe gefüllt bzw. geleert werden. Dazu muss die Pumpe über einer Leitung (gelbe Röhre) mit dem Tank verbunden sein.
|
||||
Ein Tank kann aber auch über Eimer/Fässer gefüllt bzw. geleert werden:
|
||||
- werden leere Fässer mit einem Schieber oder von Hand in den Tank gegeben, werden diese gefüllt und können ausgangsseitig wieder entnommen werden
|
||||
- werden volle Fässer mit einem Schieber oder von Hand in den Tank gegeben, werden diese geleert und können ausgangsseitig wieder entnommen werden
|
||||
|
||||
Dabei ist zu beachten, dass Fässer nur komplett gefüllt oder entleert werden können. Sind bspw. weniger als 10 Einheiten im Tank, muss dieser Rest mit Eimern entnommen oder leergepumpt werden.
|
||||
|
||||
In einen TA3 Tank passen 500 Einheiten oder 50 Fässer einer Flüssigkeit.
|
||||
|
||||
[ta3_tank|image]
|
||||
|
||||
|
||||
### TA3 Pumpe / TA3 Pump
|
||||
|
||||
Mit der Pumpe können Flüssigkeiten von Tanks oder Behältern zu anderen Tanks oder Behältern gepumpt werden. Bei der Pumpe muss die Pumprichtung (Pfeil) beachtet werden. Über die gelben Leitungen und Verbindungsstücke ist es auch möglich, mehrere Tanks auf jeder Seite der Pumpe anzuordnen. Allerdings müssen die Tanks den selben Inhalt haben.
|
||||
|
||||
- zum Füllen, oder volle Fässer zul Leeren
|
||||
- in einen Eimer oder einen Kanister passt eine Einheit einer Flüssigkeit, bspw. Wasser
|
||||
- in ein Fass passen 10 Einheiten Flüssigkeit, bspw. Öl
|
||||
|
||||
Die TA3 Pumpe pumpt 4 Einheiten Flüssigkeit alle zwei Sekunden.
|
||||
|
||||
|
||||
[ta3_pump|image]
|
||||
|
||||
|
||||
## Werkzeuge
|
||||
|
||||
|
@ -210,6 +210,26 @@ Die Brennstoffzelle kann bis zu 40 ku an Strom abgeben und benötigt dazu alle 6
|
||||
[ta4_fuelcell|image]
|
||||
|
||||
|
||||
## Weitere TA4 Blöcke
|
||||
|
||||
|
||||
### TA4 Tank / TA4 Tank
|
||||
|
||||
Siehe TA3 Tank.
|
||||
|
||||
In einen TA4 Tank passen 1000 Einheiten oder 100 Fässer einer Flüssigkeit.
|
||||
|
||||
[ta4_tank|image]
|
||||
|
||||
|
||||
### TA4 Pumpe / TA4 Pump
|
||||
|
||||
Siehe TA3 Pumpe.
|
||||
|
||||
Die TA4 Pumpe pumpt 8 Einheiten Flüssigkeit alle zwei Sekunden.
|
||||
|
||||
[ta4_pump|image]
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -36,8 +36,9 @@
|
||||
- [TA2 Gesicherte Kiste / Protected Chest](./manual_ta2_DE.md#ta2-gesicherte-kiste--protected-chest)
|
||||
- [Techage Forceload Block](./manual_ta2_DE.md#techage-forceload-block)
|
||||
- [TA3: Ölzeitalter](./manual_ta3_DE.md#ta3:-Ölzeitalter)
|
||||
- [Kohlekraftwerk](./manual_ta3_DE.md#kohlekraftwerk)
|
||||
- [Kohlekraftwerk / Ölkraftwerk](./manual_ta3_DE.md#kohlekraftwerk--Ölkraftwerk)
|
||||
- [TA3 Kraftwerks-Feuerbox / Power Station Firebox](./manual_ta3_DE.md#ta3-kraftwerks-feuerbox--power-station-firebox)
|
||||
- [TA3 Kraftwerks-Ölbrenner / TA3 Power Station Oil Burner](./manual_ta3_DE.md#ta3-kraftwerks-Ölbrenner--ta3-power-station-oil-burner)
|
||||
- [TA3 Boiler unten/oben](./manual_ta3_DE.md#ta3-boiler-untenoben)
|
||||
- [TA3 Turbine](./manual_ta3_DE.md#ta3-turbine)
|
||||
- [TA3 Generator](./manual_ta3_DE.md#ta3-generator)
|
||||
@ -56,7 +57,7 @@
|
||||
- [TA3 Akku Block / Akku Box](./manual_ta3_DE.md#ta3-akku-block---akku-box)
|
||||
- [TA3 Strom Terminal / Power Terminal](./manual_ta3_DE.md#ta3-strom-terminal--power-terminal)
|
||||
- [TA3 Industrieofen](./manual_ta3_DE.md#ta3-industrieofen)
|
||||
- [TA3 Ofen-Feuerkiste / Furnace Firebox](./manual_ta3_DE.md#ta3-ofen-feuerkiste--furnace-firebox)
|
||||
- [TA3 Ofen-Ölbrenner / Furnace Oil Burner](./manual_ta3_DE.md#ta3-ofen-Ölbrenner--furnace-oil-burner)
|
||||
- [TA3 Ofenoberteil / Furnace Top](./manual_ta3_DE.md#ta3-ofenoberteil--furnace-top)
|
||||
- [TA3 Gebläse / Booster](./manual_ta3_DE.md#ta3-gebläse--booster)
|
||||
- [Öl-Anlagen](./manual_ta3_DE.md#Öl-anlagen)
|
||||
@ -87,6 +88,9 @@
|
||||
- [TA3 Kiessieb / Gravel Sieve](./manual_ta3_DE.md#ta3-kiessieb--gravel-sieve)
|
||||
- [TA3 Mühle / Grinder](./manual_ta3_DE.md#ta3-mühle--grinder)
|
||||
- [TA3 Flüssigkeitensammler / Liquid Sampler](./manual_ta3_DE.md#ta3-flüssigkeitensammler--liquid-sampler)
|
||||
- [Flüssigkeiten](./manual_ta3_DE.md#flüssigkeiten)
|
||||
- [TA3 Tank / TA3 Tank](./manual_ta3_DE.md#ta3-tank--ta3-tank)
|
||||
- [TA3 Pumpe / TA3 Pump](./manual_ta3_DE.md#ta3-pumpe--ta3-pump)
|
||||
- [Werkzeuge](./manual_ta3_DE.md#werkzeuge)
|
||||
- [Techage Info Tool](./manual_ta3_DE.md#techage-info-tool)
|
||||
- [TechAge Programmer](./manual_ta3_DE.md#techage-programmer)
|
||||
@ -111,4 +115,7 @@
|
||||
- [TA4 Röhre / Pipe](./manual_ta4_DE.md#ta4-röhre--pipe)
|
||||
- [Wasserstoff](./manual_ta4_DE.md#wasserstoff)
|
||||
- [Elektrolyseur](./manual_ta4_DE.md#elektrolyseur)
|
||||
- [Brennstoffzelle](./manual_ta4_DE.md#brennstoffzelle)
|
||||
- [Brennstoffzelle](./manual_ta4_DE.md#brennstoffzelle)
|
||||
- [Weitere TA4 Blöcke](./manual_ta4_DE.md#weitere-ta4-blöcke)
|
||||
- [TA4 Tank / TA4 Tank](./manual_ta4_DE.md#ta4-tank--ta4-tank)
|
||||
- [TA4 Pumpe / TA4 Pump](./manual_ta4_DE.md#ta4-pumpe--ta4-pump)
|
@ -19,6 +19,9 @@ local S = techage.S
|
||||
local Power = techage.ElectricCable
|
||||
local firebox = techage.firebox
|
||||
local power = techage.power
|
||||
local oilburner = techage.oilburner
|
||||
local Pipe = techage.LiquidPipe
|
||||
local liquid = techage.liquid
|
||||
|
||||
local CYCLE_TIME = 2
|
||||
local PWR_CAPA = 12
|
||||
@ -26,31 +29,30 @@ local BURN_CYCLE_FACTOR = 2.5
|
||||
|
||||
local function formspec(self, pos, mem)
|
||||
local fuel_percent = 0
|
||||
if mem.generating then
|
||||
if mem.running then
|
||||
fuel_percent = ((mem.burn_cycles or 1) * 100) / (mem.burn_cycles_total or 1)
|
||||
end
|
||||
return "size[8,7]"..
|
||||
return "size[8,6]"..
|
||||
default.gui_bg..
|
||||
default.gui_bg_img..
|
||||
default.gui_slots..
|
||||
"list[current_name;fuel;0.5,1;1,1;]"..
|
||||
"image[1.5,1;1,1;default_furnace_fire_bg.png^[lowpart:"..
|
||||
fuel_percent..":default_furnace_fire_fg.png]"..
|
||||
"button[3,1;1.8,1;update;"..S("Update").."]"..
|
||||
"image_button[5.5,1;1,1;".. self:get_state_button_image(mem) ..";state_button;]"..
|
||||
"image[6.5,0.5;1,2;"..power.formspec_power_bar(PWR_CAPA, mem.provided).."]"..
|
||||
"list[current_player;main;0,3;8,4;]"..
|
||||
oilburner.formspec_oil(1, 0, mem)..
|
||||
"button[1.6,1;1.8,1;update;"..S("Update").."]"..
|
||||
"image_button[5.5,0.5;1,1;".. self:get_state_button_image(mem) ..";state_button;]"..
|
||||
"image[6.5,0;1,2;"..power.formspec_power_bar(PWR_CAPA, mem.provided).."]"..
|
||||
"list[current_player;main;0,2.3;8,4;]"..
|
||||
default.get_hotbar_bg(0, 3)
|
||||
end
|
||||
|
||||
local function can_start(pos, mem, state)
|
||||
if mem.burn_cycles > 0 then return true end
|
||||
local inv = M(pos):get_inventory()
|
||||
return not inv:is_empty("fuel")
|
||||
if mem.burn_cycles > 0 or (mem.liquid and mem.liquid.amount and mem.liquid.amount > 0) then
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
local function start_node(pos, mem, state)
|
||||
mem.generating = true
|
||||
mem.running = true
|
||||
power.generator_start(pos, mem, PWR_CAPA)
|
||||
minetest.sound_play("techage_generator", {
|
||||
pos = pos,
|
||||
@ -59,7 +61,7 @@ local function start_node(pos, mem, state)
|
||||
end
|
||||
|
||||
local function stop_node(pos, mem, state)
|
||||
mem.generating = false
|
||||
mem.running = false
|
||||
mem.provided = 0
|
||||
power.generator_stop(pos, mem)
|
||||
end
|
||||
@ -79,12 +81,13 @@ local State = techage.NodeStates:new({
|
||||
local function burning(pos, mem)
|
||||
local ratio = math.max((mem.provided or PWR_CAPA) / PWR_CAPA, 0.02)
|
||||
|
||||
mem.liquid = mem.liquid or {}
|
||||
mem.liquid.amount = mem.liquid.amount or 0
|
||||
mem.burn_cycles = (mem.burn_cycles or 0) - ratio
|
||||
if mem.burn_cycles <= 0 then
|
||||
local taken = firebox.get_fuel(pos)
|
||||
if taken then
|
||||
mem.burn_cycles = (firebox.Burntime[taken:get_name()] or 1) / CYCLE_TIME * BURN_CYCLE_FACTOR
|
||||
|
||||
if mem.liquid.amount > 0 then
|
||||
mem.liquid.amount = mem.liquid.amount - 1
|
||||
mem.burn_cycles = (oilburner.Oilburntime or 1) / CYCLE_TIME * BURN_CYCLE_FACTOR
|
||||
mem.burn_cycles_total = mem.burn_cycles
|
||||
return true
|
||||
else
|
||||
@ -98,7 +101,7 @@ end
|
||||
|
||||
local function node_timer(pos, elapsed)
|
||||
local mem = tubelib2.get_mem(pos)
|
||||
if mem.generating and burning(pos, mem) then
|
||||
if mem.running and burning(pos, mem) then
|
||||
mem.provided = power.generator_alive(pos, mem)
|
||||
minetest.sound_play("techage_generator", {
|
||||
pos = pos,
|
||||
@ -118,19 +121,29 @@ local function on_receive_fields(pos, formname, fields, player)
|
||||
local mem = tubelib2.get_mem(pos)
|
||||
State:state_button_event(pos, mem, fields)
|
||||
|
||||
if fields.update then
|
||||
M(pos):set_string("formspec", formspec(State, pos, mem))
|
||||
end
|
||||
M(pos):set_string("formspec", formspec(State, pos, mem))
|
||||
end
|
||||
|
||||
local function allow_metadata_inventory(pos, listname, index, stack, player)
|
||||
local function allow_metadata_inventory_put(pos, listname, index, stack, player)
|
||||
if minetest.is_protected(pos, player:get_player_name()) then
|
||||
return 0
|
||||
end
|
||||
if stack:get_name() == "techage:oil_source" then
|
||||
return stack:get_count()
|
||||
return 1
|
||||
end
|
||||
|
||||
local function allow_metadata_inventory_take(pos, listname, index, stack, player)
|
||||
if minetest.is_protected(pos, player:get_player_name()) then
|
||||
return 0
|
||||
end
|
||||
return 0
|
||||
return stack:get_count()
|
||||
end
|
||||
|
||||
local function formspec_clbk(pos, mem)
|
||||
return formspec(State, pos, mem)
|
||||
end
|
||||
|
||||
local function on_metadata_inventory_put(pos, listname, index, stack, player)
|
||||
minetest.after(0.5, oilburner.move_item, pos, stack, formspec_clbk)
|
||||
end
|
||||
|
||||
local function on_rightclick(pos)
|
||||
@ -157,7 +170,7 @@ minetest.register_node("techage:tiny_generator", {
|
||||
on_construct = function(pos)
|
||||
local mem = tubelib2.init_mem(pos)
|
||||
local number = techage.add_node(pos, "techage:tiny_generator")
|
||||
mem.generating = false
|
||||
mem.running = false
|
||||
mem.burn_cycles = 0
|
||||
State:node_init(pos, mem, number)
|
||||
local meta = M(pos)
|
||||
@ -166,12 +179,21 @@ minetest.register_node("techage:tiny_generator", {
|
||||
inv:set_size('fuel', 1)
|
||||
end,
|
||||
|
||||
allow_metadata_inventory_put = allow_metadata_inventory,
|
||||
allow_metadata_inventory_take = allow_metadata_inventory,
|
||||
liquid = {
|
||||
capa = oilburner.CAPACITY,
|
||||
peek = liquid.srv_peek,
|
||||
put = liquid.srv_put,
|
||||
take = liquid.srv_take,
|
||||
},
|
||||
networks = oilburner.networks,
|
||||
|
||||
allow_metadata_inventory_put = allow_metadata_inventory_put,
|
||||
allow_metadata_inventory_take = allow_metadata_inventory_take,
|
||||
on_metadata_inventory_put = on_metadata_inventory_put,
|
||||
on_receive_fields = on_receive_fields,
|
||||
on_rightclick = on_rightclick,
|
||||
on_timer = node_timer,
|
||||
can_dig = techage.firebox.can_dig,
|
||||
can_dig = oilburner.can_dig,
|
||||
})
|
||||
|
||||
minetest.register_node("techage:tiny_generator_on", {
|
||||
@ -203,6 +225,15 @@ minetest.register_node("techage:tiny_generator_on", {
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
liquid = {
|
||||
capa = oilburner.CAPACITY,
|
||||
peek = liquid.srv_peek,
|
||||
put = liquid.srv_put,
|
||||
take = liquid.srv_take,
|
||||
},
|
||||
networks = oilburner.networks,
|
||||
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {not_in_creative_inventory=1},
|
||||
@ -211,14 +242,17 @@ minetest.register_node("techage:tiny_generator_on", {
|
||||
on_rotate = screwdriver.disallow,
|
||||
is_ground_content = false,
|
||||
|
||||
allow_metadata_inventory_put = allow_metadata_inventory,
|
||||
allow_metadata_inventory_take = allow_metadata_inventory,
|
||||
allow_metadata_inventory_put = allow_metadata_inventory_put,
|
||||
allow_metadata_inventory_take = allow_metadata_inventory_take,
|
||||
on_metadata_inventory_put = on_metadata_inventory_put,
|
||||
on_receive_fields = on_receive_fields,
|
||||
on_rightclick = on_rightclick,
|
||||
on_timer = node_timer,
|
||||
can_dig = techage.firebox.can_dig,
|
||||
can_dig = oilburner.can_dig,
|
||||
})
|
||||
|
||||
Pipe:add_secondary_node_names({"techage:tiny_generator", "techage:tiny_generator_on"})
|
||||
|
||||
techage.power.register_node({"techage:tiny_generator", "techage:tiny_generator_on"}, {
|
||||
conn_sides = {"R"},
|
||||
power_network = Power,
|
||||
|
BIN
textures/techage_oil_boiler_inv.png
Normal file
BIN
textures/techage_oil_boiler_inv.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
Loading…
Reference in New Issue
Block a user