forked from mtcontrib/mobs_animal
tidy code, add special kitten spawn
This commit is contained in:
parent
9c00204154
commit
f8ed1c08b6
36
kitten.lua
36
kitten.lua
|
@ -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
|
||||
})
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user