diff options
Diffstat (limited to 'mesecons_whiskers75')
| -rw-r--r-- | mesecons_whiskers75/depends.txt | 2 | ||||
| -rw-r--r-- | mesecons_whiskers75/init.lua | 60 | ||||
| -rw-r--r-- | mesecons_whiskers75/textures/whiskers75andblock.png | bin | 0 -> 364 bytes | 
3 files changed, 62 insertions, 0 deletions
| diff --git a/mesecons_whiskers75/depends.txt b/mesecons_whiskers75/depends.txt new file mode 100644 index 0000000..aca967d --- /dev/null +++ b/mesecons_whiskers75/depends.txt @@ -0,0 +1,2 @@ +default +mesecons diff --git a/mesecons_whiskers75/init.lua b/mesecons_whiskers75/init.lua new file mode 100644 index 0000000..15e4785 --- /dev/null +++ b/mesecons_whiskers75/init.lua @@ -0,0 +1,60 @@ +--Whiskers75's code +--AND block + +-- Make the block: + +minetest.register_node("mesecons_whiskers75:andblock", { +	description = "AND block", +	drawtype = "raillike", +	tile_images = {"whiskers75andblock.png"}, +	inventory_image = {"whiskers75andblock.png"}, +	sunlight_propagates = true, +	paramtype = 'light', +	walkable = true, +	groups = {dig_immediate=2}, +	material = minetest.digprop_constanttime(1.0), +}) + +minetest.register_on_punchnode(function(pos, node, puncher) +	if node.name=="mesecons_whiskers75:andblock" then +		anode = minetest.env:get_node({x=pos.x-1, y=pos.y, z=pos.z}) +		bnode = minetest.env:get_node({x=pos.x+1, y=pos.y, z=pos.z})  +		if anode.name=="mesecons:mesecon_on" and bnode.name=="mesecons:mesecon_on" then mesecon:receptor_on({x=pos.x, y=pos.y+1, z=pos.z}) end +	end +end) + +minetest.register_on_punchnode(function(pos, node, puncher) +	if node.name=="mesecons_whiskers75:andblock" then +		anode = minetest.env:get_node({x=pos.x-1, y=pos.y, z=pos.z}) +		bnode = minetest.env:get_node({x=pos.x+1, y=pos.y, z=pos.z})  +		if anode.name=="mesecons:mesecon_off" then mesecon:receptor_off({x=pos.x, y=pos.y+1, z=pos.z}) end +		if bnode.name=="mesecons:mesecon_off" then mesecon:receptor_off({x=pos.x, y=pos.y+1, z=pos.z}) end +	end +end) + +function update(pos, node) +	if node.name=="mesecons_whiskers75:andblock" then +		anode = minetest.env:get_node({x=pos.x-1, y=pos.y, z=pos.z}) +		bnode = minetest.env:get_node({x=pos.x+1, y=pos.y, z=pos.z})  +		if anode.name=="mesecons:mesecon_off" then mesecon:receptor_off({x=pos.x, y=pos.y+1, z=pos.z}) end +		if bnode.name=="mesecons:mesecon_off" then mesecon:receptor_off({x=pos.x, y=pos.y+1, z=pos.z}) end +	end + +	if node.name=="mesecons_whiskers75:andblock" then +		anode = minetest.env:get_node({x=pos.x-1, y=pos.y, z=pos.z}) +		bnode = minetest.env:get_node({x=pos.x+1, y=pos.y, z=pos.z})  +		if anode.name=="mesecons:mesecon_on" and bnode.name=="mesecons:mesecon_on" then mesecon:receptor_on({x=pos.x, y=pos.y+1, z=pos.z}) end +	end +end + + +minetest.register_craft({ +	output = '"mesecons_whiskers75:andblock" 2', +	recipe = { +		{'"default:wood"', '', '"default:dirt"'}, +	} +}) + +mesecon:register_on_signal_on(update) +mesecon:register_on_signal_off(update) + diff --git a/mesecons_whiskers75/textures/whiskers75andblock.png b/mesecons_whiskers75/textures/whiskers75andblock.pngBinary files differ new file mode 100644 index 0000000..63fc07a --- /dev/null +++ b/mesecons_whiskers75/textures/whiskers75andblock.png | 
