diff options
-rw-r--r-- | autoplace.lua | 8 | ||||
-rw-r--r-- | changelog.txt | 3 | ||||
-rw-r--r-- | devices.lua | 140 | ||||
-rw-r--r-- | textures/pipeworks_storage_tank_back.png (renamed from textures/pipeworks_storage_tank_sides.png) | bin | 5723 -> 5723 bytes | |||
-rw-r--r-- | textures/pipeworks_storage_tank_front_0.png | bin | 0 -> 6027 bytes | |||
-rw-r--r-- | textures/pipeworks_storage_tank_front_1.png | bin | 0 -> 6038 bytes | |||
-rw-r--r-- | textures/pipeworks_storage_tank_front_10.png | bin | 0 -> 6032 bytes | |||
-rw-r--r-- | textures/pipeworks_storage_tank_front_2.png | bin | 0 -> 6042 bytes | |||
-rw-r--r-- | textures/pipeworks_storage_tank_front_3.png | bin | 0 -> 6051 bytes | |||
-rw-r--r-- | textures/pipeworks_storage_tank_front_4.png | bin | 0 -> 6056 bytes | |||
-rw-r--r-- | textures/pipeworks_storage_tank_front_5.png | bin | 0 -> 6035 bytes | |||
-rw-r--r-- | textures/pipeworks_storage_tank_front_6.png | bin | 0 -> 6049 bytes | |||
-rw-r--r-- | textures/pipeworks_storage_tank_front_7.png | bin | 0 -> 6052 bytes | |||
-rw-r--r-- | textures/pipeworks_storage_tank_front_8.png | bin | 0 -> 6049 bytes | |||
-rw-r--r-- | textures/pipeworks_storage_tank_front_9.png | bin | 0 -> 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 Binary files differindex badaa2b..91fe3c0 100644 --- a/textures/pipeworks_storage_tank_sides.png +++ b/textures/pipeworks_storage_tank_back.png diff --git a/textures/pipeworks_storage_tank_front_0.png b/textures/pipeworks_storage_tank_front_0.png Binary files differnew file mode 100644 index 0000000..b74b6f1 --- /dev/null +++ b/textures/pipeworks_storage_tank_front_0.png diff --git a/textures/pipeworks_storage_tank_front_1.png b/textures/pipeworks_storage_tank_front_1.png Binary files differnew file mode 100644 index 0000000..6d47a21 --- /dev/null +++ b/textures/pipeworks_storage_tank_front_1.png diff --git a/textures/pipeworks_storage_tank_front_10.png b/textures/pipeworks_storage_tank_front_10.png Binary files differnew file mode 100644 index 0000000..cb3960d --- /dev/null +++ b/textures/pipeworks_storage_tank_front_10.png diff --git a/textures/pipeworks_storage_tank_front_2.png b/textures/pipeworks_storage_tank_front_2.png Binary files differnew file mode 100644 index 0000000..d3312f4 --- /dev/null +++ b/textures/pipeworks_storage_tank_front_2.png diff --git a/textures/pipeworks_storage_tank_front_3.png b/textures/pipeworks_storage_tank_front_3.png Binary files differnew file mode 100644 index 0000000..db1716e --- /dev/null +++ b/textures/pipeworks_storage_tank_front_3.png diff --git a/textures/pipeworks_storage_tank_front_4.png b/textures/pipeworks_storage_tank_front_4.png Binary files differnew file mode 100644 index 0000000..f523e2d --- /dev/null +++ b/textures/pipeworks_storage_tank_front_4.png diff --git a/textures/pipeworks_storage_tank_front_5.png b/textures/pipeworks_storage_tank_front_5.png Binary files differnew file mode 100644 index 0000000..e667160 --- /dev/null +++ b/textures/pipeworks_storage_tank_front_5.png diff --git a/textures/pipeworks_storage_tank_front_6.png b/textures/pipeworks_storage_tank_front_6.png Binary files differnew file mode 100644 index 0000000..b426bc3 --- /dev/null +++ b/textures/pipeworks_storage_tank_front_6.png diff --git a/textures/pipeworks_storage_tank_front_7.png b/textures/pipeworks_storage_tank_front_7.png Binary files differnew file mode 100644 index 0000000..e317b1c --- /dev/null +++ b/textures/pipeworks_storage_tank_front_7.png diff --git a/textures/pipeworks_storage_tank_front_8.png b/textures/pipeworks_storage_tank_front_8.png Binary files differnew file mode 100644 index 0000000..17824fd --- /dev/null +++ b/textures/pipeworks_storage_tank_front_8.png diff --git a/textures/pipeworks_storage_tank_front_9.png b/textures/pipeworks_storage_tank_front_9.png Binary files differnew file mode 100644 index 0000000..f6600b9 --- /dev/null +++ b/textures/pipeworks_storage_tank_front_9.png |