summaryrefslogtreecommitdiff
path: root/mesecons_switch
diff options
context:
space:
mode:
authorJeija <jeija@mesecons.net>2014-11-22 20:49:54 +0100
committerJeija <jeija@mesecons.net>2014-11-22 20:49:54 +0100
commit80d136125ef8f17af85d0045800d5e761ace3229 (patch)
treef3c564c4151795f6852a64355a58813eb66aba15 /mesecons_switch
parenta550323fea995437896d809df5e5c3795271219c (diff)
downloadmesecons-80d136125ef8f17af85d0045800d5e761ace3229.tar
mesecons-80d136125ef8f17af85d0045800d5e761ace3229.tar.gz
mesecons-80d136125ef8f17af85d0045800d5e761ace3229.tar.bz2
mesecons-80d136125ef8f17af85d0045800d5e761ace3229.tar.xz
mesecons-80d136125ef8f17af85d0045800d5e761ace3229.zip
Fix bug in mesecon.find_receptor that caused false turnoffs and rewrite lever +
switch
Diffstat (limited to 'mesecons_switch')
-rw-r--r--mesecons_switch/init.lua41
1 files changed, 17 insertions, 24 deletions
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({