Fixed animal children crashing api
This commit is contained in:
parent
fb8243760b
commit
7a280aad1d
50
api.lua
50
api.lua
@ -1,4 +1,4 @@
|
|||||||
-- Mobs Api (27th July 2015)
|
-- Mobs Api (1st August 2015)
|
||||||
mobs = {}
|
mobs = {}
|
||||||
mobs.mod = "redo"
|
mobs.mod = "redo"
|
||||||
|
|
||||||
@ -20,7 +20,6 @@ function mobs:register_mob(name, def)
|
|||||||
do_custom = def.do_custom,
|
do_custom = def.do_custom,
|
||||||
jump_height = def.jump_height or 6,
|
jump_height = def.jump_height or 6,
|
||||||
jump_chance = def.jump_chance or 0,
|
jump_chance = def.jump_chance or 0,
|
||||||
--rotate = def.rotate or 0, -- 0=front, 1.5=side, 3.0=back, 4.5=side2
|
|
||||||
rotate = math.rad(def.rotate or 0), -- 0=front, 90=side, 180=back, 270=side2
|
rotate = math.rad(def.rotate or 0), -- 0=front, 90=side, 180=back, 270=side2
|
||||||
lifetimer = def.lifetimer or 180, -- 3 minutes
|
lifetimer = def.lifetimer or 180, -- 3 minutes
|
||||||
hp_min = def.hp_min or 5,
|
hp_min = def.hp_min or 5,
|
||||||
@ -255,7 +254,7 @@ function mobs:register_mob(name, def)
|
|||||||
-- fall damage
|
-- fall damage
|
||||||
if self.fall_damage == 1
|
if self.fall_damage == 1
|
||||||
and self.object:getvelocity().y == 0 then
|
and self.object:getvelocity().y == 0 then
|
||||||
local d = self.old_y - self.object:getpos().y
|
local d = (self.old_y or 0) - self.object:getpos().y
|
||||||
if d > 5 then
|
if d > 5 then
|
||||||
self.object:set_hp(self.object:get_hp() - math.floor(d - 5))
|
self.object:set_hp(self.object:get_hp() - math.floor(d - 5))
|
||||||
effect(self.object:getpos(), 5, "tnt_smoke.png")
|
effect(self.object:getpos(), 5, "tnt_smoke.png")
|
||||||
@ -491,11 +490,8 @@ function mobs:register_mob(name, def)
|
|||||||
self.object:set_properties({
|
self.object:set_properties({
|
||||||
textures = self.base_texture,
|
textures = self.base_texture,
|
||||||
mesh = self.base_mesh,
|
mesh = self.base_mesh,
|
||||||
visual_size = {
|
visual_size = self.base_size,
|
||||||
x = self.visual_size.x,
|
collisionbox = self.base_colbox,
|
||||||
y = self.visual_size.y
|
|
||||||
},
|
|
||||||
collisionbox = self.collisionbox,
|
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -535,17 +531,21 @@ function mobs:register_mob(name, def)
|
|||||||
mob:set_properties({
|
mob:set_properties({
|
||||||
textures = textures,
|
textures = textures,
|
||||||
visual_size = {
|
visual_size = {
|
||||||
x = self.visual_size.x / 2,
|
x = self.base_size.x / 2,
|
||||||
y = self.visual_size.y / 2
|
y = self.base_size.y / 2
|
||||||
},
|
},
|
||||||
collisionbox = {
|
collisionbox = {
|
||||||
self.collisionbox[1] / 2, self.collisionbox[2] / 2, self.collisionbox[3] / 2,
|
self.base_colbox[1] / 2,
|
||||||
self.collisionbox[4] / 2, self.collisionbox[5] / 2, self.collisionbox[6] / 2
|
self.base_colbox[2] / 2,
|
||||||
|
self.base_colbox[3] / 2,
|
||||||
|
self.base_colbox[4] / 2,
|
||||||
|
self.base_colbox[5] / 2,
|
||||||
|
self.base_colbox[6] / 2
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
ent2.child = true
|
ent2.child = true
|
||||||
ent2.tamed = true
|
ent2.tamed = true
|
||||||
ent2.following = ent -- follow mother
|
--ent2.following = ent -- follow mother
|
||||||
end)
|
end)
|
||||||
num = 0
|
num = 0
|
||||||
break
|
break
|
||||||
@ -1028,17 +1028,19 @@ end
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- select random texture, set model
|
-- select random texture, set model and size
|
||||||
if not self.base_texture then
|
if not self.base_texture then
|
||||||
self.base_texture = def.textures[math.random(1, #def.textures)]
|
self.base_texture = def.textures[math.random(1, #def.textures)]
|
||||||
self.base_mesh = def.mesh
|
self.base_mesh = def.mesh
|
||||||
|
self.base_size = self.visual_size
|
||||||
|
self.base_colbox = self.collisionbox
|
||||||
end
|
end
|
||||||
|
|
||||||
-- set texture, model and size
|
-- set texture, model and size
|
||||||
local textures = self.base_texture
|
local textures = self.base_texture
|
||||||
local mesh = self.base_mesh
|
local mesh = self.base_mesh
|
||||||
local vis_size = def.visual_size
|
local vis_size = self.base_size
|
||||||
local colbox = def.collisionbox
|
local colbox = self.base_colbox
|
||||||
|
|
||||||
-- specific texture if gotten
|
-- specific texture if gotten
|
||||||
if self.gotten == true
|
if self.gotten == true
|
||||||
@ -1055,19 +1057,19 @@ end
|
|||||||
-- if object is child then set half size
|
-- if object is child then set half size
|
||||||
if self.child == true then
|
if self.child == true then
|
||||||
vis_size = {
|
vis_size = {
|
||||||
x = def.visual_size.x / 2,
|
x = self.base_size.x / 2,
|
||||||
y = def.visual_size.y / 2
|
y = self.base_size.y / 2
|
||||||
}
|
}
|
||||||
if def.child_texture then
|
if def.child_texture then
|
||||||
textures = def.child_texture[1]
|
textures = def.child_texture[1]
|
||||||
end
|
end
|
||||||
colbox = {
|
colbox = {
|
||||||
def.collisionbox[1] / 2,
|
self.base_colbox[1] / 2,
|
||||||
def.collisionbox[2] / 2,
|
self.base_colbox[2] / 2,
|
||||||
def.collisionbox[3] / 2,
|
self.base_colbox[3] / 2,
|
||||||
def.collisionbox[4] / 2,
|
self.base_colbox[4] / 2,
|
||||||
def.collisionbox[5] / 2,
|
self.base_colbox[5] / 2,
|
||||||
def.collisionbox[6] / 2
|
self.base_colbox[6] / 2
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user