Fix crash on sign created by mech.

I tested wall signs, not plain style signs. Tested with exit
lobby signs to make sure those still work.
This commit is contained in:
Auke Kok 2019-01-24 20:30:54 -08:00
parent a5962a296a
commit 05d24a6c24

View File

@ -245,8 +245,10 @@ minetest.register_node("signs:sign", {
end, end,
after_box_construct = function(pos, box_id, player, moredata) after_box_construct = function(pos, box_id, player, moredata)
clean_sign_entities(pos) clean_sign_entities(pos)
local name = player:get_player_name()
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
if player then
-- this is reached in exit lobbies, elswhere player = nil (mech creation of sign)
local name = player:get_player_name()
if boxes.players_in_boxes[name] then if boxes.players_in_boxes[name] then
local box = boxes.players_in_boxes[name].box_id local box = boxes.players_in_boxes[name].box_id
local bmeta = db.box_get_meta(box).meta local bmeta = db.box_get_meta(box).meta
@ -270,6 +272,7 @@ minetest.register_node("signs:sign", {
meta:set_string("dtext", ntext) meta:set_string("dtext", ntext)
meta:mark_as_private("dtext") meta:mark_as_private("dtext")
end end
end
if meta:get_string("text") ~= "" then if meta:get_string("text") ~= "" then
minetest.add_entity(pos, "signs:sign") minetest.add_entity(pos, "signs:sign")
end end