1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-08-01 17:38:41 +00:00

Fix precision not working in hud_change (#10186)

This commit is contained in:
Lars Müller 2020-08-12 11:51:50 +02:00 committed by GitHub
parent cd0e213a36
commit 1c38027c3a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 61 additions and 1 deletions

View file

@ -112,6 +112,62 @@ minetest.register_chatcommand("detach", {
end,
})
-- Use this to test waypoint capabilities
minetest.register_chatcommand("test_waypoints", {
params = "[change_immediate]",
description = "tests waypoint capabilities",
func = function(name, params)
local player = minetest.get_player_by_name(name)
local regular = player:hud_add {
hud_elem_type = "waypoint",
name = "regular waypoint",
text = "m",
number = 0xFF0000,
world_pos = vector.add(player:get_pos(), {x = 0, y = 1.5, z = 0})
}
local reduced_precision = player:hud_add {
hud_elem_type = "waypoint",
name = "better waypoint",
text = "m (0.5 steps, precision = 2)",
precision = 10,
number = 0xFFFF00,
world_pos = vector.add(player:get_pos(), {x = 0, y = 1, z = 0})
}
local function change()
if regular then
player:hud_change(regular, "world_pos", vector.add(player:get_pos(), {x = 0, y = 3, z = 0}))
end
if reduced_precision then
player:hud_change(reduced_precision, "precision", 2)
end
end
if params ~= "" then
-- change immediate
change()
else
minetest.after(0.5, change)
end
regular = regular or "error"
reduced_precision = reduced_precision or "error"
local hidden_distance = player:hud_add {
hud_elem_type = "waypoint",
name = "waypoint with hidden distance",
text = "this text is hidden as well (precision = 0)",
precision = 0,
number = 0x0000FF,
world_pos = vector.add(player:get_pos(), {x = 0, y = 0.5, z = 0})
} or "error"
local image_waypoint = player:hud_add {
hud_elem_type = "image_waypoint",
text = "wieldhand.png",
world_pos = player:get_pos(),
scale = {x = 10, y = 10},
offset = {x = 0, y = -32}
} or "error"
minetest.chat_send_player(name, "Waypoint IDs: regular: " .. regular .. ", reduced precision: " .. reduced_precision ..
", hidden distance: " .. hidden_distance .. ", image waypoint: " .. image_waypoint)
end
})
-- Unlimited node placement
minetest.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack)