Convert liquid filter and blackhole

This commit is contained in:
Joachim Stolberg 2021-07-24 11:26:13 +02:00
parent a330070c54
commit 875c3dc9de
7 changed files with 24 additions and 63 deletions

View File

@ -14,7 +14,7 @@
local S = techage.S local S = techage.S
local Pipe = techage.LiquidPipe local Pipe = techage.LiquidPipe
local liquid = techage.liquid local liquid = networks.liquid
local function take_liquid(pos, indir, name, amount) local function take_liquid(pos, indir, name, amount)
return 0, name return 0, name
@ -28,13 +28,6 @@ local function peek_liquid(pos, indir)
return nil return nil
end end
local networks_def = {
pipe2 = {
sides = {R=1}, -- Pipe connection sides
ntype = "tank",
},
}
minetest.register_node("techage:blackhole", { minetest.register_node("techage:blackhole", {
description = S("TechAge Black Hole"), description = S("TechAge Black Hole"),
tiles = { tiles = {
@ -57,22 +50,12 @@ minetest.register_node("techage:blackhole", {
after_dig_node = function(pos, oldnode) after_dig_node = function(pos, oldnode)
Pipe:after_dig_node(pos) Pipe:after_dig_node(pos)
end, end,
tubelib2_on_update2 = function(pos, outdir, tlib2, node)
liquid.update_network(pos, outdir)
end,
on_rotate = screwdriver.disallow, on_rotate = screwdriver.disallow,
paramtype2 = "facedir", paramtype2 = "facedir",
groups = {choppy=2, cracky=2, crumbly=2}, groups = {choppy=2, cracky=2, crumbly=2},
is_ground_content = false, is_ground_content = false,
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
liquid = {
capa = 999999,
peek = peek_liquid,
put = put_liquid,
take = take_liquid,
},
networks = networks_def,
}) })
minetest.register_craft({ minetest.register_craft({
@ -96,4 +79,11 @@ techage.register_node({"techage:blackhole"}, {
end, end,
}) })
Pipe:add_secondary_node_names({"techage:blackhole"}) liquid.register_nodes({"techage:blackhole"},
Pipe, "tank", {"R"}, {
capa = 9999999,
peek = peek_liquid,
put = put_liquid,
take = take_liquid,
}
)

View File

@ -17,10 +17,9 @@
-- If necessary, this can be adjusted later. -- If necessary, this can be adjusted later.
local M = minetest.get_meta local M = minetest.get_meta
local networks = techage.networks
local S = techage.S local S = techage.S
local Pipe = techage.LiquidPipe local Pipe = techage.LiquidPipe
local liquid = techage.liquid local liquid = networks.liquid
-- Checks if the filter structure is ok and returns the amount of gravel -- Checks if the filter structure is ok and returns the amount of gravel
local function checkStructure(pos) local function checkStructure(pos)
@ -100,9 +99,6 @@ minetest.register_node("techage:ta4_liquid_filter_filler", {
after_place_node = function(pos) after_place_node = function(pos)
Pipe:after_place_node(pos) Pipe:after_place_node(pos)
end, end,
tubelib2_on_update2 = function(pos, dir, tlib2, node)
liquid.update_network(pos)
end,
after_dig_node = function(pos, oldnode, oldmetadata, digger) after_dig_node = function(pos, oldnode, oldmetadata, digger)
Pipe:after_dig_node(pos) Pipe:after_dig_node(pos)
techage.del_mem(pos) techage.del_mem(pos)
@ -115,9 +111,10 @@ minetest.register_node("techage:ta4_liquid_filter_filler", {
groups = {cracky=2}, groups = {cracky=2},
is_ground_content = false, is_ground_content = false,
sounds = default.node_sound_metal_defaults(), sounds = default.node_sound_metal_defaults(),
})
liquid.register_nodes({"techage:ta4_liquid_filter_filler"},
liquid = { Pipe, "tank", {"U"}, {
capa = 1, capa = 1,
peek = function(...) return nil end, peek = function(...) return nil end,
put = function(pos, indir, name, amount) put = function(pos, indir, name, amount)
@ -146,15 +143,9 @@ minetest.register_node("techage:ta4_liquid_filter_filler", {
untake = function(pos, outdir, name, amount, player_name) untake = function(pos, outdir, name, amount, player_name)
return amount return amount
end, end,
}, }
)
networks = {
pipe2 = {
sides = {U = 1}, -- Pipe connection sides
ntype = "tank",
},
},
})
minetest.register_node("techage:ta4_liquid_filter_sink", { minetest.register_node("techage:ta4_liquid_filter_sink", {
description = S("TA4 Liquid Filter Sink"), description = S("TA4 Liquid Filter Sink"),
@ -181,9 +172,6 @@ minetest.register_node("techage:ta4_liquid_filter_sink", {
after_place_node = function(pos) after_place_node = function(pos)
Pipe:after_place_node(pos) Pipe:after_place_node(pos)
end, end,
tubelib2_on_update2 = function(pos, dir, tlib2, node)
liquid.update_network(pos)
end,
after_dig_node = function(pos, oldnode, oldmetadata, digger) after_dig_node = function(pos, oldnode, oldmetadata, digger)
Pipe:after_dig_node(pos) Pipe:after_dig_node(pos)
end, end,
@ -195,16 +183,12 @@ minetest.register_node("techage:ta4_liquid_filter_sink", {
groups = {cracky=2}, groups = {cracky=2},
is_ground_content = false, is_ground_content = false,
sounds = default.node_sound_metal_defaults(), sounds = default.node_sound_metal_defaults(),
networks = {
pipe2 = {
sides = {R = 1}, -- Pipe connection sides
ntype = "pump",
},
},
}) })
Pipe:add_secondary_node_names({"techage:ta4_liquid_filter_filler", "techage:ta4_liquid_filter_sink"}) liquid.register_nodes({"techage:ta4_liquid_filter_sink"},
Pipe, "pump", {"R"}, {}
)
minetest.register_craft({ minetest.register_craft({
output = 'techage:ta4_liquid_filter_filler', output = 'techage:ta4_liquid_filter_filler',
@ -222,4 +206,4 @@ minetest.register_craft({
{'basic_materials:concrete_block', 'techage:ta3_pipeS', 'techage:ta3_pipeS'}, {'basic_materials:concrete_block', 'techage:ta3_pipeS', 'techage:ta3_pipeS'},
{'basic_materials:concrete_block', 'basic_materials:concrete_block', 'basic_materials:concrete_block'}, {'basic_materials:concrete_block', 'basic_materials:concrete_block', 'basic_materials:concrete_block'},
} }
}) })

View File

@ -48,9 +48,6 @@ minetest.register_node("techage:ta4_reactor_fillerpipe", {
Pipe:after_place_node(pos1) Pipe:after_place_node(pos1)
end end
end, end,
-- tubelib2_on_update2 = function(pos, dir, tlib2, node)
-- liquid.update_network(pos, dir, tlib2, node)
-- end,
after_dig_node = function(pos, oldnode, oldmetadata, digger) after_dig_node = function(pos, oldnode, oldmetadata, digger)
Pipe:after_dig_node(pos) Pipe:after_dig_node(pos)
end, end,

View File

@ -102,13 +102,6 @@ minetest.register_node("techage:ta4_reactor_stand", {
Pipe:after_place_node(pos) Pipe:after_place_node(pos)
Cable:after_place_node(pos) Cable:after_place_node(pos)
end, end,
-- tubelib2_on_update2 = function(pos, dir, tlib2, node)
-- if tlib2.tube_type == "ele1" then
-- power.update_network(pos, dir, tlib2, node)
-- else
-- liquid.update_network(pos, dir, tlib2, node)
-- end
-- end,
on_timer = function(pos, elapsed) on_timer = function(pos, elapsed)
local nvm = techage.get_nvm(pos) local nvm = techage.get_nvm(pos)
local consumed = power.consume_power(pos, Cable, nil, PWR_NEEDED) local consumed = power.consume_power(pos, Cable, nil, PWR_NEEDED)
@ -182,9 +175,6 @@ minetest.register_node("techage:ta4_reactor_base", {
M(pos):set_int("outdir", networks.side_to_outdir(pos, "R")) M(pos):set_int("outdir", networks.side_to_outdir(pos, "R"))
Pipe:after_place_node(pos) Pipe:after_place_node(pos)
end, end,
-- tubelib2_on_update2 = function(pos, dir, tlib2, node)
-- liquid.update_network(pos, dir, tlib2, node)
-- end,
after_dig_node = function(pos, oldnode, oldmetadata, digger) after_dig_node = function(pos, oldnode, oldmetadata, digger)
Pipe:after_dig_node(pos) Pipe:after_dig_node(pos)
end, end,

View File

@ -640,7 +640,7 @@ techage.manual_DE.aText = {
"\n", "\n",
"Speichersysteme im Stromnetz erfüllen zwei Aufgaben:\n".. "Speichersysteme im Stromnetz erfüllen zwei Aufgaben:\n"..
"\n".. "\n"..
" - Um Bedarfsspitzen abzufangen: Alle Generatoren liefern immer gerade soviel Leistung\\, wie benötigt wird. Werden aber Verbraucher ein/ausgeschaltet oder kommt es aus anderen Gründen zu Bedarfsschwankungen\\, so können Verbraucher kurzzeitig ausfallen. Um dies zu verhindern\\, sollte immer mindestens ein Akkublock in jedem Netzwerk vorhanden sein. Dieser dient aus Puffer und gleicht diese Schwankungen im Sekundenbereich aus.\n".. " - Um Bedarfsspitzen abzufangen: Alle Generatoren liefern immer gerade soviel Leistung\\, wie benötigt wird. Werden aber Verbraucher ein/ausgeschaltet oder kommt es aus anderen Gründen zu Bedarfsschwankungen\\, so können Verbraucher kurzzeitig ausfallen. Um dies zu verhindern\\, sollte immer mindestens ein Akkublock in jedem Netzwerk vorhanden sein. Dieser dient als Puffer und gleicht diese Schwankungen im Sekundenbereich aus.\n"..
" - Um regenerative Energie zu speichern: Solar und Wind stehen nicht 24 Stunden am Tag zur Verfügung. Damit die Stromversorgung nicht ausfällt\\, wenn kein Strom produziert wird\\, müssen ein oder mehrere Speichersysteme im Netzwerk verbaut werden. Alternativ können die Lücken auch mit Öl/Kohle-Strom überbrückt werden.\n".. " - Um regenerative Energie zu speichern: Solar und Wind stehen nicht 24 Stunden am Tag zur Verfügung. Damit die Stromversorgung nicht ausfällt\\, wenn kein Strom produziert wird\\, müssen ein oder mehrere Speichersysteme im Netzwerk verbaut werden. Alternativ können die Lücken auch mit Öl/Kohle-Strom überbrückt werden.\n"..
"\n".. "\n"..
"Ein Speichersystem gibt seine Kapazität in kud an\\, also ku pro day (Tag). Bspw. ein Speichersystem mit 100 kud liefert 100 ku einen Spieltag lang\\, oder auch 10 ku für 10 Spieltage.\n".. "Ein Speichersystem gibt seine Kapazität in kud an\\, also ku pro day (Tag). Bspw. ein Speichersystem mit 100 kud liefert 100 ku einen Spieltag lang\\, oder auch 10 ku für 10 Spieltage.\n"..
@ -1279,7 +1279,7 @@ techage.manual_DE.aText = {
"\n".. "\n"..
"In der Betonhülle darf ein Fenster aus einem Obsidian Glas Block sein. Dieses muss ziemlich in der Mitte der Wand platziert werden. Durch dieses Fenster sieht man\\, ob der Speicher mehr als 80 % geladen ist. Im Plan rechts sieht man den Aufbau aus TA4 Wärmetauscher bestehend aus 3 Blöcken\\, der TA4 Turbine und dem TA4 Generator. Beim Wärmetauscher ist auf die Ausrichtung zu achten (der Pfeil bei Block 1 muss zur Turbine zeigen).\n".. "In der Betonhülle darf ein Fenster aus einem Obsidian Glas Block sein. Dieses muss ziemlich in der Mitte der Wand platziert werden. Durch dieses Fenster sieht man\\, ob der Speicher mehr als 80 % geladen ist. Im Plan rechts sieht man den Aufbau aus TA4 Wärmetauscher bestehend aus 3 Blöcken\\, der TA4 Turbine und dem TA4 Generator. Beim Wärmetauscher ist auf die Ausrichtung zu achten (der Pfeil bei Block 1 muss zur Turbine zeigen).\n"..
"\n".. "\n"..
"Entgegen dem Plan rechts müssen die Anschlüsse am Speicherblock auf gleicher Ebene sein (horizontal angeordnet\\, also nicht unten und oben). Die Rohrzuläufe (TA4 Pipe Inlet) müssen genau in der Mitte der Wand sein und stehen sich damit gegenüber. Als Röhren kommen die gelbel TA4 Röhren zum Einsatz. Die TA3 Dampfrohre können hier nicht verwendet werden.\n".. "Entgegen dem Plan rechts müssen die Anschlüsse am Speicherblock auf gleicher Ebene sein (horizontal angeordnet\\, also nicht unten und oben). Die Rohrzuläufe (TA4 Pipe Inlet) müssen genau in der Mitte der Wand sein und stehen sich damit gegenüber. Als Röhren kommen die gelben TA4 Röhren zum Einsatz. Die TA3 Dampfrohre können hier nicht verwendet werden.\n"..
"Sowohl der Generator als auch der Wärmetauscher haben einen Stromanschluss und müssen mit dem Stromnetz verbunden werden.\n".. "Sowohl der Generator als auch der Wärmetauscher haben einen Stromanschluss und müssen mit dem Stromnetz verbunden werden.\n"..
"\n".. "\n"..
"Im Prinzip arbeitet das das Wärmespeichersystem genau gleich wie die Akkus\\, nur mit viel mehr Speicherkapazität. \n".. "Im Prinzip arbeitet das das Wärmespeichersystem genau gleich wie die Akkus\\, nur mit viel mehr Speicherkapazität. \n"..

View File

@ -46,7 +46,7 @@ local function can_dig(pos, player)
return techage.liquid.is_empty(pos) return techage.liquid.is_empty(pos)
end end
local function peek_liquid(pos) local function peek_liquid(pos, indir)
local nvm = techage.get_nvm(pos) local nvm = techage.get_nvm(pos)
return liquid.srv_peek(nvm) return liquid.srv_peek(nvm)
end end

View File

@ -139,7 +139,7 @@ Der Energiespeicher besteht aus einer Betonhülle (Concrete Block) gefüllt mit
In der Betonhülle darf ein Fenster aus einem Obsidian Glas Block sein. Dieses muss ziemlich in der Mitte der Wand platziert werden. Durch dieses Fenster sieht man, ob der Speicher mehr als 80 % geladen ist. Im Plan rechts sieht man den Aufbau aus TA4 Wärmetauscher bestehend aus 3 Blöcken, der TA4 Turbine und dem TA4 Generator. Beim Wärmetauscher ist auf die Ausrichtung zu achten (der Pfeil bei Block 1 muss zur Turbine zeigen). In der Betonhülle darf ein Fenster aus einem Obsidian Glas Block sein. Dieses muss ziemlich in der Mitte der Wand platziert werden. Durch dieses Fenster sieht man, ob der Speicher mehr als 80 % geladen ist. Im Plan rechts sieht man den Aufbau aus TA4 Wärmetauscher bestehend aus 3 Blöcken, der TA4 Turbine und dem TA4 Generator. Beim Wärmetauscher ist auf die Ausrichtung zu achten (der Pfeil bei Block 1 muss zur Turbine zeigen).
Entgegen dem Plan rechts müssen die Anschlüsse am Speicherblock auf gleicher Ebene sein (horizontal angeordnet, also nicht unten und oben). Die Rohrzuläufe (TA4 Pipe Inlet) müssen genau in der Mitte der Wand sein und stehen sich damit gegenüber. Als Röhren kommen die gelbel TA4 Röhren zum Einsatz. Die TA3 Dampfrohre können hier nicht verwendet werden. Entgegen dem Plan rechts müssen die Anschlüsse am Speicherblock auf gleicher Ebene sein (horizontal angeordnet, also nicht unten und oben). Die Rohrzuläufe (TA4 Pipe Inlet) müssen genau in der Mitte der Wand sein und stehen sich damit gegenüber. Als Röhren kommen die gelben TA4 Röhren zum Einsatz. Die TA3 Dampfrohre können hier nicht verwendet werden.
Sowohl der Generator als auch der Wärmetauscher haben einen Stromanschluss und müssen mit dem Stromnetz verbunden werden. Sowohl der Generator als auch der Wärmetauscher haben einen Stromanschluss und müssen mit dem Stromnetz verbunden werden.
Im Prinzip arbeitet das das Wärmespeichersystem genau gleich wie die Akkus, nur mit viel mehr Speicherkapazität. Im Prinzip arbeitet das das Wärmespeichersystem genau gleich wie die Akkus, nur mit viel mehr Speicherkapazität.