From 216cec300efc96451ae5f2645429fbd5530bef3b Mon Sep 17 00:00:00 2001 From: LeMagnesium Date: Thu, 26 May 2016 20:40:00 +0200 Subject: [PATCH] [u_inv] Move part of item_name's globalstep into a step function - For #179 --- mods/unified_inventory/item_names.lua | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/mods/unified_inventory/item_names.lua b/mods/unified_inventory/item_names.lua index 31af81bc..f6686dd3 100755 --- a/mods/unified_inventory/item_names.lua +++ b/mods/unified_inventory/item_names.lua @@ -2,7 +2,6 @@ local wield = {} local huds = {} -local dtimes = {} local dlimit = 3 -- HUD element will be hidden after this many seconds local air_hud_mod = minetest.get_modpath("4air") local hud_mod = minetest.get_modpath("hud") @@ -25,23 +24,24 @@ end minetest.register_on_joinplayer(function(player) minetest.after(0, set_hud, player) + minetest.after(dlimit, u_inv_hud_step, player:get_player_name()) end) +function u_inv_hud_step(name) + local p = minetest.get_player_by_name(name) + if not p then return end + + p:hud_change(huds[name], 'text', "") + minetest.after(dlimit, u_inv_hud_step, name) +end + minetest.register_globalstep(function(dtime) for _, player in pairs(minetest.get_connected_players()) do local player_name = player:get_player_name() local wstack = player:get_wielded_item():get_name() - if dtimes[player_name] and dtimes[player_name] < dlimit then - dtimes[player_name] = dtimes[player_name] + dtime - if dtimes[player_name] > dlimit and huds[player_name] then - player:hud_change(huds[player_name], 'text', "") - end - end - if wstack ~= wield[player_name] then wield[player_name] = wstack - dtimes[player_name] = 0 if huds[player_name] then local def = minetest.registered_items[wstack] local desc = def and def.description or ""