tidy code, add special kitten spawn

This commit is contained in:
tenplus1 2023-05-11 06:53:49 +01:00
parent 9c00204154
commit f8ed1c08b6
1 changed files with 30 additions and 6 deletions

View File

@ -2,6 +2,12 @@
local S = mobs.intllib_animal
local hairball = minetest.settings:get("mobs_hairball")
local kitten_types = {
{ nodes = {"farming:jackolantern_on"},
skins = {"mobs_kitten_black.png"}
}
}
-- Kitten by Jordach / BFD
@ -59,6 +65,28 @@ mobs:register_mob("mobs_animal:kitten", {
},
view_range = 8,
-- check surrounding nodes and spawn a specific kitten
on_spawn = function(self)
local pos = self.object:get_pos() ; pos.y = pos.y - 1
local tmp
for n = 1, #kitten_types do
tmp = kitten_types[n]
if minetest.find_node_near(pos, 1, tmp.nodes) then
self.base_texture = tmp.skins
self.object:set_properties({textures = tmp.skins})
return true
end
end
return true -- run only once, false/nil runs every activation
end,
on_rightclick = function(self, clicker)
if mobs:feed_tame(self, clicker, 4, true, true) then return end
@ -92,8 +120,7 @@ mobs:register_mob("mobs_animal:kitten", {
end
self.hairball_timer = 0
if self.child
or math.random(250) > 1 then
if self.child or math.random(250) > 1 then
return
end
@ -102,10 +129,7 @@ mobs:register_mob("mobs_animal:kitten", {
minetest.add_item(pos, "mobs:hairball")
minetest.sound_play("default_dig_snappy", {
pos = pos,
gain = 1.0,
max_hear_distance = 5
})
pos = pos, gain = 1.0, max_hear_distance = 5}, true)
end
})