From 4f3f59f4bce65b7c42a51891dce27a84be1e3fcf Mon Sep 17 00:00:00 2001 From: Michieal Date: Sun, 3 Dec 2023 09:03:01 -0500 Subject: [PATCH] Put in checks to prevent repeatedly applying the same FOV modifier. Added short circuit to remove_modifier if the modifier is not currently applied. --- mods/PLAYER/mcl_fovapi/init.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mods/PLAYER/mcl_fovapi/init.lua b/mods/PLAYER/mcl_fovapi/init.lua index 153cd47a9..b64a78d78 100644 --- a/mods/PLAYER/mcl_fovapi/init.lua +++ b/mods/PLAYER/mcl_fovapi/init.lua @@ -74,6 +74,9 @@ function mcl_fovapi.apply_modifier(player, modifier_name) if mcl_fovapi.registered_modifiers[modifier_name] == nil then return end + if mcl_fovapi.applied_modifiers[player][modifier_name] and mcl_fovapi.applied_modifiers[player][modifier_name] == true then + return + end local modifier = mcl_fovapi.registered_modifiers[modifier_name] if modifier.on_start ~= nil then @@ -110,6 +113,8 @@ function mcl_fovapi.remove_modifier(player, modifier_name) return end + if mcl_fovapi.applied_modifiers[player][modifier_name] == nil then return end + if DEBUG then local name = player:get_player_name() minetest.log("FOV::Player: " .. name .. " modifier: " .. modifier_name .. "removed.")