diff options
-rw-r--r-- | mesecons/init.lua | 4 | ||||
-rw-r--r-- | mesecons_blinkyplant/init.lua | 13 | ||||
-rw-r--r-- | mesecons_button/init.lua | 38 | ||||
-rw-r--r-- | mesecons_detector/init.lua | 19 | ||||
-rw-r--r-- | mesecons_dev/mesecons_wireless/init.lua | 101 | ||||
-rw-r--r-- | mesecons_noteblock/init.lua | 9 | ||||
-rw-r--r-- | mesecons_pistons/init.lua | 28 | ||||
-rw-r--r-- | mesecons_powerplant/init.lua | 20 | ||||
-rw-r--r-- | mesecons_pressureplates/init.lua | 22 | ||||
-rw-r--r-- | mesecons_switch/init.lua | 11 | ||||
-rw-r--r-- | mesecons_temperest/init.lua | 93 | ||||
-rw-r--r-- | mesecons_torch/init.lua | 54 | ||||
-rw-r--r-- | mesecons_walllever/init.lua | 62 |
13 files changed, 198 insertions, 276 deletions
diff --git a/mesecons/init.lua b/mesecons/init.lua index 8439bea..7450319 100644 --- a/mesecons/init.lua +++ b/mesecons/init.lua @@ -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 -- diff --git a/mesecons_blinkyplant/init.lua b/mesecons_blinkyplant/init.lua index 4797f6a..3e6adc2 100644 --- a/mesecons_blinkyplant/init.lua +++ b/mesecons_blinkyplant/init.lua @@ -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 -) diff --git a/mesecons_button/init.lua b/mesecons_button/init.lua index e0191f7..69f9777 100644 --- a/mesecons_button/init.lua +++ b/mesecons_button/init.lua @@ -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 diff --git a/mesecons_detector/init.lua b/mesecons_detector/init.lua index 75e9b77..4fe90a2 100644 --- a/mesecons_detector/init.lua +++ b/mesecons_detector/init.lua @@ -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"}, @@ -42,7 +45,7 @@ minetest.register_abm( minetest.env:add_node(pos, {name="mesecons_detector:object_detector_on"}) mesecon:receptor_on(pos, mesecon:get_rules("pressureplate")) end - end + end end, }) @@ -65,7 +68,7 @@ minetest.register_abm( objectfound=objectfound + 1 end end - end + end if objectfound==0 then minetest.env:add_node(pos, {name="mesecons_detector:object_detector_off"}) mesecon:receptor_off(pos, mesecon:get_rules("pressureplate")) @@ -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") diff --git a/mesecons_dev/mesecons_wireless/init.lua b/mesecons_dev/mesecons_wireless/init.lua index 0d956e8..0a752e5 100644 --- a/mesecons_dev/mesecons_wireless/init.lua +++ b/mesecons_dev/mesecons_wireless/init.lua @@ -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,17 +107,17 @@ 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 end ) 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({ diff --git a/mesecons_noteblock/init.lua b/mesecons_noteblock/init.lua index 0b8cbee..7b363cb 100644 --- a/mesecons_noteblock/init.lua +++ b/mesecons_noteblock/init.lua @@ -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 diff --git a/mesecons_pistons/init.lua b/mesecons_pistons/init.lua index 0bb391f..87c3fc1 100644 --- a/mesecons_pistons/init.lua +++ b/mesecons_pistons/init.lua @@ -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) diff --git a/mesecons_powerplant/init.lua b/mesecons_powerplant/init.lua index 346c076..b7e4cde 100644 --- a/mesecons_powerplant/init.lua +++ b/mesecons_powerplant/init.lua @@ -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") diff --git a/mesecons_pressureplates/init.lua b/mesecons_pressureplates/init.lua index 56a55c2..37b3ca8 100644 --- a/mesecons_pressureplates/init.lua +++ b/mesecons_pressureplates/init.lua @@ -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") diff --git a/mesecons_switch/init.lua b/mesecons_switch/init.lua index d95178b..b61dd8c 100644 --- a/mesecons_switch/init.lua +++ b/mesecons_switch/init.lua @@ -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 = { diff --git a/mesecons_temperest/init.lua b/mesecons_temperest/init.lua index 3c31013..2bda111 100644 --- a/mesecons_temperest/init.lua +++ b/mesecons_temperest/init.lua @@ -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 diff --git a/mesecons_torch/init.lua b/mesecons_torch/init.lua index 169eb64..f37ca31 100644 --- a/mesecons_torch/init.lua +++ b/mesecons_torch/init.lua @@ -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 diff --git a/mesecons_walllever/init.lua b/mesecons_walllever/init.lua index 4e3401e..6f1c310 100644 --- a/mesecons_walllever/init.lua +++ b/mesecons_walllever/init.lua @@ -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}) |