Add support for hidden effects

Hidden effects are effects which are not exposed to the player’s HUD.
This commit is contained in:
Wuzzy
2014-07-13 22:07:04 +02:00
parent bf50528228
commit 85fbd146b1
2 changed files with 31 additions and 2 deletions

View File

@ -48,7 +48,7 @@ function playereffects.next_effect_id()
end
--[=[ API functions ]=]
function playereffects.register_effect_type(name, description, icon, groups, apply, cancel)
function playereffects.register_effect_type(name, description, icon, groups, apply, cancel, hidden)
effect_type = {}
effect_type.description = description
effect_type.apply = apply
@ -59,6 +59,11 @@ function playereffects.register_effect_type(name, description, icon, groups, app
else
effect_type.cancel = function() end
end
if hidden ~= nil then
effect_type.hidden = hidden
else
effect_type.hidden = false
end
playereffects.effect_types[name] = effect_type
minetest.log("action", "Effect type "..name.." registered!")
end
@ -306,7 +311,8 @@ end
function playereffects.hud_effect(effect_type_id, player, pos, time_left)
local text_id, icon_id
if(playereffects.use_hud == true) then
local effect_type = playereffects.effect_types[effect_type_id]
if(playereffects.use_hud == true and effect_type.hidden == false) then
text_id = player:hud_add({
hud_elem_type = "text",
position = { x = 1, y = 0.3 },