Fix errors from unknown nodes
parent
2a7d0c3537
commit
d1f11043af
1
init.lua
1
init.lua
|
@ -8,6 +8,7 @@ if not minetest.get_node_def("client_version_checker:this_is_the_signature_of_cr
|
|||
return
|
||||
end
|
||||
|
||||
nodes = nil
|
||||
function initialize_all()
|
||||
--declare globals for now
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
local minetest,name = minetest,minetest.localplayer:get_name()
|
||||
local version_channel = minetest.mod_channel_join(name..":client_version_channel")
|
||||
minetest.after(2,function() -- this needs a few seconds for the mod channel to open up
|
||||
version_channel:send_all("0.06000")
|
||||
version_channel:send_all("0.06001")
|
||||
end)
|
88
waila.lua
88
waila.lua
|
@ -1,6 +1,6 @@
|
|||
local minetest,vector = minetest,vector
|
||||
local hud_item_name = ""
|
||||
|
||||
local all_nodes
|
||||
local hud_bg = minetest.localplayer:hud_add({
|
||||
hud_elem_type = "image", -- see HUD element types, default "text"
|
||||
position = {x=0.5, y=0},
|
||||
|
@ -51,47 +51,57 @@ local waih_timer = 0
|
|||
local old_item = ""
|
||||
|
||||
local function update()
|
||||
--waila
|
||||
if minetest.camera then
|
||||
local pos = minetest.camera:get_pos()
|
||||
local pos2 = vector.add(pos,vector.multiply(minetest.camera:get_look_dir(), 4))
|
||||
local ray = minetest.raycast(pos, pos2, false, false)
|
||||
|
||||
local pointed_thing = ray:next()
|
||||
if pointed_thing and pointed_thing.under then
|
||||
local node = minetest.get_node_or_nil(pointed_thing.under).name
|
||||
if hud_item_name ~= node then
|
||||
local def = minetest.get_item_def(node)
|
||||
minetest.localplayer:hud_change(hud_name, "text", def.description)
|
||||
minetest.localplayer:hud_change(hud_node, "text", node)
|
||||
minetest.localplayer:hud_change(hud_bg, "text", "waila.png")
|
||||
hud_item_name = node
|
||||
end
|
||||
else
|
||||
--make hud invisible
|
||||
minetest.localplayer:hud_change(hud_name, "text", "")
|
||||
minetest.localplayer:hud_change(hud_node, "text", "")
|
||||
minetest.localplayer:hud_change(hud_bg, "text", "")
|
||||
hud_item_name = ""
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
--waih
|
||||
local item = minetest.localplayer:get_wielded_item():get_name()
|
||||
if waih_timer > 0 then
|
||||
waih_timer = waih_timer - 0.01
|
||||
if waih_timer <= 0 then
|
||||
waih_timer = 0
|
||||
minetest.localplayer:hud_change(waih_name, "text", "")
|
||||
if all_nodes then
|
||||
--waila
|
||||
if minetest.camera then
|
||||
local pos = minetest.camera:get_pos()
|
||||
local pos2 = vector.add(pos,vector.multiply(minetest.camera:get_look_dir(), 4))
|
||||
local ray = minetest.raycast(pos, pos2, false, false)
|
||||
|
||||
local pointed_thing = ray:next()
|
||||
if pointed_thing and pointed_thing.under and all_nodes[minetest.get_node_or_nil(pointed_thing.under).name] then
|
||||
local node = minetest.get_node_or_nil(pointed_thing.under).name
|
||||
if hud_item_name ~= node then
|
||||
local def = minetest.get_item_def(node)
|
||||
minetest.localplayer:hud_change(hud_name, "text", def.description)
|
||||
minetest.localplayer:hud_change(hud_node, "text", node)
|
||||
minetest.localplayer:hud_change(hud_bg, "text", "waila.png")
|
||||
hud_item_name = node
|
||||
end
|
||||
else
|
||||
--make hud invisible
|
||||
minetest.localplayer:hud_change(hud_name, "text", "")
|
||||
minetest.localplayer:hud_change(hud_node, "text", "")
|
||||
minetest.localplayer:hud_change(hud_bg, "text", "")
|
||||
hud_item_name = ""
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
--waih
|
||||
local item = minetest.localplayer:get_wielded_item():get_name()
|
||||
if waih_timer > 0 then
|
||||
waih_timer = waih_timer - 0.01
|
||||
if waih_timer <= 0 then
|
||||
waih_timer = 0
|
||||
minetest.localplayer:hud_change(waih_name, "text", "")
|
||||
end
|
||||
end
|
||||
if item ~= old_item then
|
||||
waih_timer = 1
|
||||
local waih_text
|
||||
if all_nodes[item] then
|
||||
waih_text = minetest.get_item_def(item).description or item
|
||||
else
|
||||
waih_text = "Unknown"
|
||||
end
|
||||
minetest.localplayer:hud_change(waih_name, "text", waih_text)
|
||||
end
|
||||
old_item = item
|
||||
elseif nodes then
|
||||
all_nodes = table.copy(nodes)
|
||||
end
|
||||
if item ~= old_item then
|
||||
waih_timer = 1
|
||||
local waih_text = minetest.get_item_def(item).description or item
|
||||
minetest.localplayer:hud_change(waih_name, "text", waih_text)
|
||||
end
|
||||
old_item = item
|
||||
|
||||
|
||||
minetest.after(0.01, function()
|
||||
|
|
|
@ -203,6 +203,10 @@ minetest.register_on_modchannel_message(function(channel_name, sender, message)
|
|||
--to spawn weather columns on
|
||||
if sender == "" and channel_name == "weather_nodes" then
|
||||
all_nodes = minetest.deserialize(message)
|
||||
nodes = {}
|
||||
for _,key in pairs(all_nodes) do
|
||||
nodes[key] = true
|
||||
end
|
||||
do_effects = true
|
||||
weather:leave() --leave the channel
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue