Add in chicken and chicken eggs
This commit is contained in:
parent
bfb749e695
commit
ff61cce037
@ -43,7 +43,7 @@ mobs.create_animation_functions = function(def,mob_register)
|
||||
local acceleration = vector.new(goal.x-currentvel.x,0,goal.z-currentvel.z)
|
||||
acceleration = vector.multiply(acceleration, 0.05)
|
||||
self.object:add_velocity(acceleration)
|
||||
self.object:set_animation({x=0,y=0}, 15, 0, true)
|
||||
self.object:set_animation(def.standing_frame, 15, 0, true)
|
||||
end
|
||||
end
|
||||
return(mob_register)
|
||||
|
@ -46,6 +46,7 @@ if def.head_bone then
|
||||
mob_register.head_rotation_offset = def.head_rotation_offset
|
||||
mob_register.head_position_correction = def.head_position_correction
|
||||
mob_register.head_coord = def.head_coord
|
||||
mob_register.flip_pitch = def.flip_pitch
|
||||
else
|
||||
print("create some other functions to turn mob " .. def.mobname)
|
||||
end
|
||||
|
@ -108,6 +108,9 @@ mobs.create_head_functions = function(def,mob_register)
|
||||
---begin pitch calculation
|
||||
--feed a 2D coordinate flipped into dir to yaw to calculate pitch
|
||||
head_rotation.x = degrees(minetest.dir_to_yaw(vector.new(vector.distance(vector.new(pos.x,0,pos.z),vector.new(pos2.x,0,pos2.z)),0,pos.y-pos2.y))+(math.pi/2))
|
||||
if self.flip_pitch then
|
||||
head_rotation.x = head_rotation.x * -1
|
||||
end
|
||||
head_rotation.z = head_yaw
|
||||
self.object:set_bone_position(self.head_bone, head_position, head_rotation)
|
||||
return(true)
|
||||
@ -194,6 +197,9 @@ mobs.create_head_functions = function(def,mob_register)
|
||||
---begin pitch calculation
|
||||
--feed a 2D coordinate flipped into dir to yaw to calculate pitch
|
||||
head_rotation.x = degrees(minetest.dir_to_yaw(vector.new(vector.distance(vector.new(pos.x,0,pos.z),vector.new(pos2.x,0,pos2.z)),0,pos.y-pos2.y))+(math.pi/2))
|
||||
if self.flip_pitch then
|
||||
head_rotation.x = head_rotation.x * -1
|
||||
end
|
||||
head_rotation.y = -head_yaw
|
||||
self.object:set_bone_position(self.head_bone, head_position, head_rotation)
|
||||
return(true)
|
||||
|
@ -79,7 +79,8 @@ mobs.create_timer_functions = function(def,mob_register)
|
||||
if self.friendly_in_daylight_timer >= 2 then
|
||||
self.friendly_in_daylight_timer = 0
|
||||
local pos = self.object:get_pos()
|
||||
if pos and minetest.get_node_light(pos) >= 13 then --1 greater than torch light
|
||||
local light = minetest.get_node_light(pos)
|
||||
if pos and light and light >= 13 then --1 greater than torch light
|
||||
if self.following == false then
|
||||
self.hostile = false
|
||||
end
|
||||
|
@ -75,6 +75,70 @@ mobs.register_mob(
|
||||
)
|
||||
|
||||
|
||||
mobs.register_mob(
|
||||
{
|
||||
mobname = "chicken",
|
||||
physical = true,
|
||||
collide_with_objects = false,
|
||||
collisionbox = {-0.225, 0, -0.225, 0.225, 0.675, 0.225},
|
||||
visual = "mesh",
|
||||
visual_size = {x = 3, y = 3},
|
||||
mesh = "chicken.b3d",
|
||||
textures = {
|
||||
--blank out the first two to create adult pig
|
||||
"chicken.png"
|
||||
},
|
||||
|
||||
--these are used to anchor a point to the head position
|
||||
|
||||
|
||||
-----
|
||||
head_bone = "head",
|
||||
debug_head_pos = false,
|
||||
rotational_correction = -math.pi/2,
|
||||
head_directional_offset = 0.2, --used in vector.multiply(minetest.yaw_to_dir(body_yaw),head_offset)
|
||||
head_height_offset = 0.82, --added to the base y position
|
||||
--use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
|
||||
head_position_correction = vector.new(0,1.8,-0.89),
|
||||
--this is used to tell the game the orientation of the bone (swaps x to and y, then z and y)
|
||||
head_coord = "vertical",
|
||||
flip_pitch = true,
|
||||
-----
|
||||
|
||||
is_visible = true,
|
||||
pointable = true,
|
||||
automatic_face_movement_dir = 90,
|
||||
automatic_face_movement_max_rotation_per_sec = 300,
|
||||
makes_footstep_sound = false,
|
||||
hp = 10,
|
||||
gravity = {x = 0, y = -9.81, z = 0},
|
||||
movement_type = "walk",
|
||||
max_speed = 5,
|
||||
state = 0,
|
||||
view_distance = 15,
|
||||
|
||||
item_drop = "mob:egg",
|
||||
standing_frame = {x=20,y=20},
|
||||
moving_frame = {x=0,y=20},
|
||||
animation_multiplier = 20,
|
||||
----
|
||||
----
|
||||
death_rotation = "z",
|
||||
|
||||
hurt_sound = "chicken_hurt",
|
||||
die_sound = "chicken_die",
|
||||
|
||||
|
||||
hostile = false,
|
||||
attacked_hostile = false,
|
||||
attack_type = "punch",
|
||||
group_attack = true,
|
||||
--explosion_radius = 4, -- how far away the mob has to be to initialize the explosion
|
||||
--explosion_power = 7, -- how big the explosion has to be
|
||||
--explosion_time = 3, -- how long it takes for a mob to explode
|
||||
}
|
||||
)
|
||||
|
||||
mobs.register_mob(
|
||||
{
|
||||
mobname = "snowman",
|
||||
@ -391,61 +455,6 @@ mobs.register_mob(
|
||||
)
|
||||
|
||||
--[[
|
||||
mobs.register_mob(
|
||||
{
|
||||
mobname = "flying_pig",
|
||||
physical = true,
|
||||
collide_with_objects = false,
|
||||
collisionbox = {-0.37, -0.4, -0.37, 0.37, 0.5, 0.37},
|
||||
visual = "mesh",
|
||||
visual_size = {x = 3, y = 3},
|
||||
mesh = "pig.x",
|
||||
textures = {
|
||||
"flying_pig_body.png","flying_pig_leg.png","flying_pig_leg.png","flying_pig_leg.png","flying_pig_leg.png"
|
||||
},
|
||||
is_visible = true,
|
||||
pointable = true,
|
||||
automatic_face_movement_dir = -90.0,
|
||||
automatic_face_movement_max_rotation_per_sec = 300,
|
||||
makes_footstep_sound = false,
|
||||
hp = 10,
|
||||
gravity = {x = 0, y = -1, z = 0},
|
||||
movement_type = "jump",
|
||||
max_speed = 5,
|
||||
hostile = true,
|
||||
state = 0,
|
||||
view_distance = 50,
|
||||
item_drop = "main:gold",
|
||||
item_minimum = 4,
|
||||
item_amount = 5,
|
||||
|
||||
standing_frame = {x=0,y=0},
|
||||
moving_frame = {x=5,y=15},
|
||||
animation_multiplier = 5,
|
||||
----
|
||||
|
||||
has_head = true, --remove this when mesh based head rotation is implemented
|
||||
head_visual = "mesh",
|
||||
head_visual_size = {x = 1.1, y = 1.1},
|
||||
head_mesh = "pig_head.x",
|
||||
head_textures ={"flying_pig_head.png","flying_pig_nose.png"},
|
||||
head_mount = vector.new(0,1.2,1.9),
|
||||
|
||||
death_rotation = "z",
|
||||
|
||||
hurt_sound = "pig",
|
||||
die_sound = "pig_die",
|
||||
|
||||
attack_type = "projectile",
|
||||
projectile_timer_cooldown = 5,
|
||||
projectile_type = "tnt:tnt",
|
||||
|
||||
--explosion_radius = 4, -- how far away the mob has to be to initialize the explosion
|
||||
--explosion_power = 7, -- how big the explosion has to be
|
||||
--explosion_time = 3, -- how long it takes for a mob to explode
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
|
||||
mobs.register_mob(
|
||||
|
@ -15,6 +15,13 @@ minetest.register_food("mob:cooked_porkchop",{
|
||||
})
|
||||
|
||||
|
||||
minetest.register_food("mob:egg",{
|
||||
description = "Egg",
|
||||
texture = "egg.png",
|
||||
satiation=1,
|
||||
hunger=3,
|
||||
})
|
||||
|
||||
minetest.register_craftitem("mob:slimeball", {
|
||||
description = "Slimeball",
|
||||
inventory_image = "slimeball.png",
|
||||
|
BIN
mods/mob/models/chicken.b3d
Normal file
BIN
mods/mob/models/chicken.b3d
Normal file
Binary file not shown.
@ -6,4 +6,5 @@ slimedie1 https://freesound.org/people/ipaghost/sounds/335796/
|
||||
slimedie2 https://freesound.org/people/Breviceps/sounds/445118/
|
||||
critical https://freesound.org/people/FunWithSound/sounds/361482/
|
||||
creeper hurt - https://freesound.org/people/adcbicycle/sounds/14199/
|
||||
spider - https://freesound.org/people/columbia23/sounds/395395/ Attribution 3.0 Unported (CC BY 3.0)
|
||||
spider - https://freesound.org/people/columbia23/sounds/395395/ Attribution 3.0 Unported (CC BY 3.0)
|
||||
chicken - https://freesound.org/people/Breviceps/sounds/456803/ cc0
|
BIN
mods/mob/sounds/chicken_die.1.ogg
Normal file
BIN
mods/mob/sounds/chicken_die.1.ogg
Normal file
Binary file not shown.
BIN
mods/mob/sounds/chicken_die.2.ogg
Normal file
BIN
mods/mob/sounds/chicken_die.2.ogg
Normal file
Binary file not shown.
BIN
mods/mob/sounds/chicken_hurt.1.ogg
Normal file
BIN
mods/mob/sounds/chicken_hurt.1.ogg
Normal file
Binary file not shown.
BIN
mods/mob/sounds/chicken_hurt.2.ogg
Normal file
BIN
mods/mob/sounds/chicken_hurt.2.ogg
Normal file
Binary file not shown.
BIN
mods/mob/sounds/chicken_hurt.3.ogg
Normal file
BIN
mods/mob/sounds/chicken_hurt.3.ogg
Normal file
Binary file not shown.
@ -1,3 +1,4 @@
|
||||
mob skins - 22i https://github.com/22i
|
||||
gunpowder, porkchop - https://github.com/minetest-texture-packs/Pixel-Perfection
|
||||
string, slimeball - oil_boi
|
||||
string, slimeball - oil_boi
|
||||
egg - Mineclone
|
BIN
mods/mob/textures/chicken.png
Normal file
BIN
mods/mob/textures/chicken.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 476 B |
BIN
mods/mob/textures/egg.png
Normal file
BIN
mods/mob/textures/egg.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
Loading…
x
Reference in New Issue
Block a user