Add vase radar (for testing)

This commit is contained in:
Wuzzy 2024-01-10 00:11:09 +01:00
parent e9e86d4a55
commit 30408d5a7b

View File

@ -1,6 +1,9 @@
local S = minetest.get_translator("sf_loot") local S = minetest.get_translator("sf_loot")
local EDITOR = minetest.settings:get_bool("sf_editor", false) or minetest.settings:get_bool("creative_mode", false) local EDITOR = minetest.settings:get_bool("sf_editor", false) or minetest.settings:get_bool("creative_mode", false)
-- If enabled, shows vases near you
local VASE_RADAR = false
local vase_drop = nil local vase_drop = nil
if not EDITOR then if not EDITOR then
vase_drop = "" vase_drop = ""
@ -50,3 +53,41 @@ minetest.register_node("sf_loot:vase", {
end, end,
drop = vase_drop, drop = vase_drop,
}) })
if VASE_RADAR then
local vtimer = 0
local waypoints = {}
minetest.register_globalstep(function(dtime)
vtimer = vtimer + dtime
if vtimer < 1 then
return
end
vtimer = 0
local players = minetest.get_connected_players()
local areasize = vector.new(30, 30, 30)
for p=1, #players do
local player = players[p]
local pname = player:get_player_name()
if not waypoints[pname] then
waypoints[pname] = {}
end
for w=1, #waypoints[pname] do
player:hud_remove(waypoints[pname][w])
end
local ppos = vector.round(players[p]:get_pos())
local vases = minetest.find_nodes_in_area(vector.subtract(ppos, areasize), vector.add(ppos, areasize), "sf_loot:vase")
for v=1, #vases do
local vnode = minetest.get_node(vases[v])
local id = players[p]:hud_add({
hud_elem_type = "waypoint",
name = S("Vase (@1)", vnode.param2),
precision = 1,
text = S("m"),
number = 0xFF8080,
world_pos = vases[v],
})
table.insert(waypoints[pname], id)
end
end
end)
end