forked from minetest-mods/mesecons
		
	New effector system, effectors have to be registered with mesecon:register_effector(onstate, offstate, rules, function get_rules) rules and function get_rules are optional. You don't have to specify both onstate and offstate (required for e.g. removestone)
This commit is contained in:
		| @@ -1,3 +1,9 @@ | ||||
| mesecon:add_rules("microcontroller_all", { --flat rules (looks better with nodebox wires connection) | ||||
| {x = 1, y = 0, z = 0 }, | ||||
| {x = 0, y = 0, z = 1 }, | ||||
| {x = -1, y = 0, z = 0}, | ||||
| {x = 0, y = 0, z = -1}}) | ||||
|  | ||||
| EEPROM_SIZE = 255 | ||||
|  | ||||
| for a = 0, 1 do | ||||
| @@ -6,9 +12,9 @@ for c = 0, 1 do | ||||
| for d = 0, 1 do | ||||
| local nodename = "mesecons_microcontroller:microcontroller"..tostring(d)..tostring(c)..tostring(b)..tostring(a) | ||||
| if tostring(d)..tostring(c)..tostring(b)..tostring(a) ~= "0000" then | ||||
| 	groups = {dig_immediate=2, not_in_creative_inventory=1, mesecon_effector_on = 1, mesecon_effector_off = 0, mesecon = 2} | ||||
| 	groups = {dig_immediate=2, not_in_creative_inventory=1, mesecon = 3} | ||||
| else | ||||
| 	groups = {dig_immediate=2, mesecon_effector_on = 1, mesecon_effector_off = 0, mesecon = 2} | ||||
| 	groups = {dig_immediate=2, mesecon = 3} | ||||
| end | ||||
| minetest.register_node(nodename, { | ||||
| 	description = "Microcontroller", | ||||
| @@ -17,7 +23,6 @@ minetest.register_node(nodename, { | ||||
| 		"jeija_microcontroller_top_"..tostring(d)..tostring(c)..tostring(b)..tostring(a)..".png", | ||||
| 		"jeija_microcontroller_sides.png", | ||||
| 		}, | ||||
| 	--inventory_image = "jeija_microcontroller_top_0000.png", | ||||
|  | ||||
| 	sunlight_propagates = true, | ||||
| 	paramtype = "light", | ||||
| @@ -88,16 +93,17 @@ minetest.register_node(nodename, { | ||||
| 		update_yc(pos) | ||||
| 	end, | ||||
| }) | ||||
|  | ||||
| local rules={} | ||||
| if (a == 1) then table.insert(rules, {x = -1, y = 0, z =  0}) end | ||||
| if (b == 1) then table.insert(rules, {x =  0, y = 0, z =  1}) end | ||||
| if (c == 1) then table.insert(rules, {x =  1, y = 0, z =  0}) end | ||||
| if (d == 1) then table.insert(rules, {x =  0, y = 0, z = -1}) end | ||||
| mesecon:add_rules(nodename, rules) | ||||
|  | ||||
| mesecon:register_effector(nodename, nodename, mesecon:get_rules("microcontroller_all")) | ||||
| if nodename ~= "mesecons_microcontroller:microcontroller0000" then | ||||
| 	mesecon:add_receptor_node(nodename, rules) | ||||
| else | ||||
| 	mesecon:add_receptor_node_off(nodename) | ||||
| end | ||||
| end | ||||
| end | ||||
|   | ||||
		Reference in New Issue
	
	Block a user