From 987ae3c6e88474f9a22c25119d1747331013a15c Mon Sep 17 00:00:00 2001 From: cora Date: Sun, 17 Jul 2022 02:34:34 +0200 Subject: [PATCH] Fix mobs spawning inside nodes --- mods/ENTITIES/mcl_mobs/api.lua | 1 + mods/ENTITIES/mcl_mobs/spawning.lua | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index 61bed6901..d77a9c419 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -4036,6 +4036,7 @@ minetest.register_entity(name, { fire_damage_resistant = def.fire_damage_resistant or false, ignited_by_sunlight = def.ignited_by_sunlight or false, spawn_in_group = def.spawn_in_group, + spawn_in_group_min = def.spawn_in_group_min, -- End of MCL2 extensions on_spawn = def.on_spawn, diff --git a/mods/ENTITIES/mcl_mobs/spawning.lua b/mods/ENTITIES/mcl_mobs/spawning.lua index d97d99536..943d751f2 100644 --- a/mods/ENTITIES/mcl_mobs/spawning.lua +++ b/mods/ENTITIES/mcl_mobs/spawning.lua @@ -388,7 +388,12 @@ end local function spawn_group(p,mob,spawn_on,group_max,group_min) if not group_min then group_min = 1 end - local nn = minetest.find_nodes_in_area(vector.offset(p,-5,-3,-5),vector.offset(p,5,3,5),spawn_on) + local nn + if mob.spawn_class == "water" then + nn= minetest.find_nodes_in_area(vector.offset(p,-5,-3,-5),vector.offset(p,5,3,5),spawn_on) + else + nn= minetest.find_nodes_in_area_under_air(vector.offset(p,-5,-3,-5),vector.offset(p,5,3,5),spawn_on) + end local o if not nn or #nn < 1 then nn = {}