From 0b07f449da956ef1aeecd3d381e9565f2b70f159 Mon Sep 17 00:00:00 2001 From: teknomunk <teknomunk@protonmail.com> Date: Mon, 6 Jan 2025 06:54:49 -0600 Subject: [PATCH] Resolve linter warnings, replace get_item_group with groups.* lookups --- mods/ENTITIES/mcl_mobs/spawning.lua | 35 +++++++++++++++-------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/mods/ENTITIES/mcl_mobs/spawning.lua b/mods/ENTITIES/mcl_mobs/spawning.lua index 4972006c3..121d577bf 100644 --- a/mods/ENTITIES/mcl_mobs/spawning.lua +++ b/mods/ENTITIES/mcl_mobs/spawning.lua @@ -15,7 +15,6 @@ local get_node_light = minetest.get_node_light local find_nodes_in_area_under_air = minetest.find_nodes_in_area_under_air local mt_get_biome_name = minetest.get_biome_name local get_connected_players = minetest.get_connected_players -local get_item_group = core.get_item_group local math_min = math.min local math_max = math.max @@ -281,8 +280,8 @@ function mcl_mobs:spawn_setup(def) local max_light = def.max_light or (minetest.LIGHT_MAX + 1) local chance = def.chance or 1000 local aoc = def.aoc or aoc_range - local min_height = def.min_height or mcl_mapgen.overworld.min - local max_height = def.max_height or mcl_mapgen.overworld.max + local min_height = def.min_height or mcl_vars.mg_overworld_min + local max_height = def.max_height or mcl_vars.mg_overworld_max local day_toggle = def.day_toggle local on_spawn = def.on_spawn local check_position = def.check_position @@ -290,9 +289,9 @@ function mcl_mobs:spawn_setup(def) -- chance/spawn number override in minetest.conf for registered mob local numbers = minetest.settings:get(name) if numbers then - numbers = numbers:split(",") - chance = tonumber(numbers[1]) or chance - aoc = tonumber(numbers[2]) or aoc + local number_parts = numbers:split(",") + chance = tonumber(number_parts[1]) or chance + aoc = tonumber(number_parts[2]) or aoc if chance == 0 then minetest.log("warning", string.format("[mcl_mobs] %s has spawning disabled", name)) return @@ -393,11 +392,10 @@ function mcl_mobs:spawn_specific(name, dimension, type_of_spawning, biomes, min_ -- chance/spawn number override in minetest.conf for registered mob local numbers = minetest.settings:get(name) - if numbers then - numbers = numbers:split(",") - chance = tonumber(numbers[1]) or chance - aoc = tonumber(numbers[2]) or aoc + local number_parts = numbers:split(",") + chance = tonumber(number_parts[1]) or chance + aoc = tonumber(number_parts[2]) or aoc if chance == 0 then minetest.log("warning", string.format("[mcl_mobs] %s has spawning disabled", name)) @@ -408,8 +406,7 @@ function mcl_mobs:spawn_specific(name, dimension, type_of_spawning, biomes, min_ end --load information into the spawn dictionary - local key = #spawn_dictionary + 1 - spawn_dictionary[key] = { + spawn_dictionary[#spawn_dictionary + 1] = { name = name, dimension = dimension, type_of_spawning = type_of_spawning, @@ -707,20 +704,24 @@ local function build_state_for_position(pos, parent_state) -- Get node and make sure it's loaded and a valid spawn point local node = get_node(pos) local node_name = node.name + local node_def = core.registered_nodes[node_name] or core.nodedef_default + local groups = node_def.groups or {} -- Make sure we can spawn here if not node or node_name == "ignore" or node_name == "mcl_core:bedrock" then return end -- Check if it's ground - local is_water = get_item_group(node_name, "water") ~= 0 + local is_water = (groups.water or 0) ~= 0 local is_ground = false if not is_water then - is_ground = get_item_group(node_name,"solid") ~= 0 + is_ground = (groups.solid or 0) ~= 0 if not is_ground then pos.y = pos.y - 1 node = get_node(pos) node_name = node.name - is_ground = get_item_group(node_name,"solid") ~= 0 + node_def = core.registered_nodes[node.name] or core.nodedef_default + groups = node_def.groups or {} + is_ground = (groups.solid or 0) ~= 0 end pos.y = pos.y + 1 end @@ -735,8 +736,8 @@ local function build_state_for_position(pos, parent_state) state.biome = biome_name state.dimension = dimension - state.is_ground = is_ground and get_item_group(node_name, "leaves") == 0 - state.is_grass = get_item_group(node_name, "grass_block") ~= 0 + state.is_ground = is_ground and (groups.leaves or 0) == 0 + state.is_grass = (groups.grass_block or 0) ~= 0 state.is_water = is_water -- Check light level