summaryrefslogtreecommitdiff
path: root/mesecons_doors
diff options
context:
space:
mode:
authorVanessa Ezekowitz <vanessaezekowitz@gmail.com>2016-04-01 22:10:20 -0400
committerVanessa Ezekowitz <vanessaezekowitz@gmail.com>2016-04-01 22:42:02 -0400
commit86ad3e7c6a37699f7f8297a387bf08af74e36629 (patch)
treedc368b1eaf2cc09b9df2200250890b3038d8cf2d /mesecons_doors
parent888b0ebfec8c2eff9015163549a7e47443cb8665 (diff)
downloaddreambuilder_modpack-86ad3e7c6a37699f7f8297a387bf08af74e36629.tar
dreambuilder_modpack-86ad3e7c6a37699f7f8297a387bf08af74e36629.tar.gz
dreambuilder_modpack-86ad3e7c6a37699f7f8297a387bf08af74e36629.tar.bz2
dreambuilder_modpack-86ad3e7c6a37699f7f8297a387bf08af74e36629.tar.xz
dreambuilder_modpack-86ad3e7c6a37699f7f8297a387bf08af74e36629.zip
Update all core mods
Diffstat (limited to 'mesecons_doors')
-rw-r--r--mesecons_doors/init.lua111
1 files changed, 78 insertions, 33 deletions
diff --git a/mesecons_doors/init.lua b/mesecons_doors/init.lua
index 7346128..52d6c17 100644
--- a/mesecons_doors/init.lua
+++ b/mesecons_doors/init.lua
@@ -20,31 +20,53 @@ local function on_rightclick(pos, dir, check_name, replace, replace_dir, params)
end
local function meseconify_door(name)
- if not minetest.registered_items[name] then return end
+ if minetest.registered_items[name .. "_b_1"] then
+ -- old style double-node doors
+ local function toggle_state1 (pos, node)
+ on_rightclick(pos, 1, name.."_t_1", name.."_b_2", name.."_t_2", {1,2,3,0})
+ end
- local function toggle_state1 (pos, node)
- on_rightclick(pos, 1, name.."_t_1", name.."_b_2", name.."_t_2", {1,2,3,0})
- end
-
- local function toggle_state2 (pos, node)
- on_rightclick(pos, 1, name.."_t_2", name.."_b_1", name.."_t_1", {3,0,1,2})
- end
+ local function toggle_state2 (pos, node)
+ on_rightclick(pos, 1, name.."_t_2", name.."_b_1", name.."_t_1", {3,0,1,2})
+ end
- minetest.override_item(name.."_b_1", {
- mesecons = {effector = {
- action_on = toggle_state1,
- action_off = toggle_state1,
- rules = mesecon.rules.pplate
- }},
- })
+ minetest.override_item(name.."_b_1", {
+ mesecons = {effector = {
+ action_on = toggle_state1,
+ action_off = toggle_state1,
+ rules = mesecon.rules.pplate
+ }}
+ })
- minetest.override_item(name.."_b_2", {
- mesecons = {effector = {
- action_on = toggle_state2,
- action_off = toggle_state2,
- rules = mesecon.rules.pplate
- }},
- })
+ minetest.override_item(name.."_b_2", {
+ mesecons = {effector = {
+ action_on = toggle_state2,
+ action_off = toggle_state2,
+ rules = mesecon.rules.pplate
+ }}
+ })
+ elseif minetest.registered_items[name .. "_a"] then
+ -- new style mesh node based doors
+ local override = {
+ mesecons = {effector = {
+ action_on = function(pos, node)
+ local door = doors.get(pos)
+ if door then
+ door:open()
+ end
+ end,
+ action_off = function(pos, node)
+ local door = doors.get(pos)
+ if door then
+ door:close()
+ end
+ end,
+ rules = mesecon.rules.pplate
+ }}
+ }
+ minetest.override_item(name .. "_a", override)
+ minetest.override_item(name .. "_b", override)
+ end
end
meseconify_door("doors:door_wood")
@@ -67,18 +89,41 @@ local function trapdoor_switch(pos, node)
minetest.get_meta(pos):set_int("state", state == 1 and 0 or 1)
end
-if minetest.registered_nodes["doors:trapdoor"] then
- minetest.override_item("doors:trapdoor", {
+if doors and doors.get then
+ local override = {
mesecons = {effector = {
- action_on = trapdoor_switch,
- action_off = trapdoor_switch
+ action_on = function(pos, node)
+ local door = doors.get(pos)
+ if door then
+ door:open()
+ end
+ end,
+ action_off = function(pos, node)
+ local door = doors.get(pos)
+ if door then
+ door:close()
+ end
+ end,
}},
- })
+ }
+ minetest.override_item("doors:trapdoor", override)
+ minetest.override_item("doors:trapdoor_open", override)
+ minetest.override_item("doors:trapdoor_steel", override)
+ minetest.override_item("doors:trapdoor_steel_open", override)
+else
+ if minetest.registered_nodes["doors:trapdoor"] then
+ minetest.override_item("doors:trapdoor", {
+ mesecons = {effector = {
+ action_on = trapdoor_switch,
+ action_off = trapdoor_switch
+ }},
+ })
- minetest.override_item("doors:trapdoor_open", {
- mesecons = {effector = {
- action_on = trapdoor_switch,
- action_off = trapdoor_switch
- }},
- })
+ minetest.override_item("doors:trapdoor_open", {
+ mesecons = {effector = {
+ action_on = trapdoor_switch,
+ action_off = trapdoor_switch
+ }},
+ })
+ end
end