summaryrefslogtreecommitdiff
path: root/unified_inventory/item_names.lua
diff options
context:
space:
mode:
authorVanessa Ezekowitz <vanessaezekowitz@gmail.com>2016-04-01 20:02:19 -0400
committerVanessa Ezekowitz <vanessaezekowitz@gmail.com>2016-04-01 21:09:33 -0400
commitda66780a569712c23ae4f2996cfb4608a9f9d69d (patch)
tree217556029a78bc23ad4564720afc86de97228a04 /unified_inventory/item_names.lua
parent615b22df4d423aded3613db7716943a2f389b047 (diff)
downloaddreambuilder_modpack-da66780a569712c23ae4f2996cfb4608a9f9d69d.tar
dreambuilder_modpack-da66780a569712c23ae4f2996cfb4608a9f9d69d.tar.gz
dreambuilder_modpack-da66780a569712c23ae4f2996cfb4608a9f9d69d.tar.bz2
dreambuilder_modpack-da66780a569712c23ae4f2996cfb4608a9f9d69d.tar.xz
dreambuilder_modpack-da66780a569712c23ae4f2996cfb4608a9f9d69d.zip
copy all standard Dreambuilder mods in from the old subgame
(exactly as last supplied there, updates to these mods will follow later)
Diffstat (limited to 'unified_inventory/item_names.lua')
-rw-r--r--unified_inventory/item_names.lua53
1 files changed, 53 insertions, 0 deletions
diff --git a/unified_inventory/item_names.lua b/unified_inventory/item_names.lua
new file mode 100644
index 0000000..2c92d65
--- /dev/null
+++ b/unified_inventory/item_names.lua
@@ -0,0 +1,53 @@
+-- Based on 4itemnames mod by 4aiman
+
+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")
+
+local function set_hud(player)
+ local player_name = player:get_player_name()
+ local off = {x=0, y=-70}
+ if air_hud_mod or hud_mod then
+ off.y = off.y - 20
+ end
+ huds[player_name] = player:hud_add({
+ hud_elem_type = "text",
+ position = {x=0.5, y=1},
+ offset = off,
+ alignment = {x=0, y=0},
+ number = 0xFFFFFF ,
+ text = "",
+ })
+end
+
+minetest.register_on_joinplayer(function(player)
+ minetest.after(0, set_hud, player)
+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 ""
+ player:hud_change(huds[player_name], 'text', desc)
+ end
+ end
+ end
+end)
+