keys: Fix error when spanking unknown nodes

This commit is contained in:
SmallJoker 2020-08-16 10:30:46 +02:00
parent 738b53249b
commit 294995427c

View file

@ -160,8 +160,8 @@ minetest.register_craftitem("default:skeleton_key", {
return itemstack return itemstack
end end
local on_skeleton_key_use = minetest.registered_nodes[node.name].on_skeleton_key_use local def = minetest.registered_nodes[node.name]
if not on_skeleton_key_use then if not def or not def.on_skeleton_key_use then
return itemstack return itemstack
end end
@ -172,7 +172,7 @@ minetest.register_craftitem("default:skeleton_key", {
random(2^16) - 1, random(2^16) - 1, random(2^16) - 1, random(2^16) - 1,
random(2^16) - 1, random(2^16) - 1) random(2^16) - 1, random(2^16) - 1)
local secret, _, _ = on_skeleton_key_use(pos, user, newsecret) local secret, _, _ = def.on_skeleton_key_use(pos, user, newsecret)
if secret then if secret then
local inv = minetest.get_inventory({type="player", name=user:get_player_name()}) local inv = minetest.get_inventory({type="player", name=user:get_player_name()})
@ -185,7 +185,7 @@ minetest.register_craftitem("default:skeleton_key", {
local meta = new_stack:get_meta() local meta = new_stack:get_meta()
meta:set_string("secret", secret) meta:set_string("secret", secret)
meta:set_string("description", S("Key to @1's @2", user:get_player_name(), meta:set_string("description", S("Key to @1's @2", user:get_player_name(),
minetest.registered_nodes[node.name].description)) def.description))
if itemstack:get_count() == 0 then if itemstack:get_count() == 0 then
itemstack = new_stack itemstack = new_stack