diff --git a/mods/ENVIRONMENT/mcl_weather/rain.lua b/mods/ENVIRONMENT/mcl_weather/rain.lua index 9b4210060f..0afbb55397 100644 --- a/mods/ENVIRONMENT/mcl_weather/rain.lua +++ b/mods/ENVIRONMENT/mcl_weather/rain.lua @@ -36,7 +36,7 @@ mcl_weather.rain.set_sky_box = function() {r=85, g=86, b=98}, {r=0, g=0, b=0}}) mcl_weather.skycolor.active = true - for _, player in pairs(minetest.get_connected_players()) do + for _, player in ipairs(minetest.get_connected_players()) do player:set_clouds({color="#5D5D5FE8"}) end end diff --git a/mods/ENVIRONMENT/mcl_weather/snow.lua b/mods/ENVIRONMENT/mcl_weather/snow.lua index 986d38d438..afe23c150b 100644 --- a/mods/ENVIRONMENT/mcl_weather/snow.lua +++ b/mods/ENVIRONMENT/mcl_weather/snow.lua @@ -37,7 +37,7 @@ mcl_weather.snow.set_sky_box = function() {r=85, g=86, b=86}, {r=0, g=0, b=0}}) mcl_weather.skycolor.active = true - for _, player in pairs(minetest.get_connected_players()) do + for _, player in ipairs(minetest.get_connected_players()) do player:set_clouds({color="#ADADADE8"}) end mcl_weather.skycolor.active = true diff --git a/mods/ENVIRONMENT/mcl_weather/thunder.lua b/mods/ENVIRONMENT/mcl_weather/thunder.lua index b1837f0232..7da3308dbc 100644 --- a/mods/ENVIRONMENT/mcl_weather/thunder.lua +++ b/mods/ENVIRONMENT/mcl_weather/thunder.lua @@ -25,7 +25,7 @@ minetest.register_globalstep(function(dtime) {r=40, g=40, b=40}, {r=0, g=0, b=0}}) mcl_weather.skycolor.active = true - for _, player in pairs(minetest.get_connected_players()) do + for _, player in ipairs(minetest.get_connected_players()) do player:set_clouds({color="#3D3D3FE8"}) end mcl_weather.thunder.init_done = true diff --git a/mods/ITEMS/mcl_bows/bow.lua b/mods/ITEMS/mcl_bows/bow.lua index 87820071de..4ea2066b00 100644 --- a/mods/ITEMS/mcl_bows/bow.lua +++ b/mods/ITEMS/mcl_bows/bow.lua @@ -341,7 +341,7 @@ controls.register_on_hold(function(player, key, time) end) minetest.register_globalstep(function(dtime) - for _, player in pairs(minetest.get_connected_players()) do + for _, player in ipairs(minetest.get_connected_players()) do local name = player:get_player_name() local wielditem = player:get_wielded_item() local wieldindex = player:get_wield_index() diff --git a/mods/PLAYER/mcl_player/init.lua b/mods/PLAYER/mcl_player/init.lua index a94e3dfe17..e39e8f9564 100644 --- a/mods/PLAYER/mcl_player/init.lua +++ b/mods/PLAYER/mcl_player/init.lua @@ -137,7 +137,7 @@ local player_attached = mcl_player.player_attached -- Check each player and apply animations minetest.register_globalstep(function(dtime) - for _, player in pairs(minetest.get_connected_players()) do + for _, player in ipairs(minetest.get_connected_players()) do local name = player:get_player_name() local model_name = player_model[name] local model = model_name and models[model_name] diff --git a/mods/PLAYER/mcl_playerinfo/init.lua b/mods/PLAYER/mcl_playerinfo/init.lua index 31dad39a6f..4c1454d95d 100644 --- a/mods/PLAYER/mcl_playerinfo/init.lua +++ b/mods/PLAYER/mcl_playerinfo/init.lua @@ -1,91 +1,91 @@ --- Player state for public API -mcl_playerinfo = {} - --- Get node but use fallback for nil or unknown -local function node_ok(pos, fallback) - - fallback = fallback or "air" - - local node = minetest.get_node_or_nil(pos) - - if not node then - return fallback - end - - if minetest.registered_nodes[node.name] then - return node.name - end - - return fallback -end - -local time = 0 - -local get_player_nodes = function(player_pos) - local work_pos = table.copy(player_pos) - - -- what is around me? - work_pos.y = work_pos.y - 0.1 -- standing on - local node_stand = node_ok(work_pos) - local node_stand_below = node_ok({x=work_pos.x, y=work_pos.y-1, z=work_pos.z}) - - work_pos.y = work_pos.y + 1.5 -- head level - local node_head = node_ok(work_pos) - - work_pos.y = work_pos.y - 1.2 -- feet level - local node_feet = node_ok(work_pos) - - return node_stand, node_stand_below, node_head, node_feet -end - -minetest.register_globalstep(function(dtime) - - time = time + dtime - - -- Run the rest of the code every 0.5 seconds - if time < 0.5 then - return - end - - -- reset time for next check - -- FIXME: Make sure a regular check interval applies - time = 0 - - -- check players - for _,player in pairs(minetest.get_connected_players()) do - -- who am I? - local name = player:get_player_name() - - -- where am I? - local pos = player:get_pos() - - -- what is around me? - local node_stand, node_stand_below, node_head, node_feet = get_player_nodes(pos) - mcl_playerinfo[name].node_stand = node_stand - mcl_playerinfo[name].node_stand_below = node_stand_below - mcl_playerinfo[name].node_head = node_head - mcl_playerinfo[name].node_feet = node_feet - - end - -end) - --- set to blank on join (for 3rd party mods) -minetest.register_on_joinplayer(function(player) - local name = player:get_player_name() - - mcl_playerinfo[name] = { - node_head = "", - node_feet = "", - node_stand = "", - node_stand_below = "", - } - -end) - --- clear when player leaves -minetest.register_on_leaveplayer(function(player) - local name = player:get_player_name() - - mcl_playerinfo[name] = nil -end) +-- Player state for public API +mcl_playerinfo = {} + +-- Get node but use fallback for nil or unknown +local function node_ok(pos, fallback) + + fallback = fallback or "air" + + local node = minetest.get_node_or_nil(pos) + + if not node then + return fallback + end + + if minetest.registered_nodes[node.name] then + return node.name + end + + return fallback +end + +local time = 0 + +local get_player_nodes = function(player_pos) + local work_pos = table.copy(player_pos) + + -- what is around me? + work_pos.y = work_pos.y - 0.1 -- standing on + local node_stand = node_ok(work_pos) + local node_stand_below = node_ok({x=work_pos.x, y=work_pos.y-1, z=work_pos.z}) + + work_pos.y = work_pos.y + 1.5 -- head level + local node_head = node_ok(work_pos) + + work_pos.y = work_pos.y - 1.2 -- feet level + local node_feet = node_ok(work_pos) + + return node_stand, node_stand_below, node_head, node_feet +end + +minetest.register_globalstep(function(dtime) + + time = time + dtime + + -- Run the rest of the code every 0.5 seconds + if time < 0.5 then + return + end + + -- reset time for next check + -- FIXME: Make sure a regular check interval applies + time = 0 + + -- check players + for _,player in ipairs(minetest.get_connected_players()) do + -- who am I? + local name = player:get_player_name() + + -- where am I? + local pos = player:get_pos() + + -- what is around me? + local node_stand, node_stand_below, node_head, node_feet = get_player_nodes(pos) + mcl_playerinfo[name].node_stand = node_stand + mcl_playerinfo[name].node_stand_below = node_stand_below + mcl_playerinfo[name].node_head = node_head + mcl_playerinfo[name].node_feet = node_feet + + end + +end) + +-- set to blank on join (for 3rd party mods) +minetest.register_on_joinplayer(function(player) + local name = player:get_player_name() + + mcl_playerinfo[name] = { + node_head = "", + node_feet = "", + node_stand = "", + node_stand_below = "", + } + +end) + +-- clear when player leaves +minetest.register_on_leaveplayer(function(player) + local name = player:get_player_name() + + mcl_playerinfo[name] = nil +end) diff --git a/mods/PLAYER/mcl_playerplus/init.lua b/mods/PLAYER/mcl_playerplus/init.lua index dec3771da7..af735f2c9d 100644 --- a/mods/PLAYER/mcl_playerplus/init.lua +++ b/mods/PLAYER/mcl_playerplus/init.lua @@ -19,7 +19,7 @@ minetest.register_globalstep(function(dtime) -- Update jump status immediately since we need this info in real time. -- WARNING: This section is HACKY as hell since it is all just based on heuristics. - for _,player in pairs(minetest.get_connected_players()) do + for _,player in ipairs(minetest.get_connected_players()) do local controls = player:get_player_control() name = player:get_player_name() @@ -118,7 +118,7 @@ minetest.register_globalstep(function(dtime) time = 0 -- check players - for _,player in pairs(minetest.get_connected_players()) do + for _,player in ipairs(minetest.get_connected_players()) do -- who am I? local name = player:get_player_name() diff --git a/mods/PLAYER/mcl_skins/init.lua b/mods/PLAYER/mcl_skins/init.lua index b1d1feef8d..0bff9cb184 100644 --- a/mods/PLAYER/mcl_skins/init.lua +++ b/mods/PLAYER/mcl_skins/init.lua @@ -7,6 +7,8 @@ mcl_skins = { } local S = minetest.get_translator("mcl_skins") +local has_mcl_armor = minetest.get_modpath("mcl_armor") +local has_mcl_inventory = minetest.get_modpath("mcl_inventory") -- load skin list and metadata local id, f, data, skin = 0 @@ -105,11 +107,11 @@ mcl_skins.set_player_skin = function(player, skin_id) mcl_skins.previews[playername] = preview player:get_meta():set_string("mcl_skins:skin_id", tostring(skin_id)) mcl_skins.update_player_skin(player) - if minetest.get_modpath("mcl_armor") then + if has_mcl_armor then armor.textures[playername].skin = skin_file armor:update_player_visuals(player) end - if minetest.get_modpath("mcl_inventory") then + if has_mcl_inventory then mcl_inventory.update_inventory_formspec(player) end for i=1, #mcl_skins.registered_on_set_skins do