diff options
Diffstat (limited to 'mesecons_random/init.lua')
| -rw-r--r-- | mesecons_random/init.lua | 38 | 
1 files changed, 30 insertions, 8 deletions
diff --git a/mesecons_random/init.lua b/mesecons_random/init.lua index 4fc2f6e..16ffa3b 100644 --- a/mesecons_random/init.lua +++ b/mesecons_random/init.lua @@ -31,10 +31,17 @@ minetest.register_node("mesecons_random:ghoststone", {  	inventory_image = minetest.inventorycube("jeija_ghoststone_inv.png"),  	groups = {cracky=3},  	sounds = default.node_sound_stone_defaults(), -	mesecons = {effector = { -		action_on = function (pos, node) -			minetest.env:add_node(pos, {name="mesecons_random:ghoststone_active"}) -		end +	mesecons = {conductor = { +		state = mesecon.state.off, +		rules = { --axes +			{x = -1, y = 0, z = 0}, +			{x = 1, y = 0, z = 0}, +			{x = 0, y = -1, z = 0}, +			{x = 0, y = 1, z = 0}, +			{x = 0, y = 0, z = -1}, +			{x = 0, y = 0, z = 1}, +		}, +		onstate = "mesecons_random:ghoststone_active"  	}}  }) @@ -44,11 +51,26 @@ minetest.register_node("mesecons_random:ghoststone_active", {  	walkable = false,  	diggable = false,  	sunlight_propagates = true, -	mesecons = {effector = { -		action_off = function (pos, node) -			minetest.env:add_node(pos, {name="mesecons_random:ghoststone"}) +	paramtype = "light", +	mesecons = {conductor = { +		state = mesecon.state.on, +		rules = { +			{x = -1, y = 0, z = 0}, +			{x = 1, y = 0, z = 0}, +			{x = 0, y = -1, z = 0}, +			{x = 0, y = 1, z = 0}, +			{x = 0, y = 0, z = -1}, +			{x = 0, y = 0, z = 1}, +		}, +		offstate = "mesecons_random:ghoststone" +	}}, +	on_construct = function(pos) +		--remove shadow +		pos2 = {x = pos.x, y = pos.y + 1, z = pos.z} +		if ( minetest.env:get_node(pos2).name == "air" ) then +			minetest.env:dig_node(pos2)  		end -	}} +	end  })  | 
