diff options
Diffstat (limited to 'mesecons_walllever')
| -rw-r--r-- | mesecons_walllever/init.lua | 34 | 
1 files changed, 9 insertions, 25 deletions
diff --git a/mesecons_walllever/init.lua b/mesecons_walllever/init.lua index da427be..6fc0770 100644 --- a/mesecons_walllever/init.lua +++ b/mesecons_walllever/init.lua @@ -1,22 +1,6 @@  -- WALL LEVER -local walllever_get_rules = function(node) -	local rules = { -		{x = 1,  y = 0, z = 0}, -		{x = 1,  y = 1, z = 0}, -		{x = 1,  y =-1, z = 0}, -		{x = 1,  y =-1, z = 1}, -		{x = 1,  y =-1, z =-1}, -		{x = 2,  y = 0, z = 0}} -	if node.param2 == 2 then -		rules=mesecon:rotate_rules_left(rules) -	elseif node.param2 == 3 then -		rules=mesecon:rotate_rules_right(mesecon:rotate_rules_right(rules)) -	elseif node.param2 == 0 then -		rules=mesecon:rotate_rules_right(rules) -	end -	return rules -end - +-- Basically a switch that can be attached to a wall +-- Powers the block 2 nodes behind (using a receiver)  minetest.register_node("mesecons_walllever:wall_lever_off", {  	drawtype = "nodebox",  	tiles = { @@ -49,10 +33,10 @@ minetest.register_node("mesecons_walllever:wall_lever_off", {  	description="Lever",  	on_punch = function (pos, node)  		mesecon:swap_node(pos, "mesecons_walllever:wall_lever_on") -		mesecon:receptor_on(pos, walllever_get_rules(node)) +		mesecon:receptor_on(pos, mesecon.rules.buttonlike_get(node))  	end, -	mesecon = {receptor = { -		rules = walllever_get_rules, +	mesecons = {receptor = { +		rules = mesecon.rules.buttonlike_get,  		state = mesecon.state.off  	}}  }) @@ -84,15 +68,15 @@ minetest.register_node("mesecons_walllever:wall_lever_on", {  			 { -2/16, -1/16,  3/16, 2/16, 1/16,  4/16 },	-- the lever "hinge"  			 { -1/16,  0,     4/16, 1/16, 8/16,  6/16 }}	-- the lever itself.  	}, -	groups = {dig_immediate=2,not_in_creative_inventory=1, mesecon = 3, mesecon_needs_receiver = 1}, +	groups = {dig_immediate = 2, not_in_creative_inventory = 1, mesecon_needs_receiver = 1},  	drop = '"mesecons_walllever:wall_lever_off" 1',  	description="Lever",  	on_punch = function (pos, node)  		mesecon:swap_node(pos, "mesecons_walllever:wall_lever_off") -		mesecon:receptor_off(pos, walllever_get_rules(node)) +		mesecon:receptor_off(pos, mesecon.rules.buttonlike_get(node))  	end, -	mesecon = {receptor = { -		rules = walllever_get_rules, +	mesecons = {receptor = { +		rules = mesecon.rules.buttonlike_get,  		state = mesecon.state.on  	}}  })  | 
