From 472650f099deda6a3f1ab0900c7319a78b352d68 Mon Sep 17 00:00:00 2001 From: Jeija Date: Sat, 8 Dec 2012 17:50:25 +0100 Subject: Finish new mesecon-in-nodedef for conductors and receptors. Make wires and switch use it for reference. --- mesecons_switch/init.lua | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) (limited to 'mesecons_switch') diff --git a/mesecons_switch/init.lua b/mesecons_switch/init.lua index a8b3415..2af5101 100644 --- a/mesecons_switch/init.lua +++ b/mesecons_switch/init.lua @@ -3,32 +3,30 @@ minetest.register_node("mesecons_switch:mesecon_switch_off", { tiles = {"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", - groups = {dig_immediate=2, mesecon = 2}, - description="Switch", + groups = {dig_immediate=2}, + description="Switch", + mesecons = {receptor = { + state = mesecon.state.off + }}, + on_punch = function(pos, node) + minetest.env:add_node(pos, {name="mesecons_switch:mesecon_switch_on", param2=node.param2}) + mesecon:receptor_on(pos) + end }) minetest.register_node("mesecons_switch:mesecon_switch_on", { tiles = {"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", - groups = {dig_immediate=2,not_in_creative_inventory=1, mesecon = 2}, + groups = {dig_immediate=2,not_in_creative_inventory=1}, drop='"mesecons_switch:mesecon_switch_off" 1', - description="Switch", -}) - -mesecon:register_receptor("mesecons_switch:mesecon_switch_on", "mesecons_switch:mesecon_switch_off") - -minetest.register_on_punchnode(function(pos, node, puncher) - if node.name == "mesecons_switch:mesecon_switch_on" then + mesecons = {receptor = { + state = mesecon.state.on + }}, + on_punch = function(pos, node) 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_craft({ output = '"mesecons_switch:mesecon_switch_off" 2', -- cgit v1.2.3