diff options
Diffstat (limited to 'mesecons_switch')
-rw-r--r-- | mesecons_switch/depends.txt | 1 | ||||
-rw-r--r-- | mesecons_switch/init.lua | 48 |
2 files changed, 49 insertions, 0 deletions
diff --git a/mesecons_switch/depends.txt b/mesecons_switch/depends.txt new file mode 100644 index 0000000..acaa924 --- /dev/null +++ b/mesecons_switch/depends.txt @@ -0,0 +1 @@ +mesecons diff --git a/mesecons_switch/init.lua b/mesecons_switch/init.lua new file mode 100644 index 0000000..769223c --- /dev/null +++ b/mesecons_switch/init.lua @@ -0,0 +1,48 @@ +-- MESECON_SWITCH + +minetest.register_node("mesecons_switch:mesecon_switch_off", { + tile_images = {"jeija_mesecon_switch_side.png", "jeija_mesecon_switch_side.png", "jeija_mesecon_switch_side.png", "jeija_mesecon_switch_side.png", "jeija_mesecon_switch_side.png", "jeija_mesecon_switch_off.png"}, + paramtype2="facedir", + material = minetest.digprop_constanttime(0.5), + description="Switch", +}) + +minetest.register_node("mesecons_switch:mesecon_switch_on", { + tile_images = {"jeija_mesecon_switch_side.png", "jeija_mesecon_switch_side.png", "jeija_mesecon_switch_side.png", "jeija_mesecon_switch_side.png", "jeija_mesecon_switch_side.png", "jeija_mesecon_switch_on.png"}, + paramtype2="facedir", + material = minetest.digprop_constanttime(0.5), + drop='"mesecons_switch:mesecon_switch_off" 1', + description="Switch", +}) + +mesecon:add_receptor_node("mesecons_switch:mesecon_switch_on") +mesecon:add_receptor_node_off("mesecons_switch:mesecon_switch_off") + +minetest.register_on_punchnode(function(pos, node, puncher) + if node.name == "mesecons_switch:mesecon_switch_on" then + minetest.env:add_node(pos, {name="mesecons_switch:mesecon_switch_off", param2=node.param2}) + nodeupdate(pos) + mesecon:receptor_off(pos) + end + if node.name == "mesecons_switch:mesecon_switch_off" then + minetest.env:add_node(pos, {name="mesecons_switch:mesecon_switch_on", param2=node.param2}) + nodeupdate(pos) + mesecon:receptor_on(pos) + end +end) + +minetest.register_on_dignode( + function(pos, oldnode, digger) + if oldnode.name == "mesecons_switch:mesecon_switch_on" then + mesecon:receptor_off(pos) + end + end +) + +minetest.register_craft({ + output = '"mesecons_switch:mesecon_switch_off" 2', + recipe = { + {'"default:steel_ingot"', '"default:cobble"', '"default:steel_ingot"'}, + {'"mesecons:mesecon_off"','', '"mesecons:mesecon_off"'}, + } +}) |