Remove deprecated API functions "register_on_placenode" and "register_on_dignode" where possible.

This commit is contained in:
Anthony Zhang 2012-06-04 22:20:04 -04:00
parent 95a84dde46
commit 4200757ba3
13 changed files with 198 additions and 276 deletions

View File

@ -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
--

View File

@ -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
)

View File

@ -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

View File

@ -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")

View File

@ -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({

View File

@ -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

View File

@ -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)

View File

@ -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")

View File

@ -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")

View File

@ -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 = {

View File

@ -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

View File

@ -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

View File

@ -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})