mirror of
https://github.com/minetest-mods/mesecons.git
synced 2025-06-29 22:30:23 +02:00
Rewrite pistons (#362)
This commit is contained in:
48
mesecons_pistons/legacy.lua
Normal file
48
mesecons_pistons/legacy.lua
Normal file
@ -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,
|
||||
})
|
Reference in New Issue
Block a user