forked from minetest-mods/mesecons
Compare commits
3 Commits
2d973fb77b
...
fix_crash
Author | SHA1 | Date | |
---|---|---|---|
3c9055c723 | |||
b46c589a38 | |||
ac83dead50 |
@ -22,6 +22,11 @@ end
|
|||||||
local function meseconify_door(name)
|
local function meseconify_door(name)
|
||||||
if minetest.registered_items[name .. "_b_1"] then
|
if minetest.registered_items[name .. "_b_1"] then
|
||||||
-- old style double-node doors
|
-- old style double-node doors
|
||||||
|
if minetest.registered_items[name .. "_b_1"].mesecons then
|
||||||
|
minetest.log("info", "[mesecons_doors] Not touching door " .. name)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
local function toggle_state1 (pos)
|
local function toggle_state1 (pos)
|
||||||
on_rightclick(pos, 1, name.."_t_1", name.."_b_2", name.."_t_2", {1,2,3,0})
|
on_rightclick(pos, 1, name.."_t_1", name.."_b_2", name.."_t_2", {1,2,3,0})
|
||||||
end
|
end
|
||||||
@ -47,6 +52,10 @@ local function meseconify_door(name)
|
|||||||
})
|
})
|
||||||
elseif minetest.registered_items[name .. "_a"] then
|
elseif minetest.registered_items[name .. "_a"] then
|
||||||
-- new style mesh node based doors
|
-- new style mesh node based doors
|
||||||
|
if minetest.registered_items[name .. "_a"].mesecons then
|
||||||
|
minetest.log("info", "[mesecons_doors] Not touching door " .. name)
|
||||||
|
return
|
||||||
|
end
|
||||||
local override = {
|
local override = {
|
||||||
mesecons = {effector = {
|
mesecons = {effector = {
|
||||||
action_on = function(pos)
|
action_on = function(pos)
|
||||||
@ -73,15 +82,6 @@ local function meseconify_door(name)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local doors_list = {
|
|
||||||
"doors:door_wood",
|
|
||||||
"doors:door_steel",
|
|
||||||
"doors:door_glass",
|
|
||||||
"doors:door_obsidian_glass",
|
|
||||||
"xpanes:door_steel_bar",
|
|
||||||
}
|
|
||||||
for i=1,#doors_list do meseconify_door(doors_list[i]) end
|
|
||||||
|
|
||||||
-- Trapdoor
|
-- Trapdoor
|
||||||
local function trapdoor_switch(name)
|
local function trapdoor_switch(name)
|
||||||
return function(pos, node)
|
return function(pos, node)
|
||||||
@ -131,9 +131,17 @@ local function meseconify_trapdoor(name)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local trapdoors_list = {
|
minetest.register_on_mods_loaded(function()
|
||||||
"doors:trapdoor",
|
if doors.registered_doors ~= nil then -- registered_doors is not always available
|
||||||
"doors:trapdoor_steel",
|
for k,_ in pairs(doors.registered_doors) do
|
||||||
"xpanes:trapdoor_steel_bar"
|
if k:find("_a$") then
|
||||||
}
|
meseconify_door(k:sub(1,-3))
|
||||||
for i=1,#trapdoors_list do meseconify_trapdoor(trapdoors_list[i]) end
|
end
|
||||||
|
end
|
||||||
|
for k,_ in pairs(doors.registered_trapdoors) do
|
||||||
|
if not k:find("_open$") then
|
||||||
|
meseconify_trapdoor(k)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
Reference in New Issue
Block a user