1 --License for code WTFPL and otherwise stated in readmes
4 local MP
= minetest
.get_modpath(minetest
.get_current_modname())
5 local S
, NS
= dofile(MP
.."/intllib.lua")
8 --dofile(minetest.get_modpath("mobs").."/api.lua")
11 --################### CHICKEN
16 mobs
:register_mob("mobs_mc:chicken", {
21 collisionbox
= {-0.2, -0.01, -0.2, 0.2, 0.69, 0.2},
25 mesh
= "mobs_mc_chicken.b3d",
27 {"mobs_mc_chicken.png"},
29 visual_size
= {x
=2.2, y
=2.2},
31 makes_footstep_sound
= true,
34 {name
= mobs_mc
.items
.chicken_raw
,
38 {name
= mobs_mc
.items
.feather
,
49 random = "mobs_chicken",
50 -- TODO: death, damage
54 stand_speed
= 25, walk_speed
= 25, run_speed
= 50,
55 stand_start
= 0, stand_end
= 0,
56 walk_start
= 0, walk_end
= 40,
57 run_start
= 0, run_end
= 40,
60 follow
= mobs_mc
.follow
.chicken
,
64 on_rightclick
= function(self
, clicker
)
65 if mobs
:feed_tame(self
, clicker
, 1, true, true) then return end
66 if mobs
:protect(self
, clicker
) then return end
67 if mobs
:capture_mob(self
, clicker
, 0, 60, 5, false, nil) then return end
70 do_custom
= function(self
, dtime
)
72 self
.egg_timer
= (self
.egg_timer
or 0) + dtime
73 if self
.egg_timer
< 10 then
79 or math
.random(1, 100) > 1 then
83 local pos
= self
.object
:get_pos()
85 minetest
.add_item(pos
, mobs_mc
.items
.egg
)
87 minetest
.sound_play("mobs_mc_chicken_lay_egg", {
90 max_hear_distance
= 16,
97 mobs
:spawn_specific("mobs_mc:chicken", mobs_mc
.spawn
.grassland
, {"air"}, 9, minetest
.LIGHT_MAX
+1, 30, 17000, 3, mobs_mc
.spawn_height
.overworld_min
, mobs_mc
.spawn_height
.overworld_max
)
100 mobs
:register_egg("mobs_mc:chicken", S("Chicken"), "mobs_mc_spawn_icon_chicken.png", 0)
102 if minetest
.settings
:get_bool("log_mods") then
103 minetest
.log("action", "MC chicken loaded")