end
end
- local function make_on_blast(base_name, door_type, other_door_type)
+ local function make_on_blast(base_name, dir, door_type, other_door_type)
if def.only_placer_can_open then
return function() end
else
- if door_type == "_b_1" or door_type == "_b_2" then
- return function(pos, intensity)
- check_and_blast(pos, base_name .. door_type)
- pos.y = pos.y + 1
- check_and_blast(pos, base_name .. other_door_type)
- end
- elseif door_type == "_t_1" or door_type == "_t_2" then
- return function(pos, intensity)
- check_and_blast(pos, base_name .. door_type)
- pos.y = pos.y - 1
- check_and_blast(pos, base_name .. other_door_type)
- end
+ return function(pos, intensity)
+ check_and_blast(pos, base_name .. door_type)
+ pos.y = pos.y + dir
+ check_and_blast(pos, base_name .. other_door_type)
end
end
end
can_dig = check_player_priv,
sounds = def.sounds,
sunlight_propagates = def.sunlight,
- on_blast = make_on_blast(name, "_b_1", "_t_1")
+ on_blast = make_on_blast(name, 1, "_b_1", "_t_1")
})
minetest.register_node(name.."_t_1", {
can_dig = check_player_priv,
sounds = def.sounds,
sunlight_propagates = def.sunlight,
- on_blast = make_on_blast(name, "_t_1", "_b_1")
+ on_blast = make_on_blast(name, -1, "_t_1", "_b_1")
})
minetest.register_node(name.."_b_2", {
can_dig = check_player_priv,
sounds = def.sounds,
sunlight_propagates = def.sunlight,
- on_blast = make_on_blast(name, "_b_2", "_t_2")
+ on_blast = make_on_blast(name, 1, "_b_2", "_t_2")
})
minetest.register_node(name.."_t_2", {
can_dig = check_player_priv,
sounds = def.sounds,
sunlight_propagates = def.sunlight,
- on_blast = make_on_blast(name, "_t_2", "_b_2")
+ on_blast = make_on_blast(name, -1, "_t_2", "_b_2")
})
end