diff options
| -rw-r--r-- | WHISKERS75_README | 4 | ||||
| -rw-r--r-- | mesecons_temperest/init.lua | 25 | ||||
| -rw-r--r-- | mesecons_whiskers75/depends.txt | 2 | ||||
| -rw-r--r-- | mesecons_whiskers75/init.lua | 60 | ||||
| -rw-r--r-- | mesecons_whiskers75/textures/whiskers75andblock.png (renamed from mesecons_temperest/textures/whiskers75andblock.png) | bin | 364 -> 364 bytes | 
5 files changed, 64 insertions, 27 deletions
| diff --git a/WHISKERS75_README b/WHISKERS75_README index 3511ef7..9d24360 100644 --- a/WHISKERS75_README +++ b/WHISKERS75_README @@ -4,6 +4,6 @@ README for Whiskers75's contributions  1: You need Temperest's code enabled (ENABLE_TEMPEREST=1 in settings.lua).  2: To work it, place mesecons (on) in the position x plus or minus 1 from the block.  3: Then punch, and off mesecons in the position y plus or minus 1 from the block will be powered. -4: Currently, you will have to dig the mesecons in the above positions up if the circuit changes, but that will be fixed. -5: The name of the block is mesecons_temperest:andblock. +4: The AND gate will auto power on, but NOT off, punch to update (help here) +5: The name of the block is mesecons_whiskers75:andblock.  6: Enjoy! diff --git a/mesecons_temperest/init.lua b/mesecons_temperest/init.lua index 9725672..08b3eb5 100644 --- a/mesecons_temperest/init.lua +++ b/mesecons_temperest/init.lua @@ -243,29 +243,4 @@ if ENABLE_TEMPEREST==1 then  	})  end ---End Temperest's code ---Whiskers75's code ---AND block - --- Make the block: - -minetest.register_node("mesecons_temperest: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_temperest: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) 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_temperest/textures/whiskers75andblock.png b/mesecons_whiskers75/textures/whiskers75andblock.pngBinary files differ index 63fc07a..63fc07a 100644 --- a/mesecons_temperest/textures/whiskers75andblock.png +++ b/mesecons_whiskers75/textures/whiskers75andblock.png | 
