diff options
Diffstat (limited to 'mesecons_walllever')
-rw-r--r-- | mesecons_walllever/depends.txt | 2 | ||||
-rw-r--r-- | mesecons_walllever/init.lua | 60 |
2 files changed, 62 insertions, 0 deletions
diff --git a/mesecons_walllever/depends.txt b/mesecons_walllever/depends.txt new file mode 100644 index 0000000..52a18df --- /dev/null +++ b/mesecons_walllever/depends.txt @@ -0,0 +1,2 @@ +mesecons +mesecons_button diff --git a/mesecons_walllever/init.lua b/mesecons_walllever/init.lua new file mode 100644 index 0000000..4e3401e --- /dev/null +++ b/mesecons_walllever/init.lua @@ -0,0 +1,60 @@ +-- WALL LEVER +minetest.register_node("mesecons_walllever:wall_lever_off", { + drawtype = "signlike", + tile_images = {"jeija_wall_lever_off.png"}, + inventory_image = "jeija_wall_lever_off.png", + wield_image = "jeija_wall_lever_off.png", + paramtype = "light", + paramtype2 = "wallmounted", + legacy_wallmounted = true, + walkable = false, + selection_box = { + type = "wallmounted", + }, + groups = {dig_immediate=2}, + description="Lever", +}) +minetest.register_node("mesecons_walllever:wall_lever_on", { + drawtype = "signlike", + tile_images = {"jeija_wall_lever_on.png"}, + inventory_image = "jeija_wall_lever_on.png", + paramtype = "light", + paramtype2 = "wallmounted", + legacy_wallmounted = true, + walkable = false, + selection_box = { + type = "wallmounted", + }, + groups = {dig_immediate=2}, + drop = '"mesecons_walllever:wall_lever_off" 1', + description="Lever", +}) + +minetest.register_on_dignode( + function(pos, oldnode, digger) + if oldnode.name == "mesecons_walllever:wall_lever_on" then + mesecon:receptor_off(pos, mesecon.button_get_rules(oldnode.param2)) + end + end +) +minetest.register_on_punchnode(function(pos, node, puncher) + if node.name == "mesecons_walllever:wall_lever_off" then + minetest.env:add_node(pos, {name="mesecons_walllever:wall_lever_on",param2=node.param2}) + mesecon:receptor_on(pos, mesecon.button_get_rules(node.param2)) + end + if node.name == "mesecons_walllever:wall_lever_on" then + minetest.env:add_node(pos, {name="mesecons_walllever:wall_lever_off",param2=node.param2}) + mesecon:receptor_off(pos, mesecon.button_get_rules(node.param2)) + end +end) + +minetest.register_craft({ + output = '"mesecons_walllever:wall_lever_off" 2', + recipe = { + {'"mesecons:mesecon_off"'}, + {'"default:stone"'}, + {'"default:stick"'}, + } +}) +mesecon:add_receptor_node("mesecons_walllever:wall_lever", nil, mesecon.button_get_rules) +mesecon:add_receptor_node_off("mesecons_walllever:wall_lever_off", nil, mesecon.button_get_rules) |