mirror of
https://codeberg.org/tenplus1/mobs_redo.git
synced 2025-01-13 11:20:22 +01:00
split remainder on_step into single function
This commit is contained in:
parent
58c757772f
commit
3e05bc7ec0
178
api.lua
178
api.lua
@ -1965,93 +1965,7 @@ local mob_activate = function(self, staticdata, dtime_s, def)
|
|||||||
update_tag(self)
|
update_tag(self)
|
||||||
end
|
end
|
||||||
|
|
||||||
mobs.spawning_mobs = {}
|
local mob_step = function(self, dtime)
|
||||||
|
|
||||||
-- register mob function
|
|
||||||
function mobs:register_mob(name, def)
|
|
||||||
|
|
||||||
mobs.spawning_mobs[name] = true
|
|
||||||
|
|
||||||
minetest.register_entity(name, {
|
|
||||||
|
|
||||||
stepheight = def.stepheight or 0.6,
|
|
||||||
name = name,
|
|
||||||
type = def.type,
|
|
||||||
attack_type = def.attack_type,
|
|
||||||
fly = def.fly,
|
|
||||||
fly_in = def.fly_in or "air",
|
|
||||||
owner = def.owner or "",
|
|
||||||
order = def.order or "",
|
|
||||||
on_die = def.on_die,
|
|
||||||
do_custom = def.do_custom,
|
|
||||||
jump_height = def.jump_height or 6,
|
|
||||||
jump_chance = def.jump_chance or 0,
|
|
||||||
drawtype = def.drawtype, -- DEPRECATED, use rotate instead
|
|
||||||
rotate = math.rad(def.rotate or 0), -- 0=front, 90=side, 180=back, 270=side2
|
|
||||||
lifetimer = def.lifetimer or 180, -- 3 minutes
|
|
||||||
hp_min = def.hp_min or 5,
|
|
||||||
hp_max = def.hp_max or 10,
|
|
||||||
physical = true,
|
|
||||||
collisionbox = def.collisionbox,
|
|
||||||
visual = def.visual,
|
|
||||||
visual_size = def.visual_size or {x = 1, y = 1},
|
|
||||||
mesh = def.mesh,
|
|
||||||
makes_footstep_sound = def.makes_footstep_sound or false,
|
|
||||||
view_range = def.view_range or 5,
|
|
||||||
walk_velocity = def.walk_velocity or 1,
|
|
||||||
run_velocity = def.run_velocity or 2,
|
|
||||||
damage = def.damage or 0,
|
|
||||||
light_damage = def.light_damage or 0,
|
|
||||||
water_damage = def.water_damage or 0,
|
|
||||||
lava_damage = def.lava_damage or 0,
|
|
||||||
fall_damage = def.fall_damage or 1,
|
|
||||||
fall_speed = def.fall_speed or -10, -- must be lower than -2 (default: -10)
|
|
||||||
drops = def.drops or {},
|
|
||||||
armor = def.armor,
|
|
||||||
on_rightclick = def.on_rightclick,
|
|
||||||
arrow = def.arrow,
|
|
||||||
shoot_interval = def.shoot_interval,
|
|
||||||
sounds = def.sounds or {},
|
|
||||||
animation = def.animation,
|
|
||||||
follow = def.follow,
|
|
||||||
jump = def.jump or true,
|
|
||||||
walk_chance = def.walk_chance or 50,
|
|
||||||
attacks_monsters = def.attacks_monsters or false,
|
|
||||||
group_attack = def.group_attack or false,
|
|
||||||
--fov = def.fov or 120,
|
|
||||||
passive = def.passive or false,
|
|
||||||
recovery_time = def.recovery_time or 0.5,
|
|
||||||
knock_back = def.knock_back or 3,
|
|
||||||
blood_amount = def.blood_amount or 5,
|
|
||||||
blood_texture = def.blood_texture or "mobs_blood.png",
|
|
||||||
shoot_offset = def.shoot_offset or 0,
|
|
||||||
floats = def.floats or 1, -- floats in water by default
|
|
||||||
replace_rate = def.replace_rate,
|
|
||||||
replace_what = def.replace_what,
|
|
||||||
replace_with = def.replace_with,
|
|
||||||
replace_offset = def.replace_offset or 0,
|
|
||||||
timer = 0,
|
|
||||||
env_damage_timer = 0, -- only used when state = "attack"
|
|
||||||
tamed = false,
|
|
||||||
pause_timer = 0,
|
|
||||||
horny = false,
|
|
||||||
hornytimer = 0,
|
|
||||||
child = false,
|
|
||||||
gotten = false,
|
|
||||||
health = 0,
|
|
||||||
reach = def.reach or 3,
|
|
||||||
htimer = 0,
|
|
||||||
child_texture = def.child_texture,
|
|
||||||
docile_by_day = def.docile_by_day or false,
|
|
||||||
time_of_day = 0.5,
|
|
||||||
fear_height = def.fear_height or 0,
|
|
||||||
runaway = def.runaway,
|
|
||||||
runaway_timer = 0,
|
|
||||||
pathfinding = def.pathfinding,
|
|
||||||
immune_to = def.immune_to or {},
|
|
||||||
explosion_radius = def.explosion_radius,
|
|
||||||
|
|
||||||
on_step = function(self, dtime)
|
|
||||||
|
|
||||||
local pos = self.object:getpos()
|
local pos = self.object:getpos()
|
||||||
local yaw = self.object:getyaw() or 0
|
local yaw = self.object:getyaw() or 0
|
||||||
@ -2159,7 +2073,95 @@ minetest.register_entity(name, {
|
|||||||
|
|
||||||
do_states(self, dtime)
|
do_states(self, dtime)
|
||||||
|
|
||||||
end,
|
end
|
||||||
|
|
||||||
|
mobs.spawning_mobs = {}
|
||||||
|
|
||||||
|
-- register mob function
|
||||||
|
function mobs:register_mob(name, def)
|
||||||
|
|
||||||
|
mobs.spawning_mobs[name] = true
|
||||||
|
|
||||||
|
minetest.register_entity(name, {
|
||||||
|
|
||||||
|
stepheight = def.stepheight or 0.6,
|
||||||
|
name = name,
|
||||||
|
type = def.type,
|
||||||
|
attack_type = def.attack_type,
|
||||||
|
fly = def.fly,
|
||||||
|
fly_in = def.fly_in or "air",
|
||||||
|
owner = def.owner or "",
|
||||||
|
order = def.order or "",
|
||||||
|
on_die = def.on_die,
|
||||||
|
do_custom = def.do_custom,
|
||||||
|
jump_height = def.jump_height or 6,
|
||||||
|
jump_chance = def.jump_chance or 0,
|
||||||
|
drawtype = def.drawtype, -- DEPRECATED, use rotate instead
|
||||||
|
rotate = math.rad(def.rotate or 0), -- 0=front, 90=side, 180=back, 270=side2
|
||||||
|
lifetimer = def.lifetimer or 180, -- 3 minutes
|
||||||
|
hp_min = def.hp_min or 5,
|
||||||
|
hp_max = def.hp_max or 10,
|
||||||
|
physical = true,
|
||||||
|
collisionbox = def.collisionbox,
|
||||||
|
visual = def.visual,
|
||||||
|
visual_size = def.visual_size or {x = 1, y = 1},
|
||||||
|
mesh = def.mesh,
|
||||||
|
makes_footstep_sound = def.makes_footstep_sound or false,
|
||||||
|
view_range = def.view_range or 5,
|
||||||
|
walk_velocity = def.walk_velocity or 1,
|
||||||
|
run_velocity = def.run_velocity or 2,
|
||||||
|
damage = def.damage or 0,
|
||||||
|
light_damage = def.light_damage or 0,
|
||||||
|
water_damage = def.water_damage or 0,
|
||||||
|
lava_damage = def.lava_damage or 0,
|
||||||
|
fall_damage = def.fall_damage or 1,
|
||||||
|
fall_speed = def.fall_speed or -10, -- must be lower than -2 (default: -10)
|
||||||
|
drops = def.drops or {},
|
||||||
|
armor = def.armor,
|
||||||
|
on_rightclick = def.on_rightclick,
|
||||||
|
arrow = def.arrow,
|
||||||
|
shoot_interval = def.shoot_interval,
|
||||||
|
sounds = def.sounds or {},
|
||||||
|
animation = def.animation,
|
||||||
|
follow = def.follow,
|
||||||
|
jump = def.jump or true,
|
||||||
|
walk_chance = def.walk_chance or 50,
|
||||||
|
attacks_monsters = def.attacks_monsters or false,
|
||||||
|
group_attack = def.group_attack or false,
|
||||||
|
--fov = def.fov or 120,
|
||||||
|
passive = def.passive or false,
|
||||||
|
recovery_time = def.recovery_time or 0.5,
|
||||||
|
knock_back = def.knock_back or 3,
|
||||||
|
blood_amount = def.blood_amount or 5,
|
||||||
|
blood_texture = def.blood_texture or "mobs_blood.png",
|
||||||
|
shoot_offset = def.shoot_offset or 0,
|
||||||
|
floats = def.floats or 1, -- floats in water by default
|
||||||
|
replace_rate = def.replace_rate,
|
||||||
|
replace_what = def.replace_what,
|
||||||
|
replace_with = def.replace_with,
|
||||||
|
replace_offset = def.replace_offset or 0,
|
||||||
|
timer = 0,
|
||||||
|
env_damage_timer = 0, -- only used when state = "attack"
|
||||||
|
tamed = false,
|
||||||
|
pause_timer = 0,
|
||||||
|
horny = false,
|
||||||
|
hornytimer = 0,
|
||||||
|
child = false,
|
||||||
|
gotten = false,
|
||||||
|
health = 0,
|
||||||
|
reach = def.reach or 3,
|
||||||
|
htimer = 0,
|
||||||
|
child_texture = def.child_texture,
|
||||||
|
docile_by_day = def.docile_by_day or false,
|
||||||
|
time_of_day = 0.5,
|
||||||
|
fear_height = def.fear_height or 0,
|
||||||
|
runaway = def.runaway,
|
||||||
|
runaway_timer = 0,
|
||||||
|
pathfinding = def.pathfinding,
|
||||||
|
immune_to = def.immune_to or {},
|
||||||
|
explosion_radius = def.explosion_radius,
|
||||||
|
|
||||||
|
on_step = mob_step,
|
||||||
|
|
||||||
on_punch = mob_punch,
|
on_punch = mob_punch,
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user