Add min_light param to spawning function

master
PilzAdam 2012-09-17 17:13:31 +02:00
parent aec1777c87
commit ada7a13b14
1 changed files with 8 additions and 5 deletions

View File

@ -337,7 +337,7 @@ function mobs:register_animal(name, def)
}) })
end end
function mobs:register_spawn(name, nodes, max_light) function mobs:register_spawn(name, nodes, max_light, min_light)
minetest.register_abm({ minetest.register_abm({
nodenames = nodes, nodenames = nodes,
neighbors = nodes, neighbors = nodes,
@ -351,6 +351,9 @@ function mobs:register_spawn(name, nodes, max_light)
if minetest.env:get_node_light(pos) > max_light then if minetest.env:get_node_light(pos) > max_light then
return return
end end
if minetest.env:get_node_light(pos) < min_light then
return
end
if minetest.env:get_node(pos).name ~= "air" then if minetest.env:get_node(pos).name ~= "air" then
return return
end end
@ -392,7 +395,7 @@ mobs:register_monster("mobs:dirt_monster", {
drop_count = 3, drop_count = 3,
armor = 3, armor = 3,
}) })
mobs:register_spawn("mobs:dirt_monster", {"default:dirt_with_grass"}, 3) mobs:register_spawn("mobs:dirt_monster", {"default:dirt_with_grass"}, 3, -1)
mobs:register_monster("mobs:stone_monster", { mobs:register_monster("mobs:stone_monster", {
hp_max = 10, hp_max = 10,
@ -410,7 +413,7 @@ mobs:register_monster("mobs:stone_monster", {
light_resistant = true, light_resistant = true,
armor = 2, armor = 2,
}) })
mobs:register_spawn("mobs:stone_monster", {"default:stone"}, 3) mobs:register_spawn("mobs:stone_monster", {"default:stone"}, 3, -1)
mobs:register_monster("mobs:sand_monster", { mobs:register_monster("mobs:sand_monster", {
@ -429,7 +432,7 @@ mobs:register_monster("mobs:sand_monster", {
light_resistant = true, light_resistant = true,
armor = 3, armor = 3,
}) })
mobs:register_spawn("mobs:sand_monster", {"default:desert_sand"}, 20) mobs:register_spawn("mobs:sand_monster", {"default:desert_sand"}, 20, -1)
mobs:register_animal("mobs:sheep", { mobs:register_animal("mobs:sheep", {
hp_max = 5, hp_max = 5,
@ -455,7 +458,7 @@ mobs:register_animal("mobs:sheep", {
end end
end, end,
}) })
mobs:register_spawn("mobs:sheep", {"default:dirt_with_grass"}, 20) mobs:register_spawn("mobs:sheep", {"default:dirt_with_grass"}, 20, 8)
minetest.register_craftitem("mobs:meat_raw", { minetest.register_craftitem("mobs:meat_raw", {
description = "Raw Meat", description = "Raw Meat",