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:
parent
68212967c0
commit
07e11427cf
@ -562,7 +562,12 @@ function default.can_interact_with_node(player, pos)
|
|||||||
local key_meta = item:get_meta()
|
local key_meta = item:get_meta()
|
||||||
|
|
||||||
if key_meta:get_string("secret") == "" then
|
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("")
|
item:set_metadata("")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user