forked from Mineclonia/Mineclonia
Prevent mobs from spawning on bedrock
This patch keeps the Nether roof mob-free.
This commit is contained in:
parent
0c1604e9f8
commit
36b3b35d28
|
@ -1,13 +1,16 @@
|
||||||
local function is_forbidden_node(pos, node)
|
local function is_forbidden_node(pos, node)
|
||||||
node = node or minetest.get_node(pos)
|
node = node or minetest.get_node(pos)
|
||||||
return minetest.get_item_group(node.name, "stair") > 0 or minetest.get_item_group(node.name, "slab") > 0 or minetest.get_item_group(node.name, "carpet") > 0
|
return "mcl_core:bedrock" == node.name or
|
||||||
|
minetest.get_item_group(node.name, "stair") > 0 or
|
||||||
|
minetest.get_item_group(node.name, "slab") > 0 or
|
||||||
|
minetest.get_item_group(node.name, "carpet") > 0
|
||||||
end
|
end
|
||||||
|
|
||||||
function mobs:spawn_abm_check(pos, node, name)
|
function mobs:spawn_abm_check(pos, node, name)
|
||||||
-- Don't spawn monsters on mycelium
|
-- Don't spawn monsters on mycelium
|
||||||
if (node.name == "mcl_core:mycelium" or node.name == "mcl_core:mycelium_snow") and minetest.registered_entities[name].type == "monster" then
|
if (node.name == "mcl_core:mycelium" or node.name == "mcl_core:mycelium_snow") and minetest.registered_entities[name].type == "monster" then
|
||||||
return true
|
return true
|
||||||
--Don't Spawn mobs on stairs, slabs, or carpets
|
-- Don't spawn mobs on bedrock, stairs, slabs, or carpets
|
||||||
elseif is_forbidden_node(pos, node) or is_forbidden_node(vector.add(pos, vector.new(0, 1, 0))) then
|
elseif is_forbidden_node(pos, node) or is_forbidden_node(vector.add(pos, vector.new(0, 1, 0))) then
|
||||||
return true
|
return true
|
||||||
-- Spawn on opaque or liquid nodes
|
-- Spawn on opaque or liquid nodes
|
||||||
|
|
Loading…
Reference in New Issue