diff --git a/kitten.lua b/kitten.lua index 654db91..a2bb7ee 100644 --- a/kitten.lua +++ b/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 })