Keys: Fix crash when using unconfigured default:key
Since meta secret field is blank on any keys (default:key) obtained using /give, the game will crash if you attempt to use one of these. This follows along the principle that the game should never have any reason to crash.
This commit is contained in:
@ -562,7 +562,12 @@ function default.can_interact_with_node(player, pos)
|
||||
local key_meta = item:get_meta()
|
||||
|
||||
if key_meta:get_string("secret") == "" then
|
||||
key_meta:set_string("secret", minetest.parse_json(item:get_metadata()).secret)
|
||||
local key_oldmeta = item:get_metadata()
|
||||
if key_oldmeta == "" or not minetest.parse_json(key_oldmeta) then
|
||||
return false
|
||||
end
|
||||
|
||||
key_meta:set_string("secret", minetest.parse_json(key_oldmeta).secret)
|
||||
item:set_metadata("")
|
||||
end
|
||||
|
||||
|
Reference in New Issue
Block a user