add [owner] to compass item description

This commit is contained in:
whosit 2023-05-12 16:54:51 +03:00
parent 3f30011448
commit bc8166e365

View File

@ -21,18 +21,8 @@ local function get_compass_meta_pos(meta)
end
local function set_compass_meta_label(meta, label)
meta:set_string("waypoint_compass:label", label)
if label == "" then
local pos = get_compass_meta_pos(meta)
if pos then
meta:set_string("description", string.format("Waypoint compass to %s", minetest.pos_to_string(pos)))
else
meta:set_string("description", DEFAULT_DESCRIPTION)
end
else
meta:set_string("description", string.format("Waypoint compass to \"%s\"", label))
end
local function get_compass_meta_owner(meta)
return meta:get_string("waypoint_compass:owner")
end
@ -41,12 +31,34 @@ local function get_compass_meta_label(meta)
end
local function update_compass_meta_label(meta)
local label = get_compass_meta_label(meta)
local owner = get_compass_meta_owner(meta) --or "no owner"
if label == "" then
local pos = get_compass_meta_pos(meta)
if pos then
meta:set_string("description", string.format("Waypoint compass to %s [%s]",
minetest.pos_to_string(pos),
owner))
else
meta:set_string("description", DEFAULT_DESCRIPTION)
end
else
meta:set_string("description", string.format("Waypoint compass to \"%s\" [%s]", label, owner))
end
end
local function set_compass_meta_label(meta, label)
meta:set_string("waypoint_compass:label", label)
update_compass_meta_label(meta)
end
local function set_compass_meta_pos(meta, pos)
local pos_str = minetest.pos_to_string(pos)
meta:set_string("waypoint_compass:position", pos_str)
if get_compass_meta_label(meta) == "" then
meta:set_string("description", string.format("Waypoint compass to %s", minetest.pos_to_string(pos)))
end
update_compass_meta_label(meta)
end
@ -75,13 +87,10 @@ end
local function set_compass_meta_owner(meta, player_name)
meta:set_string("waypoint_compass:owner", player_name)
update_compass_meta_label(meta)
end
local function get_compass_meta_owner(meta)
return meta:get_string("waypoint_compass:owner")
end
local function set_waypoint_at_pointed_place(itemstack, pointed_thing)
if pointed_thing and pointed_thing.type == "node" then