-- Chicken by JK Murray mobs:register_mob("mobs:chicken", { -- animal, monster, npc, barbarian type = "animal", -- is it aggressive passive = true, -- health & armor hp_min = 4, hp_max = 8, armor = 200, -- textures and model collisionbox = {-0.3, -0.75, -0.3, 0.3, 0.1, 0.3}, visual = "mesh", mesh = "mobs_chicken.x", -- seems a lot of textures but this fixes the problem with the model textures = { {"mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png"}, {"mobs_chicken_black.png", "mobs_chicken_black.png", "mobs_chicken_black.png", "mobs_chicken_black.png", "mobs_chicken_black.png", "mobs_chicken_black.png", "mobs_chicken_black.png", "mobs_chicken_black.png", "mobs_chicken_black.png"}, }, child_texture = { {"mobs_chick.png", "mobs_chick.png", "mobs_chick.png", "mobs_chick.png", "mobs_chick.png", "mobs_chick.png", "mobs_chick.png", "mobs_chick.png", "mobs_chick.png"}, }, blood_texture = "mobs_blood.png", -- sounds makes_footstep_sound = true, sounds = { random = "mobs_chicken", }, -- speed and jump walk_velocity = 1, jump = true, -- drops raw chicken when dead drops = { {name = "mobs:chicken_raw", chance = 1, min = 2, max = 2}, }, -- damaged by water_damage = 1, lava_damage = 5, light_damage = 0, fall_damage = 0, fall_speed = -8, -- model animation animation = { speed_normal = 15, stand_start = 0, stand_end = 1, -- 20 walk_start = 20, walk_end = 40, }, -- follows wheat follow = "farming:seed_wheat", view_range = 8, replace_rate = 2000, replace_what = {"air"}, replace_with = "mobs:egg", on_rightclick = function(self, clicker) local tool = clicker:get_wielded_item() local name = clicker:get_player_name() if tool:get_name() == "farming:seed_wheat" then -- take item if not minetest.setting_getbool("creative_mode") then tool:take_item(1) clicker:set_wielded_item(tool) end -- make child grow quicker if self.child == true then self.hornytimer = self.hornytimer + 10 return end -- feed and tame self.food = (self.food or 0) + 1 if self.food > 7 then self.food = 0 if self.hornytimer == 0 then self.horny = true end self.tamed = true -- make owner if self.owner == "" then self.owner = name end minetest.sound_play("mobs_chicken", { object = self.object, gain = 1.0, max_hear_distance = 15, loop = false, }) end return end mobs:capture_mob(self, clicker, 30, 50, 80, false, nil) end, }) -- spawn on default or bamboo grass between 8 and 20 light, 1 in 10000 change, 1 chicken in area up to 31000 in height mobs:register_spawn("mobs:chicken", {"default:dirt_with_grass"}, 20, 8, 10000, 1, 31000) -- register spawn egg mobs:register_egg("mobs:chicken", "Chicken", "mobs_chicken_inv.png", 0) -- egg minetest.register_node("mobs:egg", { description = "Chicken Egg", tiles = {"mobs_chicken_egg.png"}, inventory_image = "mobs_chicken_egg.png", visual_scale = 0.7, drawtype = "plantlike", wield_image = "mobs_chicken_egg.png", paramtype = "light", walkable = false, is_ground_content = true, sunlight_propagates = true, selection_box = { type = "fixed", fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2} }, groups = {snappy=2, dig_immediate=3}, after_place_node = function(pos, placer, itemstack) if placer:is_player() then minetest.set_node(pos, {name="mobs:egg", param2=1}) end end }) -- fried egg minetest.register_craftitem("mobs:chicken_egg_fried", { description = "Fried Egg", inventory_image = "mobs_chicken_egg_fried.png", on_use = minetest.item_eat(2), }) minetest.register_craft({ type = "cooking", recipe = "mobs:egg", output = "mobs:chicken_egg_fried", }) -- chicken (raw and cooked) minetest.register_craftitem("mobs:chicken_raw", { description = "Raw Chicken", inventory_image = "mobs_chicken_raw.png", on_use = minetest.item_eat(2), }) -- cooked chicken minetest.register_craftitem("mobs:chicken_cooked", { description = "Cooked Chicken", inventory_image = "mobs_chicken_cooked.png", on_use = minetest.item_eat(4), -- Modif MFF }) minetest.register_craft({ type = "cooking", recipe = "mobs:chicken_raw", output = "mobs:chicken_cooked", })