forked from VoxeLibre/VoxeLibre
Fix passive threshold in nether and end (#4030)
Fix light check for passive mobs in other dimensions. It is apparently the same in all dimensions. If a mob has it's own spawn_check function then that should be used regardless of it's type. Fixes #4029 Reviewed-on: MineClone2/MineClone2#4030 Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land> Co-authored-by: codiac <codiac@inbox.lv> Co-committed-by: codiac <codiac@inbox.lv>
This commit is contained in:
parent
b57f6be81d
commit
4cf865a36c
|
@ -732,27 +732,26 @@ local function spawn_check(pos, spawn_def)
|
||||||
local sky_light = minetest.get_natural_light(pos)
|
local sky_light = minetest.get_natural_light(pos)
|
||||||
local art_light = minetest.get_artificial_light(my_node.param1)
|
local art_light = minetest.get_artificial_light(my_node.param1)
|
||||||
|
|
||||||
if dimension == "nether" then
|
if mob_def.spawn_check then
|
||||||
if art_light <= nether_threshold then
|
return mob_def.spawn_check(pos, gotten_light, art_light, sky_light)
|
||||||
return true
|
elseif mob_type == "monster" then
|
||||||
end
|
if dimension == "nether" then
|
||||||
elseif dimension == "end" then
|
if art_light <= nether_threshold then
|
||||||
if art_light <= end_threshold then
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
elseif dimension == "overworld" then
|
|
||||||
if mob_type == "monster" then
|
|
||||||
if mob_def.spawn_check then
|
|
||||||
return mob_def.spawn_check(pos, gotten_light, art_light, sky_light)
|
|
||||||
elseif art_light <= overworld_threshold and sky_light <= overworld_sky_threshold then
|
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
else
|
elseif dimension == "end" then
|
||||||
if mob_def.spawn_check then
|
if art_light <= end_threshold then
|
||||||
return mob_def.spawn_check(pos, gotten_light, art_light, sky_light)
|
|
||||||
elseif gotten_light > overworld_passive_threshold then
|
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
elseif dimension == "overworld" then
|
||||||
|
if art_light <= overworld_threshold and sky_light <= overworld_sky_threshold then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
-- passive threshold is apparently the same in all dimensions ...
|
||||||
|
if gotten_light > overworld_passive_threshold then
|
||||||
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue