mirror of
				https://github.com/minetest-mods/MoreMesecons.git
				synced 2025-10-31 16:15:28 +01:00 
			
		
		
		
	Rotate dual delayer, signal changer and conductor signal changer
This commit is contained in:
		| @@ -4,7 +4,7 @@ local nodebox = { | ||||
| } | ||||
|  | ||||
| local function signalchanger_get_output_rules(node) | ||||
| 	local rules = {{x=1, y=0, z=0}} | ||||
| 	local rules = {{x=-1, y=0, z=0}} | ||||
| 	for i = 0, node.param2 do | ||||
| 		rules = mesecon.rotate_rules_left(rules) | ||||
| 	end | ||||
| @@ -12,7 +12,7 @@ local function signalchanger_get_output_rules(node) | ||||
| end | ||||
|  | ||||
| local function signalchanger_get_input_rules(node) | ||||
| 	local rules = {{x=0, y=0, z=1, name="input_on"}, {x=0, y=0, z=-1, name="input_off"}, {x=-1, y=0, z=0, name="input_signal"}} | ||||
| 	local rules = {{x=0, y=0, z=-1, name="input_on"}, {x=0, y=0, z=1, name="input_off"}, {x=1, y=0, z=0, name="input_signal"}} | ||||
| 	for i = 0, node.param2 do | ||||
| 		rules = mesecon.rotate_rules_left(rules) | ||||
| 	end | ||||
| @@ -25,14 +25,14 @@ local update = function(pos, node, link, newstate) | ||||
| 	local input_on = meta:get_int("input_on") == 1 | ||||
| 	local input_off = meta:get_int("input_off") == 1 | ||||
| 	local input_signal = meta:get_int("input_signal") == 1 | ||||
| 	 | ||||
|  | ||||
| 	if input_on then | ||||
| 		minetest.swap_node(pos, {name = "moremesecons_conductor_signalchanger:conductor_signalchanger_on", param2 = node.param2}) | ||||
| 	elseif input_off then | ||||
| 		mesecon.receptor_off(pos, signalchanger_get_output_rules(node)) | ||||
| 		minetest.swap_node(pos, {name = "moremesecons_conductor_signalchanger:conductor_signalchanger_off", param2 = node.param2}) | ||||
| 	end | ||||
| 	 | ||||
|  | ||||
| 	if input_signal and minetest.get_node(pos).name == "moremesecons_conductor_signalchanger:conductor_signalchanger_on" then -- Note : we must use "minetest.get_node(pos)" and not "node" because the node may have been changed | ||||
| 		mesecon.receptor_on(pos, signalchanger_get_output_rules(node)) | ||||
| 	else | ||||
|   | ||||
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 109 B After Width: | Height: | Size: 161 B | 
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 109 B After Width: | Height: | Size: 158 B | 
		Reference in New Issue
	
	Block a user