Less calls to minetest.get_connected_players()

This commit is contained in:
mazes 80 2022-09-16 04:26:26 +02:00
parent 31462ab08e
commit 91d249fcbc

View file

@ -85,22 +85,19 @@ end
function trigger.get_active_effects() function trigger.get_active_effects()
local environments = {} local environments = {}
local effects = {}
climate_mod.current_weather = {}
for _, player in ipairs(minetest.get_connected_players()) do for _, player in ipairs(minetest.get_connected_players()) do
local playername = player:get_player_name() local pname = player:get_player_name()
local hp = player:get_hp() local hp = player:get_hp()
-- skip weather presets for dead players -- skip weather presets for dead players
if hp ~= nil and hp > 0 then if hp ~= nil and hp > 0 then
environments[playername] = trigger.get_player_environment(player) environments[pname] = trigger.get_player_environment(player)
end end
end local env = environments[pname]
if env ~= nil then
local effects = {} for wname, wconfig in pairs(climate_mod.weathers) do
climate_mod.current_weather = {}
for wname, wconfig in pairs(climate_mod.weathers) do
for _, player in ipairs(minetest.get_connected_players()) do
local pname = player:get_player_name()
local env = environments[pname]
if env ~= nil then
if is_weather_active(player, wname, env) then if is_weather_active(player, wname, env) then
if climate_mod.current_weather[pname] == nil then if climate_mod.current_weather[pname] == nil then
climate_mod.current_weather[pname] = {} climate_mod.current_weather[pname] = {}