From 80d136125ef8f17af85d0045800d5e761ace3229 Mon Sep 17 00:00:00 2001 From: Jeija Date: Sat, 22 Nov 2014 20:49:54 +0100 Subject: Fix bug in mesecon.find_receptor that caused false turnoffs and rewrite lever + switch --- mesecons_switch/init.lua | 41 +++++++++++++++++------------------------ 1 file changed, 17 insertions(+), 24 deletions(-) (limited to 'mesecons_switch') diff --git a/mesecons_switch/init.lua b/mesecons_switch/init.lua index 1b7f478..074dc62 100644 --- a/mesecons_switch/init.lua +++ b/mesecons_switch/init.lua @@ -1,35 +1,28 @@ -- MESECON_SWITCH -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"}, +mesecon.register_node("mesecons_switch:mesecon_switch", { paramtype2="facedir", groups = {dig_immediate=2}, description="Switch", sounds = default.node_sound_stone_defaults(), - mesecons = {receptor = { - state = mesecon.state.off - }}, - on_punch = function(pos, node) - minetest.swap_node(pos, {name = "mesecons_switch:mesecon_switch_on", param2 = node.param2}) - mesecon:receptor_on(pos) - minetest.sound_play("mesecons_switch", {pos=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}, - drop="mesecons_switch:mesecon_switch_off 1", - sounds = default.node_sound_stone_defaults(), - mesecons = {receptor = { - state = mesecon.state.on - }}, - on_punch = function(pos, node) - minetest.swap_node(pos, {name = "mesecons_switch:mesecon_switch_off", param2 = node.param2}) - mesecon:receptor_off(pos) + on_punch = function (pos, node) + if(mesecon.flipstate(pos, node) == "on") then + mesecon.receptor_on(pos) + else + mesecon.receptor_off(pos) + end minetest.sound_play("mesecons_switch", {pos=pos}) end +},{ + 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"}, + mesecons = {receptor = { state = mesecon.state.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_on.png"}, + mesecons = {receptor = { state = mesecon.state.on }} }) minetest.register_craft({ -- cgit v1.2.3