summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--autoplace.lua8
-rw-r--r--changelog.txt3
-rw-r--r--devices.lua140
-rw-r--r--textures/pipeworks_storage_tank_back.png (renamed from textures/pipeworks_storage_tank_sides.png)bin5723 -> 5723 bytes
-rw-r--r--textures/pipeworks_storage_tank_front_0.pngbin0 -> 6027 bytes
-rw-r--r--textures/pipeworks_storage_tank_front_1.pngbin0 -> 6038 bytes
-rw-r--r--textures/pipeworks_storage_tank_front_10.pngbin0 -> 6032 bytes
-rw-r--r--textures/pipeworks_storage_tank_front_2.pngbin0 -> 6042 bytes
-rw-r--r--textures/pipeworks_storage_tank_front_3.pngbin0 -> 6051 bytes
-rw-r--r--textures/pipeworks_storage_tank_front_4.pngbin0 -> 6056 bytes
-rw-r--r--textures/pipeworks_storage_tank_front_5.pngbin0 -> 6035 bytes
-rw-r--r--textures/pipeworks_storage_tank_front_6.pngbin0 -> 6049 bytes
-rw-r--r--textures/pipeworks_storage_tank_front_7.pngbin0 -> 6052 bytes
-rw-r--r--textures/pipeworks_storage_tank_front_8.pngbin0 -> 6049 bytes
-rw-r--r--textures/pipeworks_storage_tank_front_9.pngbin0 -> 6040 bytes
15 files changed, 85 insertions, 66 deletions
diff --git a/autoplace.lua b/autoplace.lua
index 94a8620..b615b64 100644
--- a/autoplace.lua
+++ b/autoplace.lua
@@ -105,15 +105,15 @@ pipes_scansurroundings = function(pos)
-- storage tanks and intake grates have vertical connections
-- also, so they require a special case
- if (string.find(nym.name, "pipeworks:storage_tank_x") ~= nil) or
- (string.find(nym.name, "pipeworks:storage_tank_z") ~= nil) or
+ if (string.find(nym.name, "pipeworks:storage_tank_") ~= nil) or
+ (string.find(nym.name, "pipeworks:storage_tank_") ~= nil) or
(string.find(nym.name, "pipeworks:intake") ~= nil) or
(string.find(nym.name, "pipeworks:outlet") ~= nil) then
pym=1
end
- if (string.find(nyp.name, "pipeworks:storage_tank_x") ~= nil) or
- (string.find(nyp.name, "pipeworks:storage_tank_z") ~= nil) then
+ if (string.find(nyp.name, "pipeworks:storage_tank_") ~= nil) or
+ (string.find(nyp.name, "pipeworks:storage_tank_") ~= nil) then
pyp=1
end
diff --git a/changelog.txt b/changelog.txt
index 2d882c2..a1ef58a 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,7 +1,8 @@
Changelog
---------
-2012-08-22: Added outlet grate, made it participate in autoplace algorithm.
+2012-08-22: Added outlet grate, made it participate in autoplace algorithm.
+Extended storage tank to show fill level in 10% steps (0% to 100%).
2012-08-21: Made storage tank participate in autoplace algorithm. Tuned API a
little to allow for more flexible placement. Re-organized code a bit to allow
diff --git a/devices.lua b/devices.lua
index 9eddcf5..5964bf8 100644
--- a/devices.lua
+++ b/devices.lua
@@ -3,15 +3,24 @@
pipes_devicelist = {
"pump",
"valve",
- "storage_tank"
+ "storage_tank_0",
+ "storage_tank_1",
+ "storage_tank_2",
+ "storage_tank_3",
+ "storage_tank_4",
+ "storage_tank_5",
+ "storage_tank_6",
+ "storage_tank_7",
+ "storage_tank_8",
+ "storage_tank_9",
+ "storage_tank_10"
}
-- tables
minetest.register_alias("pipeworks:pump", "pipeworks:pump_off_x")
-minetest.register_alias("pipeworks:pump_off", "pipeworks:pump_off_x")
minetest.register_alias("pipeworks:valve", "pipeworks:valve_off_x")
-minetest.register_alias("pipeworks:valve_off", "pipeworks:valve_off_x")
+minetest.register_alias("pipeworks:storage_tank", "pipeworks:storage_tank_0_x")
pipe_pumpbody_x = {
{ -6/16, -8/16, -6/16, 6/16, 8/16, 6/16 }
@@ -319,65 +328,74 @@ minetest.register_node("pipeworks:outlet", {
})
-- tank
+for fill = 0, 10 do
+ if fill == 0 then
+ filldesc=""
+ sgroups = {snappy=3, pipe=1, tankfill=fill+1}
+ else
+ filldesc=fill
+ sgroups = {snappy=3, pipe=1, tankfill=fill+1, not_in_creative_inventory=1}
+ end
-minetest.register_node("pipeworks:storage_tank_x", {
- description = "Fluid Storage Tank",
- tiles = {
- "pipeworks_storage_tank_fittings.png",
- "pipeworks_storage_tank_fittings.png",
- "pipeworks_storage_tank_fittings.png",
- "pipeworks_storage_tank_fittings.png",
- "pipeworks_storage_tank_sides.png",
- "pipeworks_storage_tank_sides.png"
- },
- paramtype = "light",
- groups = {snappy=3, pipe=1},
- sounds = default.node_sound_wood_defaults(),
- walkable = true,
- stack_max = 99,
- after_place_node = function(pos)
- pipe_device_autorotate(pos, nil, "pipeworks:storage_tank")
- pipe_scanforobjects(pos)
- end,
- after_dig_node = function(pos)
- pipe_scanforobjects(pos)
- end,
- pipelike=1,
- on_construct = function(pos)
- local meta = minetest.env:get_meta(pos)
- meta:set_int("pipelike",1)
- end,
-})
-
-minetest.register_node("pipeworks:storage_tank_z", {
- description = "Fluid Storage Tank (Z axis)... You hacker, you.",
- tiles = {
- "pipeworks_storage_tank_fittings.png",
- "pipeworks_storage_tank_fittings.png",
- "pipeworks_storage_tank_sides.png",
- "pipeworks_storage_tank_sides.png",
- "pipeworks_storage_tank_fittings.png",
- "pipeworks_storage_tank_fittings.png"
- },
- paramtype = "light",
- groups = {snappy=3, pipe=1, not_in_creative_inventory=1},
- sounds = default.node_sound_wood_defaults(),
- walkable = true,
- stack_max = 99,
- drop = "pipeworks:storage_tank_x",
- after_place_node = function(pos)
- pipe_device_autorotate(pos, nil, "pipeworks:storage_tank")
- pipe_scanforobjects(pos)
- end,
- after_dig_node = function(pos)
- pipe_scanforobjects(pos)
- end,
- pipelike=1,
- on_construct = function(pos)
- local meta = minetest.env:get_meta(pos)
- meta:set_int("pipelike",1)
- end,
-})
+ minetest.register_node("pipeworks:storage_tank_"..fill.."_x", {
+ description = "Fluid Storage Tank ("..filldesc.."0% full)",
+ tiles = {
+ "pipeworks_storage_tank_fittings.png",
+ "pipeworks_storage_tank_fittings.png",
+ "pipeworks_storage_tank_fittings.png",
+ "pipeworks_storage_tank_fittings.png",
+ "pipeworks_storage_tank_back.png",
+ "pipeworks_storage_tank_front_"..fill..".png"
+ },
+ paramtype = "light",
+ groups = sgroups,
+ sounds = default.node_sound_wood_defaults(),
+ walkable = true,
+ stack_max = 99,
+ after_place_node = function(pos)
+ pipe_device_autorotate(pos, nil, "pipeworks:storage_tank_"..fill)
+ pipe_scanforobjects(pos)
+ end,
+ after_dig_node = function(pos)
+ pipe_scanforobjects(pos)
+ end,
+ pipelike=1,
+ on_construct = function(pos)
+ local meta = minetest.env:get_meta(pos)
+ meta:set_int("pipelike",1)
+ end,
+ })
+
+ minetest.register_node("pipeworks:storage_tank_"..fill.."_z", {
+ description = "Fluid Storage Tank (Z axis, "..filldesc.."0% full)... You hacker, you.",
+ tiles = {
+ "pipeworks_storage_tank_fittings.png",
+ "pipeworks_storage_tank_fittings.png",
+ "pipeworks_storage_tank_front_"..fill..".png",
+ "pipeworks_storage_tank_back.png",
+ "pipeworks_storage_tank_fittings.png",
+ "pipeworks_storage_tank_fittings.png"
+ },
+ paramtype = "light",
+ groups = {snappy=3, pipe=1, tankfill=fill+1, not_in_creative_inventory=1},
+ sounds = default.node_sound_wood_defaults(),
+ walkable = true,
+ stack_max = 99,
+ drop = "pipeworks:storage_tank_"..fill.."_x",
+ after_place_node = function(pos)
+ pipe_device_autorotate(pos, nil, "pipeworks:storage_tank_"..fill)
+ pipe_scanforobjects(pos)
+ end,
+ after_dig_node = function(pos)
+ pipe_scanforobjects(pos)
+ end,
+ pipelike=1,
+ on_construct = function(pos)
+ local meta = minetest.env:get_meta(pos)
+ meta:set_int("pipelike",1)
+ end,
+ })
+end
-- various actions
diff --git a/textures/pipeworks_storage_tank_sides.png b/textures/pipeworks_storage_tank_back.png
index badaa2b..91fe3c0 100644
--- a/textures/pipeworks_storage_tank_sides.png
+++ b/textures/pipeworks_storage_tank_back.png
Binary files differ
diff --git a/textures/pipeworks_storage_tank_front_0.png b/textures/pipeworks_storage_tank_front_0.png
new file mode 100644
index 0000000..b74b6f1
--- /dev/null
+++ b/textures/pipeworks_storage_tank_front_0.png
Binary files differ
diff --git a/textures/pipeworks_storage_tank_front_1.png b/textures/pipeworks_storage_tank_front_1.png
new file mode 100644
index 0000000..6d47a21
--- /dev/null
+++ b/textures/pipeworks_storage_tank_front_1.png
Binary files differ
diff --git a/textures/pipeworks_storage_tank_front_10.png b/textures/pipeworks_storage_tank_front_10.png
new file mode 100644
index 0000000..cb3960d
--- /dev/null
+++ b/textures/pipeworks_storage_tank_front_10.png
Binary files differ
diff --git a/textures/pipeworks_storage_tank_front_2.png b/textures/pipeworks_storage_tank_front_2.png
new file mode 100644
index 0000000..d3312f4
--- /dev/null
+++ b/textures/pipeworks_storage_tank_front_2.png
Binary files differ
diff --git a/textures/pipeworks_storage_tank_front_3.png b/textures/pipeworks_storage_tank_front_3.png
new file mode 100644
index 0000000..db1716e
--- /dev/null
+++ b/textures/pipeworks_storage_tank_front_3.png
Binary files differ
diff --git a/textures/pipeworks_storage_tank_front_4.png b/textures/pipeworks_storage_tank_front_4.png
new file mode 100644
index 0000000..f523e2d
--- /dev/null
+++ b/textures/pipeworks_storage_tank_front_4.png
Binary files differ
diff --git a/textures/pipeworks_storage_tank_front_5.png b/textures/pipeworks_storage_tank_front_5.png
new file mode 100644
index 0000000..e667160
--- /dev/null
+++ b/textures/pipeworks_storage_tank_front_5.png
Binary files differ
diff --git a/textures/pipeworks_storage_tank_front_6.png b/textures/pipeworks_storage_tank_front_6.png
new file mode 100644
index 0000000..b426bc3
--- /dev/null
+++ b/textures/pipeworks_storage_tank_front_6.png
Binary files differ
diff --git a/textures/pipeworks_storage_tank_front_7.png b/textures/pipeworks_storage_tank_front_7.png
new file mode 100644
index 0000000..e317b1c
--- /dev/null
+++ b/textures/pipeworks_storage_tank_front_7.png
Binary files differ
diff --git a/textures/pipeworks_storage_tank_front_8.png b/textures/pipeworks_storage_tank_front_8.png
new file mode 100644
index 0000000..17824fd
--- /dev/null
+++ b/textures/pipeworks_storage_tank_front_8.png
Binary files differ
diff --git a/textures/pipeworks_storage_tank_front_9.png b/textures/pipeworks_storage_tank_front_9.png
new file mode 100644
index 0000000..f6600b9
--- /dev/null
+++ b/textures/pipeworks_storage_tank_front_9.png
Binary files differ