forked from minetest-mods/mesecons
		
	Remove deprecated API functions "register_on_placenode" and "register_on_dignode" where possible.
This commit is contained in:
		| @@ -42,8 +42,8 @@ | ||||
| -- | ||||
| -- | ||||
| --!! If a receptor node is removed, the circuit should be recalculated. This means you have to | ||||
| --send an mesecon:receptor_off signal to the api when the function in minetest.register_on_dignode | ||||
| --is called. | ||||
| --send an mesecon:receptor_off signal to the api when the node is dug, using the | ||||
| --after_dig_node node property. | ||||
| -- | ||||
| --EFFECTORS | ||||
| -- | ||||
|   | ||||
| @@ -21,7 +21,10 @@ minetest.register_node("mesecons_blinkyplant:blinky_plant_on", { | ||||
| 	groups = {snappy=2}, | ||||
| 	drop='"mesecons_blinkyplant:blinky_plant_off" 1', | ||||
| 	light_source = LIGHT_MAX-7, | ||||
|     	description="Blinky Plant", | ||||
| 	description = "Blinky Plant", | ||||
| 	after_dig_node = function(pos) | ||||
| 		mesecon:receptor_off(pos) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| minetest.register_craft({ | ||||
| @@ -59,11 +62,3 @@ minetest.register_abm({ | ||||
|  | ||||
| mesecon:add_receptor_node("mesecons_blinkyplant:blinky_plant_on") | ||||
| mesecon:add_receptor_node_off("mesecons_blinkyplant:blinky_plant_off") | ||||
|  | ||||
| minetest.register_on_dignode( | ||||
| 	function(pos, oldnode, digger) | ||||
| 		if oldnode.name == "mesecons_blinkyplant:blinky_plant_on" then | ||||
| 			mesecon:receptor_off(pos) | ||||
| 		end | ||||
| 	end | ||||
| ) | ||||
|   | ||||
| @@ -10,30 +10,26 @@ minetest.register_node("mesecons_button:button_off", { | ||||
|         type = "wallmounted", | ||||
|     }, | ||||
|     groups = {dig_immediate=2}, | ||||
|     description="Button", | ||||
|     description = "Button", | ||||
| }) | ||||
| minetest.register_node("mesecons_button:button_on", { | ||||
|     drawtype = "signlike", | ||||
|     tile_images = {"jeija_wall_button_on.png"}, | ||||
|     paramtype = "light", | ||||
|     paramtype2 = "wallmounted", | ||||
|     legacy_wallmounted = true, | ||||
|     walkable = false, | ||||
|     selection_box = { | ||||
|         type = "wallmounted", | ||||
|     }, | ||||
|     groups = {dig_immediate=2}, | ||||
|     drop = '"mesecons_button:button_off" 1', | ||||
|     description="Button", | ||||
| 	drawtype = "signlike", | ||||
| 	tile_images = {"jeija_wall_button_on.png"}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "wallmounted", | ||||
| 	legacy_wallmounted = true, | ||||
| 	walkable = false, | ||||
| 	selection_box = { | ||||
| 		type = "wallmounted", | ||||
| 	}, | ||||
| 	groups = {dig_immediate=2}, | ||||
| 	drop = 'mesecons_button:button_off', | ||||
| 	description = "Button", | ||||
| 	after_dig_node = function(pos) | ||||
| 		mesecon:receptor_off(pos, mesecon.button_get_rules(minetest.env:get_node(pos).param2)) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| minetest.register_on_dignode( | ||||
|     function(pos, oldnode, digger) | ||||
|         if oldnode.name == "mesecons_button:button_on" then | ||||
|             mesecon:receptor_off(pos, mesecon.button_get_rules(oldnode.param2)) | ||||
|         end     | ||||
|     end | ||||
| ) | ||||
| minetest.register_on_punchnode(function(pos, node, puncher) | ||||
| 	if node.name == "mesecons_button:button_off" then | ||||
| 		minetest.env:add_node(pos, {name="mesecons_button:button_on",param2=node.param2}) | ||||
| @@ -47,7 +43,7 @@ mesecon.button_turnoff = function (params) | ||||
| 	if minetest.env:get_node(params.pos).name=="mesecons_button:button_on" then | ||||
| 		minetest.env:add_node(params.pos, {name="mesecons_button:button_off", param2=params.param2}) | ||||
| 		local rules=mesecon.button_get_rules(param2) | ||||
|         	mesecon:receptor_off(params.pos, rules) | ||||
| 		mesecon:receptor_off(params.pos, rules) | ||||
| 	end | ||||
| end | ||||
|  | ||||
|   | ||||
| @@ -12,12 +12,15 @@ minetest.register_node("mesecons_detector:object_detector_on", { | ||||
| 	paramtype = "light", | ||||
| 	walkable = true, | ||||
| 	groups = {cracky=3}, | ||||
| 	drop = '"mesecons_detector:object_detector_off" 1', | ||||
| 	drop = 'mesecons_detector:object_detector_off', | ||||
| 	description="Player Detector", | ||||
| 	after_dig_node = function(pos) | ||||
| 		mesecon:receptor_off(pos, mesecon:get_rules("pressureplate")) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| minetest.register_craft({ | ||||
| 	output = '"mesecons_detector:object_detector_off" 1', | ||||
| 	output = 'mesecons_detector:object_detector_off', | ||||
| 	recipe = { | ||||
| 		{"default:steelblock", '', "default:steelblock"}, | ||||
| 		{"default:steelblock", "mesecons_materials:ic", "default:steelblock"}, | ||||
| @@ -73,13 +76,5 @@ minetest.register_abm( | ||||
| 	end, | ||||
| }) | ||||
|  | ||||
| minetest.register_on_dignode( | ||||
| 	function(pos, oldnode, digger) | ||||
| 		if oldnode.name == "mesecons_detector:object_detector_on" then | ||||
| 			mesecon:receptor_off(pos, mesecon:get_rules("pressureplate")) | ||||
| 		end	 | ||||
| 	end | ||||
| ) | ||||
|  | ||||
| mesecon:add_receptor_node("mesecons_detector:object_detector_on") | ||||
| mesecon:add_receptor_node_off("mesecons_detector:object_detector_off") | ||||
|   | ||||
| @@ -54,8 +54,8 @@ function mesecon:remove_wireless_receiver(pos) | ||||
| 	local i = 1 | ||||
| 	while mesecon.wireless_receivers[i]~=nil do | ||||
| 		if mesecon.wireless_receivers[i].pos.x==pos.x and | ||||
| 		   mesecon.wireless_receivers[i].pos.y==pos.y and | ||||
| 		   mesecon.wireless_receivers[i].pos.z==pos.z then | ||||
| 			mesecon.wireless_receivers[i].pos.y==pos.y and | ||||
| 			mesecon.wireless_receivers[i].pos.z==pos.z then | ||||
| 			mesecon.wireless_receivers[i]=nil | ||||
| 			break | ||||
| 		end | ||||
| @@ -84,8 +84,8 @@ function mesecon:get_wlre(pos) | ||||
| 	local i=1 | ||||
| 	while mesecon.wireless_receivers[i]~=nil do | ||||
| 		if mesecon.wireless_receivers[i].pos.x==pos.x and | ||||
| 		   mesecon.wireless_receivers[i].pos.y==pos.y and | ||||
| 		   mesecon.wireless_receivers[i].pos.z==pos.z then | ||||
| 			mesecon.wireless_receivers[i].pos.y==pos.y and | ||||
| 			mesecon.wireless_receivers[i].pos.z==pos.z then | ||||
| 			return mesecon.wireless_receivers[i] | ||||
| 		end | ||||
| 		i=i+1 | ||||
| @@ -95,9 +95,9 @@ end | ||||
| minetest.register_on_placenode(function(pos, newnode, placer) | ||||
| 	pos.y=pos.y+1 | ||||
| 	if minetest.env:get_node(pos).name == "mesecons_wireless:wireless_receiver_off" or | ||||
| 	   minetest.env:get_node(pos).name == "mesecons_wireless:wireless_receiver_on"  or | ||||
| 	   minetest.env:get_node(pos).name == "mesecons_wireless:wireless_inverter_off" or | ||||
| 	   minetest.env:get_node(pos).name == "mesecons_wireless:wireless_inverter_on" then | ||||
| 		minetest.env:get_node(pos).name == "mesecons_wireless:wireless_receiver_on"  or | ||||
| 		minetest.env:get_node(pos).name == "mesecons_wireless:wireless_inverter_off" or | ||||
| 		minetest.env:get_node(pos).name == "mesecons_wireless:wireless_inverter_on" then | ||||
| 		mesecon:set_wlre_channel(pos, newnode.name) | ||||
| 	end | ||||
| end) | ||||
| @@ -107,9 +107,9 @@ minetest.register_on_dignode( | ||||
| 		local channel | ||||
| 		pos.y=pos.y+1 | ||||
| 		if minetest.env:get_node(pos).name == "mesecons_wireless:wireless_receiver_on" or | ||||
| 		   minetest.env:get_node(pos).name == "mesecons_wireless:wireless_receiver_off" or | ||||
| 		   minetest.env:get_node(pos).name == "mesecons_wireless:wireless_inverter_on" or | ||||
| 		   minetest.env:get_node(pos).name == "mesecons_wireless:wireless_inverter_off" then | ||||
| 			minetest.env:get_node(pos).name == "mesecons_wireless:wireless_receiver_off" or | ||||
| 			minetest.env:get_node(pos).name == "mesecons_wireless:wireless_inverter_on" or | ||||
| 			minetest.env:get_node(pos).name == "mesecons_wireless:wireless_inverter_off" then | ||||
| 			mesecon:set_wlre_channel(pos, "air") | ||||
| 		end | ||||
| 	end | ||||
| @@ -117,7 +117,7 @@ minetest.register_on_dignode( | ||||
|  | ||||
| minetest.register_abm( | ||||
| 	{nodenames = {"mesecons_wireless:wireless_receiver_on", "mesecons_wireless:wireless_receiver_off", | ||||
| 		      "mesecons_wireless:wireless_inverter_on", "mesecons_wireless:wireless_inverter_off"}, | ||||
| 		"mesecons_wireless:wireless_inverter_on", "mesecons_wireless:wireless_inverter_off"}, | ||||
| 	interval = 1.0, | ||||
| 	chance = 1, | ||||
| 	action = function(pos, node, active_object_count, active_object_count_wider) | ||||
| @@ -149,7 +149,14 @@ minetest.register_node("mesecons_wireless:wireless_receiver_off", { | ||||
| 	tile_images = {"jeija_wireless_receiver_tb_off.png", "jeija_wireless_receiver_tb_off.png", "jeija_wireless_receiver_off.png", "jeija_wireless_receiver_off.png", "jeija_wireless_receiver_off.png", "jeija_wireless_receiver_off.png"}, | ||||
| 	inventory_image = minetest.inventorycube("jeija_wireless_receiver_off.png"), | ||||
| 	groups = {choppy=2}, | ||||
|     	description="Wireless Receiver", | ||||
| 	description="Wireless Receiver", | ||||
| 	after_place_node = function(pos) | ||||
| 		mesecon:register_wireless_receiver(pos, 0) | ||||
| 	end, | ||||
| 	after_dig_node = function(pos) | ||||
| 		mesecon:remove_wireless_receiver(pos) | ||||
| 		mesecon:receptor_off(pos) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| minetest.register_node("mesecons_wireless:wireless_receiver_on", { | ||||
| @@ -157,7 +164,13 @@ minetest.register_node("mesecons_wireless:wireless_receiver_on", { | ||||
| 	inventory_image = minetest.inventorycube("jeija_wireless_receiver_on.png"), | ||||
| 	groups = {choppy=2}, | ||||
| 	drop = 'mesecons_wireless:wireless_receiver_off', | ||||
|     	description="Wireless Receiver", | ||||
| 	description="Wireless Receiver", | ||||
| 	after_place_node = function(pos) | ||||
| 		mesecon:register_wireless_receiver(pos, 0) | ||||
| 	end, | ||||
| 	after_dig_node = function(pos) | ||||
| 		mesecon:remove_wireless_receiver(pos) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| minetest.register_craft({ | ||||
| @@ -169,24 +182,6 @@ minetest.register_craft({ | ||||
| 	} | ||||
| }) | ||||
|  | ||||
| minetest.register_on_placenode(function(pos, newnode, placer) | ||||
| 	if newnode.name == "mesecons_wireless:wireless_receiver_off" then | ||||
| 		mesecon:register_wireless_receiver(pos, 0) | ||||
| 	end | ||||
| end) | ||||
|  | ||||
| minetest.register_on_dignode( | ||||
| 	function(pos, oldnode, digger) | ||||
| 		if oldnode.name == "mesecons_wireless:wireless_receiver_on" then | ||||
| 			mesecon:remove_wireless_receiver(pos) | ||||
| 			mesecon:receptor_off(pos) | ||||
| 		end	 | ||||
| 		if oldnode.name == "mesecons_wireless:wireless_receiver_off" then | ||||
| 			mesecon:remove_wireless_receiver(pos)		 | ||||
| 		end | ||||
| 	end | ||||
| ) | ||||
|  | ||||
| minetest.register_abm( -- SAVE WIRELESS RECEIVERS TO FILE | ||||
| 	{nodenames = {"mesecons_wireless:wireless_receiver_off", "mesecons_wireless:wireless_receiver_on", "mesecons_wireless:wireless_inverter_on", "mesecons_wireless:wireless_inverter_off"}, | ||||
| 	interval = 10, | ||||
| @@ -218,14 +213,29 @@ minetest.register_node("mesecons_wireless:wireless_inverter_off", { | ||||
| 	inventory_image = minetest.inventorycube("jeija_wireless_inverter_off.png"), | ||||
| 	groups = {choppy=2}, | ||||
| 	drop = 'mesecons_wireless:wireless_inverter_on', | ||||
|     	description="Wireless Inverter", | ||||
|     	description = "Wireless Inverter", | ||||
| 	after_place_node = function(pos) | ||||
| 		mesecon:register_wireless_receiver(pos, 1) | ||||
| 		mesecon:receptor_on(pos) | ||||
| 	end, | ||||
| 	after_dig_node = function(pos) | ||||
| 		mesecon:remove_wireless_receiver(pos) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| minetest.register_node("mesecons_wireless:wireless_inverter_on", { | ||||
| 	tile_images = {"jeija_wireless_inverter_tb.png", "jeija_wireless_inverter_tb.png", "jeija_wireless_inverter_on.png", "jeija_wireless_inverter_on.png", "jeija_wireless_inverter_on.png", "jeija_wireless_inverter_on.png"}, | ||||
| 	inventory_image = minetest.inventorycube("jeija_wireless_inverter_on.png"), | ||||
| 	groups = {choppy=2}, | ||||
|     	description="Wireless Inverter", | ||||
| 	description = "Wireless Inverter", | ||||
| 	after_place_node = function(pos) | ||||
| 		mesecon:register_wireless_receiver(pos, 1) | ||||
| 		mesecon:receptor_on(pos) | ||||
| 	end, | ||||
| 	after_dig_node = function(pos) | ||||
| 		mesecon:remove_wireless_receiver(pos) | ||||
| 		mesecon:receptor_off(pos) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| minetest.register_craft({ | ||||
| @@ -237,25 +247,6 @@ minetest.register_craft({ | ||||
| 	} | ||||
| }) | ||||
|  | ||||
| minetest.register_on_placenode(function(pos, newnode, placer) | ||||
| 	if newnode.name == "mesecons_wireless:wireless_inverter_on" then | ||||
| 		mesecon:register_wireless_receiver(pos, 1) | ||||
| 		mesecon:receptor_on(pos) | ||||
| 	end | ||||
| end) | ||||
|  | ||||
| minetest.register_on_dignode( | ||||
| 	function(pos, oldnode, digger) | ||||
| 		if oldnode.name == "mesecons_wireless:wireless_inverter_on" then | ||||
| 			mesecon:remove_wireless_receiver(pos) | ||||
| 			mesecon:receptor_off(pos) | ||||
| 		end	 | ||||
| 		if oldnode.name == "mesecons_wireless:wireless_inverter_off" then | ||||
| 			mesecon:remove_wireless_receiver(pos)		 | ||||
| 		end | ||||
| 	end | ||||
| ) | ||||
|  | ||||
| mesecon:add_receptor_node("mesecons_wireless:wireless_inverter_on") | ||||
| mesecon:add_receptor_node_off("mesecons_wireless:wireless_inverter_off") | ||||
|  | ||||
| @@ -280,14 +271,14 @@ minetest.register_node("mesecons_wireless:wireless_transmitter_on", { | ||||
| 	inventory_image = minetest.inventorycube("jeija_wireless_transmitter_on.png"), | ||||
| 	groups = {choppy=2}, | ||||
| 	drop = {'"mesecons_wireless:wireless_transmitter_off" 1'}, | ||||
|     	description="Wireless Transmitter", | ||||
| 	description="Wireless Transmitter", | ||||
| }) | ||||
|  | ||||
| minetest.register_node("mesecons_wireless:wireless_transmitter_off", { | ||||
| 	tile_images = {"jeija_wireless_transmitter_tb.png", "jeija_wireless_transmitter_tb.png", "jeija_wireless_transmitter_off.png", "jeija_wireless_transmitter_off.png", "jeija_wireless_transmitter_off.png", "jeija_wireless_transmitter_off.png"}, | ||||
| 	inventory_image = minetest.inventorycube("jeija_wireless_transmitter_off.png"), | ||||
| 	groups = {choppy=2}, | ||||
|     	description="Wireless Transmitter", | ||||
| 	description="Wireless Transmitter", | ||||
| }) | ||||
|  | ||||
| minetest.register_craft({ | ||||
|   | ||||
| @@ -5,13 +5,10 @@ minetest.register_node("mesecons_noteblock:noteblock", { | ||||
| 	drawtype = "allfaces_optional", | ||||
| 	visual_scale = 1.3, | ||||
| 	paramtype="light", | ||||
| }) | ||||
|  | ||||
| minetest.register_on_placenode(function (pos, node) | ||||
| 	if node.name=="mesecons_noteblock:noteblock" then | ||||
| 		minetest.env:add_node(pos, {name=node.name, param2=0}) | ||||
| 	after_place_node = function(pos) | ||||
| 		minetest.env:add_node(pos, {name="mesecons_noteblock:noteblock", param2=0}) | ||||
| 	end | ||||
| end) | ||||
| }) | ||||
|  | ||||
| minetest.register_on_punchnode(function (pos, node) | ||||
| 	if node.name=="mesecons_noteblock:noteblock" then | ||||
|   | ||||
| @@ -5,6 +5,14 @@ minetest.register_node("mesecons_pistons:piston_normal", { | ||||
| 	groups = {cracky=3}, | ||||
| 	paramtype2="facedir", | ||||
|     	description="Piston", | ||||
| 	after_dig_node = function(pos) | ||||
| 		local objs = minetest.env:get_objects_inside_radius(pos, 2) | ||||
| 		for k, obj in pairs(objs) do | ||||
| 			if obj:get_entity_name() == "mesecons_pistons:piston_pusher_normal" then | ||||
| 				obj:remove() | ||||
| 			end | ||||
| 		end | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| minetest.register_craft({ | ||||
| @@ -22,6 +30,14 @@ minetest.register_node("mesecons_pistons:piston_sticky", { | ||||
| 	groups = {cracky=3}, | ||||
| 	paramtype2="facedir", | ||||
|     	description="Sticky Piston", | ||||
| 	after_dig_node = function(pos) | ||||
| 		local objs = minetest.env:get_objects_inside_radius(pos, 2) | ||||
| 		for k, obj in pairs(objs) do | ||||
| 			if obj:get_entity_name() == "mesecons_pistons:piston_pusher_sticky" then | ||||
| 				obj:remove() | ||||
| 			end | ||||
| 		end | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| minetest.register_craft({ | ||||
| @@ -260,15 +276,3 @@ end | ||||
|  | ||||
| minetest.register_entity("mesecons_pistons:piston_pusher_normal", PISTON_PUSHER_NORMAL) | ||||
| minetest.register_entity("mesecons_pistons:piston_pusher_sticky", PISTON_PUSHER_STICKY) | ||||
|  | ||||
| minetest.register_on_dignode(function(pos, node) | ||||
| 	if node.name=="mesecons_pistons:piston_normal" or node.name=="mesecons_pistons:piston_sticky" then | ||||
| 		local objs = minetest.env:get_objects_inside_radius(pos, 2) | ||||
| 		for k, obj in pairs(objs) do | ||||
| 			local obj_name = obj:get_entity_name() | ||||
| 			if obj_name == "mesecons_pistons:piston_pusher_normal" or obj_name == "mesecons_pistons:piston_pusher_sticky" then | ||||
| 				obj:remove() | ||||
| 			end | ||||
| 		end | ||||
| 	end | ||||
| end) | ||||
|   | ||||
| @@ -10,6 +10,12 @@ minetest.register_node("mesecons_powerplant:power_plant", { | ||||
| 	groups = {snappy=3}, | ||||
| 	light_source = LIGHT_MAX-9, | ||||
|     	description="Power Plant", | ||||
| 	after_place_node = function(pos) | ||||
| 		mesecon:receptor_on(pos) | ||||
| 	end, | ||||
| 	after_dig_node = function(pos) | ||||
| 		mesecon:receptor_off(pos) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| minetest.register_craft({ | ||||
| @@ -21,18 +27,4 @@ minetest.register_craft({ | ||||
| 	} | ||||
| }) | ||||
|  | ||||
| minetest.register_on_placenode(function(pos, newnode, placer) | ||||
| 	if newnode.name == "mesecons_powerplant:power_plant" then | ||||
| 		mesecon:receptor_on(pos) | ||||
| 	end | ||||
| end) | ||||
|  | ||||
| minetest.register_on_dignode( | ||||
| 	function(pos, oldnode, digger) | ||||
| 		if oldnode.name == "mesecons_powerplant:power_plant" then | ||||
| 			mesecon:receptor_off(pos) | ||||
| 		end	 | ||||
| 	end | ||||
| ) | ||||
|  | ||||
| mesecon:add_receptor_node("mesecons_powerplant:power_plant") | ||||
|   | ||||
| @@ -26,6 +26,9 @@ minetest.register_node("mesecons_pressureplates:pressure_plate_wood_on", { | ||||
| 	}, | ||||
| 	groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3}, | ||||
| 	drop='"mesecons_pressureplates:pressure_plate_wood_off" 1', | ||||
| 	after_dig_node = function(pos) | ||||
| 		mesecon:receptor_off(pos, mesecon:get_rules("pressureplate")) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| minetest.register_craft({ | ||||
| @@ -64,14 +67,6 @@ minetest.register_abm( | ||||
| 	end, | ||||
| }) | ||||
|  | ||||
| minetest.register_on_dignode( | ||||
| 	function(pos, oldnode, digger) | ||||
| 		if oldnode.name == "mesecons_pressureplates:pressure_plate_wood_on" then | ||||
| 			mesecon:receptor_off(pos, mesecon:get_rules("pressureplate")) | ||||
| 		end	 | ||||
| 	end | ||||
| ) | ||||
|  | ||||
| mesecon:add_receptor_node("mesecons_pressureplates:pressure_plate_wood_on") | ||||
| mesecon:add_receptor_node_off("mesecons_pressureplates:pressure_plate_wood_off") | ||||
|  | ||||
| @@ -103,6 +98,9 @@ minetest.register_node("mesecons_pressureplates:pressure_plate_stone_on", { | ||||
| 	}, | ||||
| 	groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3}, | ||||
| 	drop='"mesecons_pressureplates:pressure_plate_stone_off" 1', | ||||
| 	after_dig_node = function(pos) | ||||
| 		mesecon:receptor_off(pos, mesecon:get_rules("pressureplate")) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| minetest.register_craft({ | ||||
| @@ -141,14 +139,6 @@ minetest.register_abm( | ||||
| 	end, | ||||
| }) | ||||
|  | ||||
| minetest.register_on_dignode( | ||||
| 	function(pos, oldnode, digger) | ||||
| 		if oldnode.name == "mesecons_pressureplates:pressure_plate_stone_on" then | ||||
| 			mesecon:receptor_off(pos, mesecon:get_rules("pressureplate")) | ||||
| 		end	 | ||||
| 	end | ||||
| ) | ||||
|  | ||||
| mesecon:add_receptor_node("mesecons_pressureplates:pressure_plate_stone_on") | ||||
| mesecon:add_receptor_node_off("mesecons_pressureplates:pressure_plate_stone_off") | ||||
|  | ||||
|   | ||||
| @@ -13,6 +13,9 @@ minetest.register_node("mesecons_switch:mesecon_switch_on", { | ||||
| 	groups = {dig_immediate=2}, | ||||
| 	drop='"mesecons_switch:mesecon_switch_off" 1', | ||||
|     	description="Switch", | ||||
| 	after_dig_node = function(pos) | ||||
| 		mesecon:receptor_off(pos) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| mesecon:add_receptor_node("mesecons_switch:mesecon_switch_on") | ||||
| @@ -31,14 +34,6 @@ minetest.register_on_punchnode(function(pos, node, puncher) | ||||
| 	end | ||||
| end) | ||||
|  | ||||
| minetest.register_on_dignode( | ||||
| 	function(pos, oldnode, digger) | ||||
| 		if oldnode.name == "mesecons_switch:mesecon_switch_on" then | ||||
| 			mesecon:receptor_off(pos) | ||||
| 		end | ||||
| 	end | ||||
| ) | ||||
|  | ||||
| minetest.register_craft({ | ||||
| 	output = '"mesecons_switch:mesecon_switch_off" 2', | ||||
| 	recipe = { | ||||
|   | ||||
| @@ -1,20 +1,5 @@ | ||||
| --TEMPEREST-PLUG | ||||
|  | ||||
| minetest.register_node("mesecons_temperest:mesecon_plug", { | ||||
| 	drawtype = "raillike", | ||||
| 	paramtype = "light", | ||||
| 	is_ground_content = true, | ||||
| 	tile_images = {"jeija_mesecon_plug.png"}, | ||||
| 	inventory_image = "jeija_mesecon_plug.png", | ||||
| 	wield_image = "jeija_mesecon_plug.png", | ||||
| 	groups = {dig_immediate=2}, | ||||
| 	walkable = false, | ||||
| 	selection_box = { | ||||
| 		type = "fixed", | ||||
| 	}, | ||||
| 	description = "Plug", | ||||
| }) | ||||
|  | ||||
| local set_node_on | ||||
| local set_node_off | ||||
|  | ||||
| @@ -64,7 +49,8 @@ else | ||||
| 	end | ||||
| end | ||||
|  | ||||
| local plug_on = function(pos, node) | ||||
| local plug_on = function(pos) | ||||
| 	local node = minetest.env:get_node(pos) | ||||
| 	if node.name=="mesecons_temperest:mesecon_plug" then | ||||
| 		local lnode = minetest.env:get_node({x=pos.x-1, y=pos.y, z=pos.z}) --a node between this node and the one two nodes away | ||||
| 		if lnode.name=="air" then set_node_on({x=pos.x-2, y=pos.y, z=pos.z}) end | ||||
| @@ -86,7 +72,8 @@ local plug_on = function(pos, node) | ||||
| 	end | ||||
| end | ||||
|  | ||||
| local plug_off = function(pos, node) | ||||
| local plug_off = function(pos) | ||||
| 	local node = minetest.env:get_node(pos) | ||||
| 	if node.name=="mesecons_temperest:mesecon_plug" then | ||||
| 		lnode = minetest.env:get_node({x=pos.x-1, y=pos.y, z=pos.z}) --a node between this node and the one two nodes away | ||||
| 		if lnode.name=="air" then set_node_off({x=pos.x-2, y=pos.y, z=pos.z}) end | ||||
| @@ -111,15 +98,29 @@ end | ||||
| mesecon:register_on_signal_on(plug_on) | ||||
| mesecon:register_on_signal_off(plug_off) | ||||
|  | ||||
| minetest.register_on_placenode(plug_off) | ||||
| minetest.register_on_dignode(plug_off) | ||||
| minetest.register_node("mesecons_temperest:mesecon_plug", { | ||||
| 	drawtype = "raillike", | ||||
| 	paramtype = "light", | ||||
| 	is_ground_content = true, | ||||
| 	tile_images = {"jeija_mesecon_plug.png"}, | ||||
| 	inventory_image = "jeija_mesecon_plug.png", | ||||
| 	wield_image = "jeija_mesecon_plug.png", | ||||
| 	groups = {dig_immediate=2}, | ||||
| 	walkable = false, | ||||
| 	selection_box = { | ||||
| 		type = "fixed", | ||||
| 	}, | ||||
| 	description = "Plug", | ||||
| 	after_place_node = plug_off, | ||||
| 	after_dig_node = plug_off | ||||
| }) | ||||
|  | ||||
| minetest.register_craft({ | ||||
| 	output = 'node "mesecons_temperest:mesecon_plug" 2', | ||||
| 	output = '"mesecons_temperest:mesecon_plug" 2', | ||||
| 	recipe = { | ||||
| 		{'', 'node "mesecons:mesecon_off"', ''}, | ||||
| 		{'node "mesecons:mesecon_off"', 'craft "default:steel_ingot"', 'node "mesecons:mesecon_off"'}, | ||||
| 		{'', 'node "mesecons:mesecon_off"', ''}, | ||||
| 		{'', '"mesecons:mesecon_off"', ''}, | ||||
| 		{'"mesecons:mesecon_off"', '"default:steel_ingot"', '"mesecons:mesecon_off"'}, | ||||
| 		{'', '"mesecons:mesecon_off"', ''}, | ||||
| 	} | ||||
| }) | ||||
|  | ||||
| @@ -151,25 +152,20 @@ minetest.register_node("mesecons_temperest:mesecon_socket_on", { | ||||
| 		type = "fixed", | ||||
| 	}, | ||||
| 	drop='"mesecons_temperest:mesecon_socket_off" 1', | ||||
| }) | ||||
|  | ||||
| minetest.register_on_dignode( | ||||
| 	function(pos, oldnode, digger) | ||||
| 		if oldnode.name == "mesecons_temperest:mesecon_socket_on" then | ||||
| 			mesecon:receptor_off(pos) | ||||
| 		end | ||||
| 	after_dig_node = function(pos) | ||||
| 		mesecon:receptor_off(pos) | ||||
| 	end | ||||
| ) | ||||
| }) | ||||
|  | ||||
| mesecon:add_receptor_node("mesecons_temperest:mesecon_socket_on") | ||||
| mesecon:add_receptor_node_off("mesecons_temperest:mesecon_socket_off") | ||||
|  | ||||
| minetest.register_craft({ | ||||
| 	output = 'node "mesecons_temperest:mesecon_socket_off" 2', | ||||
| 	output = '"mesecons_temperest:mesecon_socket_off" 2', | ||||
| 	recipe = { | ||||
| 		{'', 'craft "default:steel_ingot"', ''}, | ||||
| 		{'craft "default:steel_ingot"', 'node "mesecons_temperest:mesecon_off"', 'craft "default:steel_ingot"'}, | ||||
| 		{'', 'craft "default:steel_ingot"', ''}, | ||||
| 		{'', '"default:steel_ingot"', ''}, | ||||
| 		{'"default:steel_ingot"', '"mesecons_temperest:mesecon_off"', '"default:steel_ingot"'}, | ||||
| 		{'', '"default:steel_ingot"', ''}, | ||||
| 	} | ||||
| }) | ||||
|  | ||||
| @@ -201,32 +197,23 @@ if ENABLE_TEMPEREST==1 then | ||||
| 		selection_box = { | ||||
| 			type = "fixed", | ||||
| 		}, | ||||
| 	}) | ||||
|  | ||||
| 	minetest.register_on_placenode(function(pos, node) | ||||
| 		if node.name=="mesecons_temperest:mesecon_inverter_on" then | ||||
| 		after_place_node = function(pos) | ||||
| 			mesecon:receptor_on(pos) | ||||
| 		end, | ||||
| 		after_dig_node = function(pos) | ||||
| 			mesecon:receptor_off(pos) | ||||
| 		end | ||||
| 	end | ||||
| 	) | ||||
|  | ||||
| 	minetest.register_on_dignode( | ||||
| 		function(pos, oldnode, digger) | ||||
| 			if oldnode.name == "mesecons_temperest:mesecon_inverter_on" then | ||||
| 				mesecon:receptor_off(pos) | ||||
| 			end | ||||
| 		end | ||||
| 	) | ||||
| 	}) | ||||
|  | ||||
| 	mesecon:add_receptor_node("mesecons_temperest:mesecon_inverter_on") | ||||
| 	mesecon:add_receptor_node_off("mesecons_temperest:mesecon_inverter_off") | ||||
|  | ||||
| 	minetest.register_craft({ | ||||
| 		output = 'node "mesecons_temperest:mesecon_inverter_on" 2', | ||||
| 		output = '"mesecons_temperest:mesecon_inverter_on" 2', | ||||
| 		recipe = { | ||||
| 			{'node "mesecons_temperest:mesecon_off"', 'craft "default:steel_ingot"', 'node "mesecons:mesecon_off"'}, | ||||
| 			{'craft "default:steel_ingot"', '', 'craft "default:steel_ingot"'}, | ||||
| 			{'node "mesecons:mesecon_off"', 'craft "default:steel_ingot"', 'node "mesecons:mesecon_off"'}, | ||||
| 			{'"mesecons_temperest:mesecon_off"', '"default:steel_ingot"', '"mesecons:mesecon_off"'}, | ||||
| 			{'"default:steel_ingot"', '', '"default:steel_ingot"'}, | ||||
| 			{'"mesecons:mesecon_off"', '"default:steel_ingot"', '"mesecons:mesecon_off"'}, | ||||
| 		} | ||||
| 	}) | ||||
| end | ||||
|   | ||||
| @@ -22,27 +22,26 @@ minetest.register_node("mesecons_torch:mesecon_torch_off", { | ||||
| }) | ||||
|  | ||||
| minetest.register_node("mesecons_torch:mesecon_torch_on", { | ||||
|     drawtype = "torchlike", | ||||
|     tile_images = {"jeija_torches_on.png", "jeija_torches_on_ceiling.png", "jeija_torches_on_side.png"}, | ||||
|     inventory_image = "jeija_torches_on.png", | ||||
|     wield_image = "jeija_torches_on.png", | ||||
|     paramtype = "light", | ||||
|     sunlight_propagates = true, | ||||
|     walkable = false, | ||||
|     paramtype2 = "wallmounted", | ||||
|     legacy_wallmounted = true, | ||||
|     groups = {dig_immediate=2}, | ||||
|     light_source = LIGHT_MAX-5, | ||||
|     description="Mesecon Torch", | ||||
| }) | ||||
|  | ||||
| --[[minetest.register_on_placenode(function(pos, newnode, placer) | ||||
| 	if (newnode.name=="mesecons_torch:mesecon_torch_off" or newnode.name=="mesecons_torch:mesecon_torch_on") | ||||
| 	and (newnode.param2==8 or newnode.param2==4) then | ||||
| 		minetest.env:remove_node(pos) | ||||
| 		--minetest.env:add_item(pos, "'mesecons_torch:mesecon_torch_on' 1") | ||||
| 	drawtype = "torchlike", | ||||
| 	tile_images = {"jeija_torches_on.png", "jeija_torches_on_ceiling.png", "jeija_torches_on_side.png"}, | ||||
| 	inventory_image = "jeija_torches_on.png", | ||||
| 	wield_image = "jeija_torches_on.png", | ||||
| 	paramtype = "light", | ||||
| 	sunlight_propagates = true, | ||||
| 	walkable = false, | ||||
| 	paramtype2 = "wallmounted", | ||||
| 	legacy_wallmounted = true, | ||||
| 	groups = {dig_immediate=2}, | ||||
| 	light_source = LIGHT_MAX-5, | ||||
| 	description="Mesecon Torch", | ||||
| 	after_place_node = function(pos) | ||||
| 		local rules = mesecon.torch_get_rules(minetest.env:get_node(pos).param2) | ||||
| 		mesecon:receptor_on(pos, rules) | ||||
| 	end, | ||||
| 	after_dig_node = function(pos) | ||||
| 		mesecon:receptor_off(pos) | ||||
| 	end | ||||
| end)]] | ||||
| }) | ||||
|  | ||||
| minetest.register_abm({ | ||||
|     nodenames = {"mesecons_torch:mesecon_torch_off","mesecons_torch:mesecon_torch_on"}, | ||||
| @@ -81,21 +80,6 @@ minetest.register_abm({ | ||||
|     end | ||||
| }) | ||||
|  | ||||
| minetest.register_on_dignode( | ||||
| 	function(pos, oldnode, digger) | ||||
| 		if oldnode.name == "mesecons_torch:mesecon_torch_on" then | ||||
| 			mesecon:receptor_off(pos) | ||||
| 		end	 | ||||
| 	end | ||||
| ) | ||||
|  | ||||
| minetest.register_on_placenode(function(pos, node, placer) | ||||
| 	if node.name == "mesecons_torch:mesecon_torch_on" then | ||||
| 		local rules=mesecon.torch_get_rules(minetest.env:get_node(pos).param2) | ||||
| 		mesecon:receptor_on(pos, rules) | ||||
| 	end | ||||
| end) | ||||
|  | ||||
| mesecon.torch_get_rules = function(param2) | ||||
| 	local rules=mesecon:get_rules("mesecontorch") | ||||
| 	if param2 == 5 then | ||||
|   | ||||
| @@ -1,42 +1,38 @@ | ||||
| -- WALL LEVER | ||||
| minetest.register_node("mesecons_walllever:wall_lever_off", { | ||||
|     drawtype = "signlike", | ||||
|     tile_images = {"jeija_wall_lever_off.png"}, | ||||
|     inventory_image = "jeija_wall_lever_off.png", | ||||
|     wield_image = "jeija_wall_lever_off.png", | ||||
|     paramtype = "light", | ||||
|     paramtype2 = "wallmounted", | ||||
|     legacy_wallmounted = true, | ||||
|     walkable = false, | ||||
|     selection_box = { | ||||
|         type = "wallmounted", | ||||
|     }, | ||||
|     groups = {dig_immediate=2}, | ||||
|     description="Lever", | ||||
| 	drawtype = "signlike", | ||||
| 	tile_images = {"jeija_wall_lever_off.png"}, | ||||
| 	inventory_image = "jeija_wall_lever_off.png", | ||||
| 	wield_image = "jeija_wall_lever_off.png", | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "wallmounted", | ||||
| 	legacy_wallmounted = true, | ||||
| 	walkable = false, | ||||
| 	selection_box = { | ||||
| 		type = "wallmounted", | ||||
| 	}, | ||||
| 	groups = {dig_immediate=2}, | ||||
| 	description="Lever", | ||||
| }) | ||||
| minetest.register_node("mesecons_walllever:wall_lever_on", { | ||||
|     drawtype = "signlike", | ||||
|     tile_images = {"jeija_wall_lever_on.png"}, | ||||
|     inventory_image = "jeija_wall_lever_on.png", | ||||
|     paramtype = "light", | ||||
|     paramtype2 = "wallmounted", | ||||
|     legacy_wallmounted = true, | ||||
|     walkable = false, | ||||
|     selection_box = { | ||||
|         type = "wallmounted", | ||||
|     }, | ||||
|     groups = {dig_immediate=2}, | ||||
|     drop = '"mesecons_walllever:wall_lever_off" 1', | ||||
|     description="Lever", | ||||
| 	drawtype = "signlike", | ||||
| 	tile_images = {"jeija_wall_lever_on.png"}, | ||||
| 	inventory_image = "jeija_wall_lever_on.png", | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "wallmounted", | ||||
| 	legacy_wallmounted = true, | ||||
| 	walkable = false, | ||||
| 	selection_box = { | ||||
| 		type = "wallmounted", | ||||
| 	}, | ||||
| 	groups = {dig_immediate=2}, | ||||
| 	drop = '"mesecons_walllever:wall_lever_off" 1', | ||||
| 	description="Lever", | ||||
| 	after_dig_node = function(pos) | ||||
| 		mesecon:receptor_off(pos, mesecon.button_get_rules(minetest.env:get_node(pos).param2)) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| minetest.register_on_dignode( | ||||
|     function(pos, oldnode, digger) | ||||
|         if oldnode.name == "mesecons_walllever:wall_lever_on" then | ||||
|             mesecon:receptor_off(pos, mesecon.button_get_rules(oldnode.param2)) | ||||
|         end     | ||||
|     end | ||||
| ) | ||||
| minetest.register_on_punchnode(function(pos, node, puncher) | ||||
| 	if node.name == "mesecons_walllever:wall_lever_off" then | ||||
| 		minetest.env:add_node(pos, {name="mesecons_walllever:wall_lever_on",param2=node.param2}) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user