summaryrefslogtreecommitdiff
path: root/mesecons_pistons/legacy.lua
diff options
context:
space:
mode:
Diffstat (limited to 'mesecons_pistons/legacy.lua')
-rw-r--r--mesecons_pistons/legacy.lua48
1 files changed, 48 insertions, 0 deletions
diff --git a/mesecons_pistons/legacy.lua b/mesecons_pistons/legacy.lua
new file mode 100644
index 0000000..0c6dcb3
--- /dev/null
+++ b/mesecons_pistons/legacy.lua
@@ -0,0 +1,48 @@
+local ground_dir = {
+ [0] = {x = 0, y = -1, z = 0},
+ {x = 0, y = 0, z = -1},
+ {x = 0, y = 0, z = 1},
+ {x = -1, y = 0, z = 0},
+ {x = 1, y = 0, z = 0},
+ {x = 0, y = 1, z = 0},
+}
+
+minetest.register_lbm({
+ label = "Upgrade legacy pistons pointing up",
+ name = "mesecons_pistons:replace_legacy_piston_up",
+ nodenames = {
+ "mesecons_pistons:piston_up_normal_off",
+ "mesecons_pistons:piston_up_normal_on",
+ "mesecons_pistons:piston_up_pusher_normal",
+ "mesecons_pistons:piston_up_sticky_off",
+ "mesecons_pistons:piston_up_sticky_on",
+ "mesecons_pistons:piston_up_pusher_sticky",
+ },
+ run_at_every_load = false,
+ action = function(pos, node)
+ local dir = ground_dir[math.floor(node.param2/4)]
+ node.param2 = minetest.dir_to_facedir(dir, true)
+ node.name = node.name:sub(1, 24)..node.name:sub(28)
+ minetest.swap_node(pos, node)
+ end,
+})
+
+minetest.register_lbm({
+ label = "Upgrade legacy pistons pointing down",
+ name = "mesecons_pistons:replace_legacy_piston_down",
+ nodenames = {
+ "mesecons_pistons:piston_down_normal_off",
+ "mesecons_pistons:piston_down_normal_on",
+ "mesecons_pistons:piston_down_pusher_normal",
+ "mesecons_pistons:piston_down_sticky_off",
+ "mesecons_pistons:piston_down_sticky_on",
+ "mesecons_pistons:piston_down_pusher_sticky",
+ },
+ run_at_every_load = false,
+ action = function(pos, node)
+ local dir = vector.multiply(ground_dir[math.floor(node.param2/4)], -1)
+ node.param2 = minetest.dir_to_facedir(dir, true)
+ node.name = node.name:sub(1, 24)..node.name:sub(30)
+ minetest.swap_node(pos, node)
+ end,
+})