1 local minetest,vector = minetest,vector
2 local hud_item_name = ""
4 local hud_bg = minetest.localplayer:hud_add({
5 hud_elem_type = "image", -- see HUD element types, default "text"
6 position = {x=0.5, y=0},
7 name = "", -- default ""
8 scale = {x=2.25, y=2.25}, -- default {x=0,y=0}
9 text = "waila.png", -- default ""
10 offset = { x = 0, y = 29.25},
14 local hud_name = minetest.localplayer:hud_add({
16 position = {x=0.5,y=0},
17 hud_elem_type = "text",
20 offset = { x = 0, y = 17},
24 local hud_node = minetest.localplayer:hud_add({
26 position = {x=0.5,y=0},
27 hud_elem_type = "text",
30 offset = { x = 0, y = 36},
36 local waih_name = minetest.localplayer:hud_add({
38 position = {x=0.5,y=1},
39 hud_elem_type = "text",
42 offset = { x = 0, y = -150},
53 local function update()
57 if minetest.camera then
58 local pos = minetest.camera:get_pos()
59 local pos2 = vector.add(pos,vector.multiply(minetest.camera:get_look_dir(), 4))
60 local ray = minetest.raycast(pos, pos2, false, false)
62 local pointed_thing = ray:next()
63 if pointed_thing and pointed_thing.under and all_nodes[minetest.get_node_or_nil(pointed_thing.under).name] then
64 local node = minetest.get_node_or_nil(pointed_thing.under).name
65 if hud_item_name ~= node then
66 local def = minetest.get_item_def(node)
67 minetest.localplayer:hud_change(hud_name, "text", def.description)
68 minetest.localplayer:hud_change(hud_node, "text", node)
69 minetest.localplayer:hud_change(hud_bg, "text", "waila.png")
74 minetest.localplayer:hud_change(hud_name, "text", "")
75 minetest.localplayer:hud_change(hud_node, "text", "")
76 minetest.localplayer:hud_change(hud_bg, "text", "")
83 local item = minetest.localplayer:get_wielded_item():get_name()
84 if waih_timer > 0 then
85 waih_timer = waih_timer - 0.01
86 if waih_timer <= 0 then
88 minetest.localplayer:hud_change(waih_name, "text", "")
91 if item ~= old_item then
94 if all_nodes[item] then
95 waih_text = minetest.get_item_def(item).description or item
99 minetest.localplayer:hud_change(waih_name, "text", waih_text)
103 all_nodes = table.copy(nodes)
107 minetest.after(0.01, function()