don't crash when a node is not found
parent
b2c2993137
commit
761fa087cf
161
lamps.lua
161
lamps.lua
|
@ -460,103 +460,106 @@ minetest.register_craft({
|
|||
function meseconductors:register_lamp(mod, node)
|
||||
|
||||
if minetest.get_modpath(mod) then
|
||||
local node2 = node
|
||||
|
||||
local node2 = node
|
||||
if minetest.registered_nodes[mod ..":"..node] == nil then
|
||||
print("[Meseconductors] - Warning: The mod " .. mod .." has no node ".. node .. " (anymore?)")
|
||||
return false
|
||||
end
|
||||
|
||||
local offstate = "meseconductors:"..mod.."_"..node .. "_off"
|
||||
local onstate = "meseconductors:"..mod.."_"..node
|
||||
local description = minetest.registered_nodes[mod ..":"..node].description .. " (mesecons)"
|
||||
local description_on = minetest.registered_nodes[mod ..":"..node].description .. " (mesecons on)"
|
||||
local textures = minetest.registered_nodes[mod ..":"..node].tiles
|
||||
local groups = table.copy(minetest.registered_nodes[mod ..":"..node].groups)
|
||||
if node == "lava_source" then
|
||||
groups = {snappy=3}
|
||||
description = "Fake Lava Source"
|
||||
description_on = "Fake Lava Source"
|
||||
end
|
||||
|
||||
local offstate = "meseconductors:"..mod.."_"..node .. "_off"
|
||||
local onstate = "meseconductors:"..mod.."_"..node
|
||||
local description = minetest.registered_nodes[mod ..":"..node].description .. " (mesecons)"
|
||||
local description_on = minetest.registered_nodes[mod ..":"..node].description .. " (mesecons on)"
|
||||
local textures = minetest.registered_nodes[mod ..":"..node].tiles
|
||||
local groups = table.copy(minetest.registered_nodes[mod ..":"..node].groups)
|
||||
if node == "lava_source" then
|
||||
groups = {snappy=3}
|
||||
description = "Fake Lava Source"
|
||||
description_on = "Fake Lava Source"
|
||||
end
|
||||
|
||||
local drawtype = minetest.registered_nodes[mod ..":"..node].drawtype
|
||||
local paramtype = minetest.registered_nodes[mod ..":"..node].paramtype
|
||||
local paramtype2 = minetest.registered_nodes[mod ..":"..node].paramtype2
|
||||
local sounds = minetest.registered_nodes[mod ..":"..node].sounds
|
||||
local sunlight_propagates = minetest.registered_nodes[mod ..":"..node].sunlight_propagates
|
||||
local light_source = minetest.registered_nodes[mod ..":"..node].light_source
|
||||
local selection_box = minetest.registered_nodes[mod ..":"..node].selection_box
|
||||
local collision_box = minetest.registered_nodes[mod ..":"..node].collision_box
|
||||
local node_box = minetest.registered_nodes[mod ..":"..node].node_box
|
||||
local on_place = minetest.registered_nodes[mod ..":"..node].on_place
|
||||
local mesh = minetest.registered_nodes[mod ..":"..node].mesh
|
||||
local wield_image = minetest.registered_nodes[mod ..":"..node].wield_image
|
||||
local inventory_image = minetest.registered_nodes[mod ..":"..node].inventory_image
|
||||
local walkable = minetest.registered_nodes[mod ..":"..node].walkable
|
||||
local drawtype = minetest.registered_nodes[mod ..":"..node].drawtype
|
||||
local paramtype = minetest.registered_nodes[mod ..":"..node].paramtype
|
||||
local paramtype2 = minetest.registered_nodes[mod ..":"..node].paramtype2
|
||||
local sounds = minetest.registered_nodes[mod ..":"..node].sounds
|
||||
local sunlight_propagates = minetest.registered_nodes[mod ..":"..node].sunlight_propagates
|
||||
local light_source = minetest.registered_nodes[mod ..":"..node].light_source
|
||||
local selection_box = minetest.registered_nodes[mod ..":"..node].selection_box
|
||||
local collision_box = minetest.registered_nodes[mod ..":"..node].collision_box
|
||||
local node_box = minetest.registered_nodes[mod ..":"..node].node_box
|
||||
local on_place = minetest.registered_nodes[mod ..":"..node].on_place
|
||||
local mesh = minetest.registered_nodes[mod ..":"..node].mesh
|
||||
local wield_image = minetest.registered_nodes[mod ..":"..node].wield_image
|
||||
local inventory_image = minetest.registered_nodes[mod ..":"..node].inventory_image
|
||||
local walkable = minetest.registered_nodes[mod ..":"..node].walkable
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
minetest.register_node(offstate, {
|
||||
tiles = textures,
|
||||
description = description,
|
||||
drawtype = drawtype,
|
||||
paramtype = paramtype,
|
||||
paramtype2 = paramtype2,
|
||||
--paramtype2 = "wallmounted",
|
||||
groups = groups,
|
||||
sounds = sounds,
|
||||
sunlight_propagates = sunlight_propagates,
|
||||
selection_box = selection_box,
|
||||
collision_box = collision_box,
|
||||
node_box = node_box,
|
||||
on_place = on_place,
|
||||
mesh = mesh,
|
||||
wield_image = wield_image,
|
||||
inventory_image = inventory_image,
|
||||
walkable = walkable,
|
||||
minetest.register_node(offstate, {
|
||||
tiles = textures,
|
||||
description = description,
|
||||
drawtype = drawtype,
|
||||
paramtype = paramtype,
|
||||
paramtype2 = paramtype2,
|
||||
--paramtype2 = "wallmounted",
|
||||
groups = groups,
|
||||
sounds = sounds,
|
||||
sunlight_propagates = sunlight_propagates,
|
||||
selection_box = selection_box,
|
||||
collision_box = collision_box,
|
||||
node_box = node_box,
|
||||
on_place = on_place,
|
||||
mesh = mesh,
|
||||
wield_image = wield_image,
|
||||
inventory_image = inventory_image,
|
||||
walkable = walkable,
|
||||
|
||||
mesecons = {effector = {
|
||||
rules = rules_all,
|
||||
mesecons = {effector = {
|
||||
rules = rules_all,
|
||||
|
||||
action_on = function (pos, node)
|
||||
action_on = function (pos, node)
|
||||
minetest.swap_node(pos, {name = "meseconductors:"..mod.."_"..node2, param2 = node.param2})
|
||||
end,
|
||||
}}
|
||||
end,
|
||||
}}
|
||||
|
||||
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
local groups_on = table.copy(groups)
|
||||
groups_on["not_in_creative_inventory"] = 1
|
||||
local groups_on = table.copy(groups)
|
||||
groups_on["not_in_creative_inventory"] = 1
|
||||
|
||||
|
||||
minetest.register_node(onstate, {
|
||||
tiles = textures,
|
||||
drop = offstate,
|
||||
description = description_on,
|
||||
drawtype = drawtype,
|
||||
groups = groups_on,
|
||||
paramtype = paramtype,
|
||||
paramtype2 = paramtype2,
|
||||
sounds = sounds,
|
||||
selection_box = selection_box,
|
||||
collision_box = collision_box,
|
||||
node_box = node_box,
|
||||
on_place = on_place,
|
||||
mesh = mesh,
|
||||
wield_image = wield_image,
|
||||
inventory_image = inventory_image,
|
||||
sunlight_propagates = sunlight_propagates,
|
||||
light_source = light_source,
|
||||
walkable = walkable,
|
||||
mesecons = {effector = {
|
||||
rules = rules_all,
|
||||
action_off = function (pos, node)
|
||||
minetest.register_node(onstate, {
|
||||
tiles = textures,
|
||||
drop = offstate,
|
||||
description = description_on,
|
||||
drawtype = drawtype,
|
||||
groups = groups_on,
|
||||
paramtype = paramtype,
|
||||
paramtype2 = paramtype2,
|
||||
sounds = sounds,
|
||||
selection_box = selection_box,
|
||||
collision_box = collision_box,
|
||||
node_box = node_box,
|
||||
on_place = on_place,
|
||||
mesh = mesh,
|
||||
wield_image = wield_image,
|
||||
inventory_image = inventory_image,
|
||||
sunlight_propagates = sunlight_propagates,
|
||||
light_source = light_source,
|
||||
walkable = walkable,
|
||||
mesecons = {effector = {
|
||||
rules = rules_all,
|
||||
action_off = function (pos, node)
|
||||
minetest.swap_node(pos, {name = "meseconductors:"..mod.."_"..node2.."_off", param2 = node.param2})
|
||||
end,
|
||||
}}
|
||||
|
||||
--groups = {cracky=2,not_in_creative_inventory=1, mesecon = 2},
|
||||
})
|
||||
end
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
|
|
@ -4,6 +4,11 @@ function meseconductors:register_wire_block(mod, node)
|
|||
|
||||
if minetest.get_modpath(mod) then
|
||||
|
||||
if minetest.registered_nodes[mod ..":"..node] == nil then
|
||||
print("[Meseconductors] - Warning: The mod " .. mod .." has no node ".. node .. " (anymore?)")
|
||||
return false
|
||||
end
|
||||
|
||||
local offstate = "meseconductors:"..mod.."_"..node
|
||||
local onstate = "meseconductors:"..mod.."_"..node.."_on"
|
||||
local description = minetest.registered_nodes[mod ..":"..node].description .. " (conductable)"
|
||||
|
|
Loading…
Reference in New Issue