-- https://gitea.your-land.de/your-land/bugtracker/issues/5238#issuecomment-61128 local function is_valid_bones(pos) local meta = minetest.get_meta(pos) if meta:get_string("owner") ~= "" then -- prevent spawning on fresh bones return false end local inv = meta:get_inventory() if inv:is_empty("main") then -- prevent spawning on player-placed bones nodes return false end return true end spawnit.register({ entity_name = "mobs_banshee:banshee", groups = { monster = 1 }, chance = yl_spawnit.base_chance, near = { "bones:bones" }, max_in_area = 1, max_in_area_radius = 16, min_time_of_day = yl_spawnit.dusk, max_time_of_day = yl_spawnit.dawn, min_player_distance = (mobs_banshee.reach or 14) + 1, spawn_in_protected = false, check_pos = function(pos) local pos1 = vector.subtract(pos, 1) local pos2 = vector.add(pos, 1) local poss = minetest.find_nodes_in_area(pos1, pos2, "bones:bones") for i = 1, #poss do if is_valid_bones(poss[i]) then return true end end return false end, }, yl_spawnit.settings.check_nodes)