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:
parent
a5962a296a
commit
05d24a6c24
@ -245,30 +245,33 @@ minetest.register_node("signs:sign", {
|
||||
end,
|
||||
after_box_construct = function(pos, box_id, player, moredata)
|
||||
clean_sign_entities(pos)
|
||||
local name = player:get_player_name()
|
||||
local meta = minetest.get_meta(pos)
|
||||
if boxes.players_in_boxes[name] then
|
||||
local box = boxes.players_in_boxes[name].box_id
|
||||
local bmeta = db.box_get_meta(box).meta
|
||||
local text = meta:get_string("text")
|
||||
local ntext = string.gsub(text, "%$%((.-)%)", function(s)
|
||||
if s == "box_name" then
|
||||
return bmeta.box_name
|
||||
elseif s == "builder" then
|
||||
return bmeta.builder
|
||||
elseif s == "build_time" then
|
||||
return format_time(bmeta.build_time)
|
||||
elseif moredata and moredata[s] then
|
||||
if moredata[s].format == "time" then
|
||||
return format_time(moredata[s].data)
|
||||
else
|
||||
return moredata[s].data
|
||||
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
|
||||
local box = boxes.players_in_boxes[name].box_id
|
||||
local bmeta = db.box_get_meta(box).meta
|
||||
local text = meta:get_string("text")
|
||||
local ntext = string.gsub(text, "%$%((.-)%)", function(s)
|
||||
if s == "box_name" then
|
||||
return bmeta.box_name
|
||||
elseif s == "builder" then
|
||||
return bmeta.builder
|
||||
elseif s == "build_time" then
|
||||
return format_time(bmeta.build_time)
|
||||
elseif moredata and moredata[s] then
|
||||
if moredata[s].format == "time" then
|
||||
return format_time(moredata[s].data)
|
||||
else
|
||||
return moredata[s].data
|
||||
end
|
||||
end
|
||||
end
|
||||
return "[" .. s .. " ???]"
|
||||
end)
|
||||
meta:set_string("dtext", ntext)
|
||||
meta:mark_as_private("dtext")
|
||||
return "[" .. s .. " ???]"
|
||||
end)
|
||||
meta:set_string("dtext", ntext)
|
||||
meta:mark_as_private("dtext")
|
||||
end
|
||||
end
|
||||
if meta:get_string("text") ~= "" then
|
||||
minetest.add_entity(pos, "signs:sign")
|
||||
|
Loading…
x
Reference in New Issue
Block a user