MineClone2/mods/ENTITIES/mcl_mobs/api.txt

759 lines
33 KiB
Plaintext
Raw Normal View History

2018-05-31 17:54:35 +02:00
Mobs Redo: MineClone 2 Edition
API documentation
==============================
2018-01-26 18:06:32 +01:00
2018-05-31 17:54:35 +02:00
Welcome to the world of mobs in Minetest and hopefully an easy guide to defining
2018-01-26 18:06:32 +01:00
your own mobs and having them appear in your worlds.
Registering Mobs
----------------
To register a mob and have it ready for use requires the following function:
mobs:register_mob(name, definition)
The 'name' of a mob usually starts with the mod name it's running from followed
by it's own name e.g.
"mobs_monster:sand_monster" or "mymod:totally_awesome_beast"
... and the 'definition' is a table which holds all of the settings and
functions needed for the mob to work properly which contains the following:
'nametag' contains the name which is shown above mob.
'type' holds the type of mob that inhabits your world e.g.
"animal" usually docile and walking around.
"monster" attacks player or npc on sight.
"npc" walk around and will defend themselves if hit first, they
kill monsters.
2019-10-02 18:28:28 +02:00
'hp_min' the minimum health value the mob can spawn with.
'hp_max' the maximum health value the mob can spawn with.
'breath_max' The maximum breath value the mob can spawn with and can have.
If -1 (default), mob does not take drowning damage.
'breathes_in_water' If true, mob loses breath when not in water. Otherwise,
mob loses breath when inside a node with `drowning` attribute
set (default: false).
'armor' entity armor groups (see lua_api.txt). If table, a list of
armor groups like for entities. If number, set value of
'fleshy' armor group only.
Note: The 'immortal=1' armor group will automatically be added
since this mod handles health and damage manually.
Default: 100 (mob will take full dmg from 'fleshy' hits)
2018-01-26 18:06:32 +01:00
'passive' when true allows animals to defend themselves when hit,
otherwise they amble onwards.
'walk_velocity' is the speed that your mob can walk around.
'run_velocity' is the speed your mob can run with, usually when attacking.
'walk_chance' has a 0-100 chance value your mob will walk from standing,
set to 0 for jumping mobs only.
'jump' when true allows your mob to jump updwards.
'jump_height' holds the height your mob can jump, 0 to disable jumping.
2018-03-31 00:18:40 +02:00
'stepheight' height of a block that your mob can easily walk up onto,
defaults to 0.6.
2018-01-26 18:06:32 +01:00
'fly' when true allows your mob to fly around instead of walking.
2020-01-30 16:52:07 +01:00
'fly_in' holds the node name or a table of node names in which the
mob flies (or swims) around in. The special name
'__airlike' stands for all nodes with 'walkable=false'
that are not liquids
2018-01-26 18:06:32 +01:00
'runaway' if true causes animals to turn and run away when hit.
'view_range' how many nodes in distance the mob can see a player.
'damage' how many health points the mob does to a player or another
mob when melee attacking.
2018-03-31 00:18:40 +02:00
'knock_back' when true has mobs falling backwards when hit, the greater
2018-01-26 18:06:32 +01:00
the damage the more they move back.
'fear_height' is how high a cliff or edge has to be before the mob stops
walking, 0 to turn off height fear.
'fall_speed' has the maximum speed the mob can fall at, default is -10.
'fall_damage' when true causes falling to inflict damage.
'water_damage' holds the damage per second infliced to mobs when standing in
water (default: 0).
2018-01-26 18:06:32 +01:00
'lava_damage' holds the damage per second inflicted to mobs when standing
2019-10-02 18:28:28 +02:00
in lava (default: 8).
'fire_damage' holds the damage per second inflicted to mobs when standing
in fire (default: 1).
2018-01-26 18:06:32 +01:00
'light_damage' holds the damage per second inflicted to mobs when it's too
bright (above 13 light).
2019-01-31 07:23:35 +01:00
'suffocation' when true causes mobs to suffocate inside solid blocks (2 damage per second).
2018-01-26 18:06:32 +01:00
'floats' when set to 1 mob will float in water, 0 has them sink.
'follow' mobs follow player when holding any of the items which appear
on this table, the same items can be fed to a mob to tame or
breed e.g. {"farming:wheat", "default:apple"}
'reach' is how far the mob can attack player when standing
nearby, default is 3 nodes.
'docile_by_day' when true has mobs wandering around during daylight
hours and only attacking player at night or when
provoked.
'attacks_monsters' when true has npc's attacking monsters or not.
2018-03-31 00:18:40 +02:00
'attack_animals' when true will have monsters attacking animals.
2018-01-26 18:06:32 +01:00
'owner_loyal' when true will have tamed mobs attack anything player
punches when nearby.
'group_attack' when true has same mob type grouping together to attack
offender.
[MCL2 extension:] When a table, this is a list of
mob types that will get alerted as well (besides same mob type)
2018-01-26 18:06:32 +01:00
'attack_type' tells the api what a mob does when attacking the player
or another mob:
'dogfight' is a melee attack when player is within mob reach.
'shoot' has mob shoot pre-defined arrows at player when inside
view_range.
'dogshoot' has melee attack when inside reach and shoot attack
when inside view_range.
2018-03-31 00:18:40 +02:00
'explode' causes mob to stop and explode when inside reach.
'explosion_radius' the radius of explosion node destruction,
defaults to 1
'explosion_damage_radius' the radius of explosion entity & player damage,
defaults to explosion_radius * 2
'explosion_timer' number of seconds before mob explodes while its target
is still inside reach or explosion_damage_radius,
defaults to 3.
'explosiontimer_reset_radius' The distance you must travel before the timer will be reset.
2018-03-31 00:18:40 +02:00
'allow_fuse_reset' Allow 'explode' attack_type to reset fuse and resume
chasing if target leaves the blast radius or line of
sight. Defaults to true.
'stop_to_explode' When set to true (default), mob must stop and wait for
explosion_timer in order to explode. If false, mob will
continue chasing.
2018-01-26 18:06:32 +01:00
'arrow' holds the pre-defined arrow object to shoot when
attacking.
'dogshoot_switch' allows switching between attack types by using timers
(1 for shoot, 2 for dogfight)
'dogshoot_count_max' contains how many seconds before switching from
dogfight to shoot.
2018-03-31 00:18:40 +02:00
'dogshoot_count2_max' contains how many seconds before switching from shoot
2018-01-26 18:06:32 +01:00
to dogfight.
'shoot_interval' has the number of seconds between shots.
'shoot_offset' holds the y position added as to where the
arrow/fireball appears on mob.
'specific_attack' has a table of entity names that mob can also attack
e.g. {"player", "mobs_animal:chicken"}.
'runaway_from' contains a table with mob names to run away from, add
"player" to list to runaway from player also.
'pathfinding' set to 1 for mobs to use pathfinder feature to locate
player, set to 2 so they can build/break also (only
works with dogfight attack and when 'mobs_griefing'
in minetest.conf is not false).
'immune_to' is a table that holds specific damage when being hit by
certain items e.g.
{"default:sword_wood", 0} -- causes no damage.
{"default:gold_lump", -10} -- heals by 10 health points.
{"default:coal_block", 20} -- 20 damage when hit on head with coal blocks.
'makes_footstep_sound' when true you can hear mobs walking.
'sounds' this is a table with sounds of the mob
'distance' maximum distance sounds can be heard, default is 10.
'base_pitch' base pitch to use adult mobs, default is 1.0 (MCL2 extension)
2019-01-31 06:31:04 +01:00
'random' played randomly from time to time.
also played for overfeeding animal.
2020-12-05 23:37:12 +01:00
'eat' played when mob eats something
2019-01-31 07:57:03 +01:00
'war_cry' what you hear when mob starts to attack player. (currently disabled)
2018-01-26 18:06:32 +01:00
'attack' what you hear when being attacked.
'shoot_attack' sound played when mob shoots.
'damage' sound heard when mob is hurt.
'death' played when mob is killed.
2019-01-31 02:44:05 +01:00
'jump' played when mob jumps. There's a built-in cooloff timer to avoid sound spam
'flop' played when mob flops (like a stranded fish)
2018-03-31 00:18:40 +02:00
'fuse' sound played when mob explode timer starts.
2018-01-26 18:06:32 +01:00
'explode' sound played when mob explodes.
Note: For all sounds except fuse and explode, the pitch is slightly randomized from the base pitch
The pitch of children is 50% higher.
2018-01-26 18:06:32 +01:00
'drops' table of items that are dropped when mob is killed, fields are:
'name' name of item to drop.
'chance' chance of drop, 1 for always, 2 for 1-in-2 chance etc.
'min' minimum number of items dropped.
'max' maximum number of items dropped.
'visual' holds the look of the mob you wish to create:
'cube' looks like a normal node
'sprite' sprite which looks same from all angles.
'upright_sprite' flat model standing upright.
'wielditem' how it looks when player holds it in hand.
'mesh' uses separate object file to define mob.
'visual_size' has the size of the mob, defaults to {x = 1, y = 1}
2018-03-31 00:18:40 +02:00
'collisionbox' has the box in which mob can be interacted with the
2020-01-06 14:49:44 +01:00
world e.g. {-0.5, -0.5, -0.5, 0.5, 0.8, 0.5}.
NOTE: Due to a workaround, the upper Y coordinate will be forced
to a minimum value of 0.79.
2018-03-31 00:18:40 +02:00
'selectionbox' has the box in which player can interact with mob
2018-01-26 18:06:32 +01:00
'textures' holds a table list of textures to be used for mob, or you
could use multiple lists inside another table for random
selection e.g. { {"texture1.png"}, {"texture2.png"} }
'child_texture' holds the texture table for when baby mobs are used.
'gotten_texture' holds the texture table for when self.gotten value is
true, used for milking cows or shearing sheep.
'mesh' holds the name of the external object used for mob model
e.g. "mobs_cow.b3d"
'gotten_mesh" holds the name of the external object used for when
self.gotten is true for mobs.
'rotate' custom model rotation, 0 = front, 90 = side, 180 = back,
270 = other side.
'double_melee_attack' when true has the api choose between 'punch' and
'punch2' animations.
'animation' holds a table containing animation names and settings for use with mesh models:
'stand_start' start frame for when mob stands still.
'stand_end' end frame of stand animation.
'stand_speed' speed of animation in frames per second.
'walk_start' when mob is walking around.
'walk_end'
'walk_speed'
'run_start' when a mob runs or attacks.
'run_end'
'run_speed'
'fly_start' when a mob is flying.
'fly_end'
'fly_speed'
'punch_start' when a mob melee attacks.
'punch_end'
'punch_speed'
'punch2_start' alternative melee attack animation.
'punch2_end'
'punch2_speed'
'shoot_start' shooting animation.
'shoot_end'
'shoot_speed'
'die_start' death animation
'die_end'
'die_speed'
'die_loop' when set to false stops the animation looping.
Using '_loop = false' setting will stop any of the above animations from
looping.
'speed_normal' is used for animation speed for compatibility with some
older mobs.
'pushable' Allows players, & other mobs to push the mob.
2018-01-26 18:06:32 +01:00
MineClone 2 extensions:
2020-04-11 02:46:03 +02:00
'spawn_class' Classification of mod for the spawning algorithm:
"hostile", "passive", "ambient" or "water"
'ignores_nametag' if true, mob cannot be named by nametag
2018-05-30 12:01:53 +02:00
'rain_damage' damage per second if mob is standing in rain (default: 0)
'sunlight_damage' holds the damage per second inflicted to mobs when they
are in direct sunlight
'spawn_small_alternative': name of a smaller mob to use as replacement if
spawning fails due to space requirements
2019-03-08 03:40:46 +01:00
'glow' same as in entity definition
2019-03-08 23:52:41 +01:00
'child' if true, spawn mob as child
2019-12-09 09:29:19 +01:00
'shoot_arrow(self, pos, dir)' function that is called when mob wants to shoot an arrow.
You can spawn your own arrow here. pos is mob position,
dir is mob's aiming direction
2019-12-09 12:17:51 +01:00
'sounds_child' same as sounds, but for childs. If not defined, childs will use same
sound as adults but with higher pitch
'follow_velocity' The speed at which a mob moves toward the player when they're holding the appropriate follow item.
2020-12-05 14:42:03 +01:00
'instant_death' If true, mob dies instantly (no death animation or delay) (default: false)
2020-12-06 15:46:42 +01:00
'xp_min' the minimum XP it drops on death (default: 0)
'xp_max' the maximum XP it drops on death (default: 0)
'fire_resistant' If true, the mob can't burn
'fire_damage_resistant' If true the mob will not take damage when burning
'ignited_by_sunlight' If true the mod will burn at daytime. (Takes sunlight_damage per second)
2020-12-06 15:46:42 +01:00
2018-01-26 18:06:32 +01:00
Node Replacement
----------------
Mobs can look around for specific nodes as they walk and replace them to mimic
eating.
'replace_what' group of items to replace e.g.
{"farming:wheat_8", "farming:carrot_8"}
or you can use the specific options of what, with and
y offset by using this instead:
{
{"group:grass", "air", 0},
{"default:dirt_with_grass", "default:dirt", -1}
}
'replace_with' replace with what e.g. "air" or in chickens case "mobs:egg"
'replace_rate' how random should the replace rate be (typically 10)
'replace_offset' +/- value to check specific node to replace
'on_replace(self, pos, oldnode, newnode)'
is called when mob is about to replace a node. Also called
when not actually replacing due to mobs_griefing setting being false.
2018-01-26 18:06:32 +01:00
'self' ObjectRef of mob
'pos' Position of node to replace
'oldnode' Current node
'newnode' What the node will become after replacing
If false is returned, the mob will not replace the node.
By default, replacing sets self.gotten to true and resets the object
properties.
Custom Definition Functions
---------------------------
Along with the above mob registry settings we can also use custom functions to
enhance mob functionality and have them do many interesting things:
2020-12-05 04:33:23 +01:00
'on_die' a function that is called when the mob is killed; the
parameters are (self, pos). Return true to skip the builtin
death animation and death effects
2018-01-26 18:06:32 +01:00
'on_rightclick' its same as in minetest.register_entity()
'on_blast' is called when an explosion happens near mob when using TNT
functions, parameters are (object, damage) and returns
(do_damage, do_knockback, drops)
'on_spawn' is a custom function that runs on mob spawn with 'self' as
variable, return true at end of function to run only once.
'after_activate' is a custom function that runs once mob has been activated
with these paramaters (self, staticdata, def, dtime)
'on_breed' called when two similar mobs breed, paramaters are
(parent1, parent2) objects, return false to stop child from
being resized and owner/tamed flags and child textures being
applied. Function itself must spawn new child mob.
'on_grown' is called when a child mob has grown up, only paramater is
(self).
'do_punch' called when mob is punched with paramaters (self, hitter,
time_from_last_punch, tool_capabilities, direction), return
false to stop punch damage and knockback from taking place.
'custom_attack' when set this function is called instead of the normal mob
melee attack, parameters are (self, to_attack).
'on_die' a function that is called when mob is killed (self, pos)
'do_custom' a custom function that is called every tick while mob is
active and which has access to all of the self.* variables
e.g. (self.health for health or self.standing_in for node
status), return with 'false' to skip remainder of mob API.
Internal Variables
------------------
The mob api also has some preset variables and functions that it will remember
for each mob.
'self.health' contains current health of mob (cannot exceed
self.hp_max)
2019-10-02 18:28:28 +02:00
'self.breath' contains current breath of mob, if mob takes drowning
damage at all (cannot exceed self.breath_max). Breath
decreases by 1 each second while in a node with drowning
damage and increases by 1 each second otherwise.
2018-01-26 18:06:32 +01:00
'self.texture_list' contains list of all mob textures
'self.child_texture' contains mob child texture when growing up
'self.base_texture' contains current skin texture which was randomly
selected from textures list
2019-09-10 17:14:34 +02:00
'self.gotten' this is used to track whether some special item has been
gotten from the mob, for example, wool from sheep.
Initialized as false, and the mob must set this value
manually.
2018-01-26 18:06:32 +01:00
'self.horny' when animal fed enough it is set to true and animal can
breed with same animal
'self.hornytimer' background timer that controls breeding functions and
mob childhood timings
'self.child' used for when breeding animals have child, will use
child_texture and be half size
'self.owner' string used to set owner of npc mobs, typically used for
dogs
'self.order' set to "follow" or "stand" so that npc will follow owner
or stand it's ground
2020-12-05 02:17:39 +01:00
'self.state' Current mob state.
"stand": no movement (except turning around)
"walk": walk or move around aimlessly
"attack": chase and attack enemy
"runaway": flee from target
"flop": bounce around aimlessly
(for swimming mobs that have stranded)
"die": during death
2018-01-26 18:06:32 +01:00
'self.nametag' contains the name of the mob which it can show above
Spawning Mobs in World
----------------------
mobs:register_spawn(name, nodes, max_light, min_light, chance,
active_object_count, max_height, day_toggle)
mobs:spawn_specfic(name, nodes, neighbors, min_light, max_light, interval,
chance, active_object_count, min_height, max_height, day_toggle, on_spawn)
These functions register a spawn algorithm for the mob. Without this function
the call the mobs won't spawn.
'name' is the name of the animal/monster
'nodes' is a list of nodenames on that the animal/monster can
spawn on top of
'neighbors' is a list of nodenames on that the animal/monster will
spawn beside (default is {"air"} for
mobs:register_spawn)
'max_light' is the maximum of light
'min_light' is the minimum of light
'interval' is same as in register_abm() (default is 30 for
mobs:register_spawn)
'chance' is same as in register_abm()
'active_object_count' number of this type of mob to spawn at one time inside
map area
'min_height' is the minimum height the mob can spawn
'max_height' is the maximum height the mob can spawn
'day_toggle' true for day spawning, false for night or nil for
anytime
'on_spawn' is a custom function which runs after mob has spawned
and gives self and pos values.
A simpler way to handle mob spawns has been added with the mobs:spawn(def)
command which uses above names to make settings clearer:
mobs:spawn({name = "mobs_monster:tree_monster",
nodes = {"group:leaves"},
max_light = 7,
})
2018-01-26 18:06:32 +01:00
For each mob that spawns with this function is a field in mobs.spawning_mobs.
It tells if the mob should spawn or not. Default is true. So other mods can
only use the API of this mod by disabling the spawning of the default mobs in
this mod.
2018-03-31 00:18:40 +02:00
mobs:spawn_abm_check(pos, node, name)
This global function can be changed to contain additional checks for mobs to
spawn e.g. mobs that spawn only in specific areas and the like. By returning
true the mob will not spawn.
'pos' holds the position of the spawning mob
'node' contains the node the mob is spawning on top of
'name' is the name of the animal/monster
2018-05-30 12:56:39 +02:00
MineClone 2 extensions
----------------------
mobs:spawn_child(pos, mob_type)
This function spawns a mob as a child. The parameter mob_type is the
entitystring of the new mob.
This function returns the mob on success and nil otherwise.
2020-08-19 18:31:45 +02:00
mobs:death_effect(pos, collisionbox)
Create death particles at pos with the given collisionbox.
2018-05-30 12:56:39 +02:00
2018-01-26 18:06:32 +01:00
Making Arrows
-------------
mobs:register_arrow(name, definition)
This function registers a arrow for mobs with the attack type shoot.
2018-01-26 18:06:32 +01:00
'name' is the name of the arrow
'definition' is a table with the following values:
'visual' same is in minetest.register_entity()
'visual_size' same is in minetest.register_entity()
'textures' same is in minetest.register_entity()
'velocity' the velocity of the arrow
'drop' if set to true any arrows hitting a node will drop as item
'hit_player' a function that is called when the arrow hits a player;
this function should hurt the player, the parameters are
(self, player)
'hit_mob' a function that is called when the arrow hits a mob;
this function should hurt the mob, the parameters are
2019-02-08 22:44:26 +01:00
(self, mob)
2020-01-30 23:11:16 +01:00
'hit_object' a function that is called when the arrow hits an object
that is neither a player nor a mob. this function should
hurt the object, the parameters are (self, object)
2018-01-26 18:06:32 +01:00
'hit_node' a function that is called when the arrow hits a node, the
parameters are (self, pos, node)
'tail' when set to 1 adds a trail or tail to mob arrows
'tail_texture' texture string used for above effect
'tail_size' has size for above texture (defaults to between 5 and 10)
'expire' contains float value for how long tail appears for
(defaults to 0.25)
'glow' has value for how brightly tail glows 1 to 10 (default is
0 for no glow)
'rotate' integer value in degrees to rotate arrow
'on_step' is a custom function when arrow is active, nil for
default.
Spawn Eggs
----------
2017-07-05 01:52:39 +02:00
mobs:register_egg(name, description, background, addegg, no_creative)
This function registers a spawn egg which can be used by admin to properly spawn in a mob.
2018-01-26 18:06:32 +01:00
'name' this is the name of your new mob to spawn e.g. "mob:sheep"
'description' the name of the new egg you are creating e.g. "Spawn Sheep"
'background' the texture displayed for the egg in inventory
'addegg' would you like an egg image in front of your texture (1 = yes,
0 = no)
'no_creative' when set to true this stops spawn egg appearing in creative
mode for destructive mobs like Dungeon Masters.
2018-01-26 18:06:32 +01:00
Explosion Function
------------------
2017-07-25 04:30:23 +02:00
mobs:boom(self, pos, radius)
2018-01-26 18:06:32 +01:00
'self' mob entity
'pos' centre position of explosion
'radius' radius of explosion (typically set to 3)
2018-01-26 18:06:32 +01:00
This function generates an explosion which removes nodes in a specific radius
and damages any entity caught inside the blast radius. Protection will limit
node destruction but not entity damage.
2018-01-26 18:06:32 +01:00
Feeding and Taming/Breeding
---------------------------
2017-07-05 01:52:39 +02:00
mobs:feed_tame(self, clicker, feed_count, breed, tame)
2018-01-26 18:06:32 +01:00
This function allows the mob to be fed the item inside self.follow be it apple,
wheat or whatever a set number of times and be tamed or bred as a result.
Will return true when mob is fed with item it likes.
'self' mob information
'clicker' player information
'feed_count' number of times mob must be fed to tame or breed
'breed' true or false stating if mob can be bred and a child created
afterwards
'tame' true or false stating if mob can be tamed so player can pick
them up
2018-01-26 18:06:32 +01:00
Riding Mobs
-----------
Mobs can now be ridden by players and the following shows its functions and
usage:
2017-05-25 10:33:19 +02:00
mobs:attach(self, player)
This function attaches a player to the mob so it can be ridden.
2018-01-26 18:06:32 +01:00
'self' mob information
'player' player information
2017-05-25 10:33:19 +02:00
mobs:detach(player, offset)
2018-01-26 18:06:32 +01:00
This function will detach the player currently riding a mob to an offset
position.
2017-05-25 10:33:19 +02:00
2018-01-26 18:06:32 +01:00
'player' player information
'offset' position table containing offset values
2017-05-25 10:33:19 +02:00
mobs:drive(self, move_animation, stand_animation, can_fly, dtime)
2018-01-26 18:06:32 +01:00
This function allows an attached player to move the mob around and animate it at
same time.
2017-05-25 10:33:19 +02:00
2018-01-26 18:06:32 +01:00
'self' mob information
'move_animation' string containing movement animation e.g. "walk"
'stand_animation' string containing standing animation e.g. "stand"
'can_fly' if true then jump and sneak controls will allow mob to fly
up and down
'dtime' tick time used inside drive function
2017-05-25 10:33:19 +02:00
mobs:fly(self, dtime, speed, can_shoot, arrow_entity, move_animation, stand_animation)
2018-01-26 18:06:32 +01:00
This function allows an attached player to fly the mob around using directional
controls.
2017-05-25 10:33:19 +02:00
2018-01-26 18:06:32 +01:00
'self' mob information
'dtime' tick time used inside fly function
'speed' speed of flight
'can_shoot' true if mob can fire arrow (sneak and left mouse button
fires)
'arrow_entity' name of arrow entity used for firing
'move_animation' string containing name of pre-defined animation e.g. "walk"
or "fly" etc.
'stand_animation' string containing name of pre-defined animation e.g.
"stand" or "blink" etc.
2017-07-05 01:52:39 +02:00
2018-01-26 18:06:32 +01:00
Note: animation names above are from the pre-defined animation lists inside mob
registry without extensions.
2017-07-05 01:52:39 +02:00
Merge NEW MOBS by @jordan4ibanez from `mineclone5` branch commit cd472337985d6e885eef019185f0965d13148e7f Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 22:02:20 2021 -0400 Fix rabbit rotation commit 0f4628db09d68f69a997f98dcd462f29e7ecbe06 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 20:48:42 2021 -0400 Bring mob spawning variable to the top of the spawning.lua file so it's easier to find commit ddb33acf0d85f29dddb8bdab7a3a7030f9f595be Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 20:46:45 2021 -0400 Add in unused head code elements commit e52aab45c07c22605993126c4a8ba39c8318d904 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 20:23:46 2021 -0400 Implement no-op head operations for enderman commit ac852309388e1f9a7dec294440975c7dc89e498c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 20:08:45 2021 -0400 Add in chicken head code with additional pitch modifier commit f57c4709ac74d1e2b0b683bebc706a1a3e59db73 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 19:54:11 2021 -0400 Comment out code that causes mobs to glitch push players in mcl_playerplus commit b6c9a1c423a9831cb3684e6a7e1b57163d6d4ab4 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 19:51:11 2021 -0400 Fix creeper head commit a8152760b96ca3a9f142b006d2d888da0ebeff6a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 19:44:15 2021 -0400 Integrate more switches into internal api elements of head code commit 6a38198e97fd0b573b3b9e590177977d900d5b14 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 18:24:10 2021 -0400 Add in swap_y_with_x and reverse_head_yaw to flesh out head code api element commit d28e81bc9fc1f11b10da524d6874e8e1ee4a956d Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 17:54:14 2021 -0400 Add in mobs look pitch commit 5a2773ea1abb6c8706c477802aae2fa60704714c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 17:48:41 2021 -0400 Add in basics of head code yaw commit 555935ff3d35d4ac28dad42f5facac0bbfe9b1c9 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 16:43:23 2021 -0400 Implement basic fall damage commit 7e3b69348e405425712cf8196907a913be10b62e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 16:11:45 2021 -0400 Add secondary existence check after main logic has been executed to prevent future crashes commit c898e1e4db3b866ddc4ff391ff89798397775fbf Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 15:59:00 2021 -0400 Update sheep.lua commit 9b5c9dc8ae9d1221340d1c72e4f48f3212a07fb7 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 04:31:48 2021 -0400 Make farmable mobs/food mobs a lot less rare commit 5e6653ff651a65e6bfc4057cb5de39f09e9b9cca Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 04:19:02 2021 -0400 Implement mob cramming commit 1616cb7538141cd38485b4bf59a7b8b049ddd3f0 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 04:09:35 2021 -0400 Fix nametags commit a3ff108cd4b71cd823518eae0186cbf1d819267e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 04:03:06 2021 -0400 Make mobs walk up stairs/slabs properly, yet not glitch out when jumping over solid nodes commit df364eed286fced64f3c4bff897fcfe91a9dd540 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 01:45:35 2021 -0400 Implement basics of head movement and fix walking mobs flying away after floating commit bac191293bc23405bfc02ef0795f0296fdaeb95a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 01:45:03 2021 -0400 Fix clientside guessing making floating go crazy client side commit b7c7c2627beba086c922df0a20939b67ae1eb464 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 01:44:46 2021 -0400 Fix parrots not drowning commit 38c22f277db652226ce9911e8bffbb8e8b8bc398 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 01:24:19 2021 -0400 Add pop sound when baby mob is born commit f83ccdb2ed5974486a030196f9b31d0490dcdff3 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 01:22:43 2021 -0400 Add in breeding and feeding baby mob sounds commit 7733e05a120cb07ed37c351956c1f451da3658b1 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 01:14:48 2021 -0400 Add in random sounds/hurt/death sounds and stop mobs from reviving on server restart again commit 0a380265c888c64386406187b34914438cdff161 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 00:16:54 2021 -0400 Fix dead-alive mobs and add in hurt/die sound commit 8d3eff0c16abeff9fbce2f9d4af2b64931765696 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 00:06:12 2021 -0400 Enable mob drowning commit 56086bf02be689ba83ba3ccf4858429ad4d6a10b Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 23:33:46 2021 -0400 Fix villager commit 079811984cd952714e6cf85297c91830c0790a1d Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 23:29:56 2021 -0400 Make every mob besides spiders get slowed down by cobwebs like players commit 7e8e63b0e37300b16a4556aa45758d737514316e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 23:15:40 2021 -0400 If mob is in daylight and ignites_in_daylight = true, make mob burn commit 49b01dca4fcea165314c1548f6c3e673a5de0bd3 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 22:28:26 2021 -0400 Make mobs drop xp on death commit 3d5cceab76768e360e3ea958c71bcf79e9cc2eec Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 22:21:58 2021 -0400 Fix ghast strange behavior in the nether commit a73e5b57c02275a37b98dc9c80cf35a8c782d9f7 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 22:14:25 2021 -0400 Make pitch movement for fly/swim mobs more dynamic and make ghasts randomly fly around when attacking commit b401b50c045830386c1c06c22be2232bda3e5b61 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 21:15:42 2021 -0400 Give mobs 6 seconds of memory to prevent strange behavior when player hides behind something commit 807fb6966d747550da276b264e8e3bf376b332ab Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 20:27:37 2021 -0400 Make spiders climb up walls, fix problems with mob following freaking out when under, fix spider collisionbox commit 11b5684a90a7779986b5685d899a55a606922a0f Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 20:05:14 2021 -0400 Remove wolf-dog shift click breeding, and implement better logic commit 41bfaae370729b7409d5dea2cc65a6f5c83979ac Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 20:02:59 2021 -0400 Allow putting chest on carpeted llama by owner, enable swapping carpets commit 8c855f5b0955ebce15a1aaf4c17e407b5cad7ae8 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 19:29:37 2021 -0400 Add in llama carpets commit e0185a93113136862b24ad06bea75f1b2e24901f Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 18:43:17 2021 -0400 Fix pig logic issue commit c2cb15a47f75674afaac721217384c8d7ead1c57 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 18:36:22 2021 -0400 Fix horse breeding commit 39f7d0cf3cc7d33d786761376a035a31e434434f Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 18:18:53 2021 -0400 Update api.txt commit 3e9bbca91400e0f587aef13df1ece7d8071b188a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 18:06:24 2021 -0400 Fix enderman crashing commit 81713a342d8038c2b51140dbd4bc00f1440b73e8 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:38:50 2021 -0400 Allow tamed wolves to be shift click bred commit a27e6731cd97a1e41861d8a2acbdd4d2d530c220 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:29:30 2021 -0400 Make sheep breedable commit efce97c1723ac25e9dabdfd9572781a6d50f0821 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:27:17 2021 -0400 Make llamas shift click breedable commit 53c96cae2d28c3a6f4642b8a6d5b72365d32267d Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:26:45 2021 -0400 Make pigs shift click breedable commit dbe712bc17cc875c5e9b4b1a919880b0f6893ea1 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:23:33 2021 -0400 Make llama breedable commit 0d4d85bac6b3412a2fec3f01ebc5b3ff6c294173 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:19:41 2021 -0400 Fix horse literally blinding you following you commit 6f2e2ab4c57fe651dd90b4897e4f10673da1de3a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:17:22 2021 -0400 Make chicken breedable commit 3649e5f6f50c917e3c29bbd0b95327e3667ae1ef Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:17:09 2021 -0400 Make horse breedable commit 2dab0773dffd40cb166c8a14ad79035ac898d4dc Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:00:21 2021 -0400 Remove unused breedable api call commit 0568c14a435e663dccc1a42ae999a76d0936f153 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 23:59:35 2021 -0400 Fix timer and make mooshroom breedable commit 531253008a13559cdab63f420e9d35c78b382c95 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 23:56:59 2021 -0400 Complete mob breeding, make cows breedable commit 79cb6ddc4923ea8a009b2810efe785cf3720c63f Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 22:35:35 2021 -0400 Fix lua locals in environment.lua commit 6eb3eef21561ddf2091682f3703fa9a23e35915e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 22:34:40 2021 -0400 Fix typo in function commit c37a82d4a2589d372f88b5101918858c2d210e57 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 22:03:29 2021 -0400 Add comments commit ed9d629b99a9f873cebfa8e45239271a81a8025c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 21:59:42 2021 -0400 Add in mob following for cows commit fcfd6b9d19bbc1e894b8dafed490e04102c87878 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 21:14:23 2021 -0400 Set up basics for breeding mechanics commit 5ee6cf6c9b3b9da36830c8a58f105d289dfbe54c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 19:49:35 2021 -0400 Implement mob despawner/mob limiter commit 19c8dd1dd48532bfb07eac133cd11b702ad74de7 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 18:41:41 2021 -0400 Stop hostile mobs from falling through water when stunned commit 31ded5e40fc97a7afd252fd74154183afaf1f568 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 18:34:20 2021 -0400 Re-implement neutral mob switch commit 13c321e8f2c8cb43460093852d44ddae7edec0c1 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 18:03:01 2021 -0400 Re-enable mob spawning commit ea6912c980952bed2a0b5e62009e0a2639d75d75 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 17:44:49 2021 -0400 Don't do knockback effect for mobs when hurt by a rider commit 8dafac50a865f189074272303b83f37391c11c3c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 17:37:20 2021 -0400 Make mobs run away slightly faster commit 3560bda4a5a8be026c5d50eb8ddeca9ed45e0b8e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 17:29:23 2021 -0400 Remove unused code and variables from mob punch commit 9720986c4d30bf8fcd2cf1117d80eea06da5332a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 17:27:08 2021 -0400 Fix punching a mob breaking it's velocity commit dc7592528cf948556e4e925310e830648b52dff1 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 17:23:00 2021 -0400 Add red tint hurt effect commit 304cbed447adbcccff246f242d18d51fc010df35 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 17:12:02 2021 -0400 Make mobs that should be skittish, skittish commit af4c42fea7112ada76fd9b273f771611532bdcf9 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 17:10:44 2021 -0400 Add skittish behavior (runaway from punch) and fix ocelot commit 8daf197fb899a0bee8f61aad4ccedec1108f5f92 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 16:52:07 2021 -0400 Fix iron golem rotation commit c138050e0b877f5dc987959efe4acbe17ffd86f2 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 16:45:12 2021 -0400 Make iron golem neutral and protective, fix rotation commit 36d5af1d15b432d84e24e161b78d4b41ce2731bd Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 16:35:16 2021 -0400 Stop dead mobs from getting in the way of fighting other mobs commit 73b4d3c1d2c74cb5bd5bb23604ce1d74e183cb0d Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 16:31:13 2021 -0400 stop projectile mobs from being completely disabled while stunned commit eb7ae5e10e731fc949a9a4184e02a39103f83a1e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 16:28:30 2021 -0400 Fix random crash commit c831da2c02253450df965930cbfcd539b820f3b9 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 16:22:34 2021 -0400 Fix mobs not making hit sound when hit by node commit d5a38fef58c1862490c9f32238ec83cf1a2c2d5c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 16:19:37 2021 -0400 Add in new mob punched sounds commit 8e7ce5a72ae3e7cedf985a414c64ca259bcd6136 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 16:04:01 2021 -0400 Add in a visual for horse taming (hearts) commit 189c0ad157a8871d51045effcded0662aff7b1af Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 15:53:01 2021 -0400 Half finish horse (riding logic, etc) commit f64f8e31e3ba8e7a14b22d084be5ef584895242d Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 14:50:38 2021 -0400 Fix llama blaze and ghast projectile sprites commit 58bee2a2dd1b4d6d3d1873d3ac566be9e0aa7930 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 14:43:00 2021 -0400 Fix projectile tails clipping through sprite commit 16cc7e37d2fc83e50d4e2c380cef05224dbbed38 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 14:34:59 2021 -0400 Randomize projectile cooldown timer commit 8eb9ba12cef918cb116aea8eaea5a1e757123b01 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 14:33:40 2021 -0400 Fix crash when mob collides with nil entity commit 5d59583583462563f7d65747a198b0d6d8ed34fc Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 14:10:12 2021 -0400 Massive overhaul to projectile mobs with custom projectile function, make llamas spit commit f6fa90096dfdb9d21b6f52968daa60943a07470e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 13:35:30 2021 -0400 Fix enderman teleport attack commit 4fb9e69e41a8c2ee91c659acb0b11fc76a6a97fe Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 13:27:17 2021 -0400 Make enderman become hostile when stared at, freeze when attacking when stared at commit 99f13f84b563c1962c285b2e9973aec8a5d079d7 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 13:13:23 2021 -0400 Half-fix enderman commit dd76b15c501a1a458f2fa112b29784e26c3140bd Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 13:06:57 2021 -0400 Make ghasts not insta-kill commit b6f19699e9059a382421f55ac9ee5b642e7751a6 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 13:06:17 2021 -0400 Make enderdragon half work commit 4efec1ef58ba4afe4692a22a361079b5026a7de3 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 12:55:11 2021 -0400 Add in chicken slow falling commit 08956664073078fd896add1e57ff0a524de2a32f Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 23:36:58 2021 -0400 Fix random crash with mixed mob ally data types commit 408296140a4fe0c785f5fb4760899fdb3851fe00 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 23:30:32 2021 -0400 Fix and overhaul wolves commit aac1e1933677d119b52c25a64b3ee6c77e16e770 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 23:18:33 2021 -0400 Implement rotation locking when standing, fix rotation unlock/lock for fly/swim mobs commit fa059b5df245e81d71d73bbc87b51c59cd47a876 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 22:59:03 2021 -0400 Fix ghast's eyeheight commit 2e3e92e39337e5c4ecba13855f134af1bd672ae6 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 22:58:32 2021 -0400 Fix ghast's insane difficulty commit 11bcf3aa34e85dcc19142258ca2c4abaf963b806 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 22:51:13 2021 -0400 Add attributes to epCode commit 2099be43ea25740a402587f40b3004f6ef2d8c1d Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 22:50:14 2021 -0400 Update to epCode's fixed version of ghast model commit 5037ec3736a564157408df12699c91df17c934b6 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 22:40:16 2021 -0400 Fix ghasts horrible collisionbox commit 0a8fff65249610aba7fef7e9675bf28469265f29 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 22:08:54 2021 -0400 Add in mob criticals when falling commit afdcada1fd6f7c8cbe68b0fd1486d6d92f3d12f7 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 21:46:13 2021 -0400 Fix endermite commit 5d876725c599b060c5150b0508f21b6a83001f9a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 21:45:00 2021 -0400 Fix bats commit ef0d52a2df9a3d2d2c1e59b12084017c405bc398 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 21:41:54 2021 -0400 Update backup_code_api.lua commit 8142f7e51214672292d3bffe3fa8119eb8a1cf1c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 21:36:42 2021 -0400 Add in mob death commit ebf27866ca3bb02c726d4729c0666ee28e20a3dd Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 21:12:08 2021 -0400 Fix typo and error in animation.lua commit 3fe8d2d3c59ca6c173817a9d2d6b48e3549acd57 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 20:30:50 2021 -0400 Add file death_logic.lua commit b73ab976a1115044bc336f9e3f181ecf6e75cc06 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 20:25:58 2021 -0400 Implement framework for mob death commit 8530e6ee368f510581c618666613432f25266ce5 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 20:20:56 2021 -0400 Make mob punching time based commit e1812b2cdba132afec9ed6cdc45ee9f078806264 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 20:12:02 2021 -0400 Reset pause timer to 0 commit 991bba0a1d611cf545020c9129fdcbc4806e73c6 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 20:10:01 2021 -0400 Add comments into ai.lua commit f9a7144b658f747be895bb6a8b69c8a0124fdd2a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 20:07:30 2021 -0400 Implement ability to hurt mobs commit 45790c0be0eec380e281a687a1ff03ea1f114143 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 19:12:02 2021 -0400 Re-enable mob punching (broken) commit 31a791c33b19d76350993d844747a0c51a77382c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 18:20:58 2021 -0400 Undo debug.txt spam from mob spawning commit d0d128c1d8f84e8de590e34adfe0265556ccd3e1 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 18:18:57 2021 -0400 Break infinite loop if unable to find any mob to spawn commit ee905642c2cdfaa3be3eb5c2af7ec75599ffd41e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 17:56:38 2021 -0400 Add temporary warning debug to spawning algorithm output commit 2cef9e7cca2e70e544eb3068a0e3e36487cab669 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 00:39:32 2021 -0400 Optimize mob spawning even further with additional lua locals commit edb1939649c62a2b486e1c04c5af27458f978388 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 00:27:35 2021 -0400 Fix mob_counter in mob spawning limiter commit 7c1adeab459d452ac016108b588957082c1347c1 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 00:20:57 2021 -0400 Hyper-optimize mob spawning commit fbe3ccc5c05b5d5141737d3a73df3e4d14a33a33 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 23:28:38 2021 -0400 Delete current state of things comment commit 5e15af260bed13b07b295f558f5cb05bedaa7eae Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 23:25:19 2021 -0400 Fix pig rotation commit 6aa636449211b1bbec1297723281f72b4c76c4da Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 23:25:10 2021 -0400 Fix sheep rotation commit 29305f548db88b0b895ec747ebfbc092c51c4762 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 15:08:35 2021 -0400 Overhaul arrow register, implement basic blaze, break parts of arrow register for now, remove fallback for detecting players commit 08c90c34e83c498ee2cc883a2cad9b98a269a850 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 13:05:46 2021 -0400 Make parrots and squids work with tilt fly/swim commit 91099c3be93689c2569f838a63e75e38ca382162 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 13:01:14 2021 -0400 Fix auto-true statement for tilt fly/swim commit 71c34823bc87b0892d4450b877fb1c78cd6ad416 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 12:56:36 2021 -0400 Make tilt flying/swimming dynamic commit 20886f54bb8887fb88ce0e0e0c6f28a789868740 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 12:48:23 2021 -0400 Make shooty mobs jump commit ebd995fbd2eb089a37b659e9ae87c86562e3ed69 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 12:45:02 2021 -0400 Simplify skeleton arrow damage calculation commit c9f71d66f52f2e80fea6cd01fcb2db30ae399c39 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 12:42:34 2021 -0400 Implement skeletons/strays commit 99e808296b81f37a9e01d4b4beb02120526bb4e9 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 12:17:51 2021 -0400 Add missing skeleton/stray run animation commit 74094938bb0918df12ffa778c95b966d7bd6c9f3 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 12:10:29 2021 -0400 Fix crash with non-punch attack mobs in collision commit 6bd279255c7e4b5623afa39caae8f988127f7ac3 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 11:50:22 2021 -0400 Fully implement zombie pigmen commit 964ce9ccf7101aef387bdd5ec2213ba4ac361a51 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 11:42:01 2021 -0400 Temporarily disable spawn eggs from setting owner commit 5062d56a5d89346234f6125848799f32915b31a4 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 11:00:02 2021 -0400 Implement neutral mob mechanics and partial implement of zombie pigmen commit b0b1ec9436776fdc89edaf3046499a9e2cfaed0f Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 10:53:20 2021 -0400 Implement zombie pigmen and make them turn hostile when punched commit f1dc2864425bab2eed2f5bec7b7ccd0307145b1f Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 10:23:51 2021 -0400 Dump mob_punch from backup_code_api.lua back into interaction.lua commit cc2a0ae52cefc388d18c9d106ef70fc0718f5e40 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 10:21:11 2021 -0400 Complete charged creeper commit 486959515ca13ba0d5756ba5d930ff43e9d135b5 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 10:20:31 2021 -0400 Make creepers even more dangerous commit 576621169b468f317cf32d6d0be391252a033d3a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 23:26:18 2021 -0400 Make creepers and zombies even harder commit 2c87bd19f3c6a4a5a1a3b88a45cd673ecccb838b Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 23:14:53 2021 -0400 Overhaul zombie villager commit 1ed3377559c4690fa19488f526bcaf97d5ff94b1 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 23:11:18 2021 -0400 Add punch mobs knockback to players when hit commit 8c9356a18cb60cd28691e3782723df763b75a1fa Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 22:58:39 2021 -0400 Implement eye_height and viewing range for hostile mobs, along with making punchy mobs jump over nodes commit a05ebd7cc29c96b622dbc043529513b07d5cf47b Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 22:44:34 2021 -0400 Add informative text art commit 60ac3058ce1e3e05caa87c18bdf95c78a71ed750 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 22:42:51 2021 -0400 Make zombies more difficult commit 751c4c2d995a011a3298d374c77b9c4567ed2fa1 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 22:41:13 2021 -0400 Integrate mob punching into collision detection commit 6b52b945165a8501e09ca70c18514049df194c05 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 22:30:34 2021 -0400 Start setting up hostile punch attack type commit d371d6fdc9cb85e140399eafb89f15195f72d09f Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 22:04:54 2021 -0400 Adjust creeper explosion settings commit fabd4d64e6745b9ea8c4bb1a76c190c2d66576be Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 21:35:19 2021 -0400 Slow down creeper type mobs explosion buildup commit bf367fffd054fe180dbc6d7f46e20e286d68bb09 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 21:34:18 2021 -0400 Add in sound_handling and make explosion type mobs make their attack sound before explosion animation commit 0b763f54b55ea47b7889816612759447bfb50422 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 21:00:36 2021 -0400 Finish creeper movement ai and move jump_check into environment commit cd6f07537f64bdbe7573642982ec24ac3fb19ec1 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 20:43:45 2021 -0400 Make creepers even more deadly commit 9678b556e17b124f841b0019b3a31880a415bd11 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 20:33:30 2021 -0400 Fix crashes when trying to collision detect a removed mob commit cdb840609dc2586b31a1e44c8c1004379ef37979 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 20:19:55 2021 -0400 Add in creeper basic prototype commit 008d670ed9006d918b1ed1698a5b644de27191b1 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 17:10:51 2021 -0400 Remove wandering from ai commit 491ef6c8f818e43ef0545963eb27b5476c95ea28 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 16:48:20 2021 -0400 Add in auto mob removal if something goes horribly wrong commit 348df0fcecc2709fe088493d5665112827f08129 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 16:46:10 2021 -0400 Rename detect_players_in_area to detect_closest_player_within_radius commit ac08c6991c0ce7f9bb8d9de5880ec64a7882c3e7 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 16:39:05 2021 -0400 Add in detect_players_in_area commit 3d776138e97b904c9b299119ae9b9a8a2811ae7a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 14:55:22 2021 -0400 Start implementing creeper ai commit 85e531bf106df326b2ca470b5a94aeb06f92d4d6 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 18 21:24:31 2021 -0400 Remove unneeded mobs:protect from code commit 4d589dfb2aa10cb664b4d3b3471960e6d648b92c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 18 21:22:39 2021 -0400 Remove literally unneeded mobs:capture_mob commit 39985aa558d9f43a6a2e82fb6d59ad0ca8b6324d Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 18 21:22:21 2021 -0400 Up fallback max xp to 3 commit 1920ddf91530a7c033c8288cd3a752f3ee7ba850 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 18 21:02:03 2021 -0400 Change all enemy attack info to more workable and understandable attacks commit 719bb2a3c96ca020f8f828959e377831f47cd27b Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 18:21:33 2021 -0400 Add in prototype jump-only mobs api commit db87b8e0a37cd15ef7931a76d21bbb190a158205 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 17:09:57 2021 -0400 fix chicken rotation commit e2987245fd6c6ee75383ea92da30e9fc5e10ad1e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 17:00:34 2021 -0400 Balance out collision forces for mobs commit 3cf263d292f9fc5a7a18fafa2aa1fbc8e1840a0a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 16:23:38 2021 -0400 Add in dynamic pitch in flying/swimming mobs commit 5ade34115cff228994ff3fd680aa15c8225ab6e7 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 13:17:29 2021 -0400 Remove random state initialization in set_up.lua commit d9729fc8651d06566e61bcfcb2e7df0484f25f48 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 13:13:45 2021 -0400 Fix parrot's rotation commit 58d9670e777c3798c676924023375a2579450142 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 13:11:39 2021 -0400 Remove collisionbox addition for y position for fly mobs commit a20f272e08f0170b2761eeba2a12aeaf88efad7b Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 13:05:53 2021 -0400 re-adjust logic gate for mobs floating in water and lava commit 0794bc54372c6aaa9c653693da3a18194adf5c95 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 13:04:55 2021 -0400 Make flying mobs float in water and lava commit 8783912938aed1f5566f3e2f5056213f0cefe4a6 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 12:48:57 2021 -0400 Add in mobs api swimming animation commit f2e909ab8d182febabbdacd9de50a65f27137761 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 12:41:14 2021 -0400 Add in fly logic gate commit 07841c89632626f1c3bb4790f8db0c2adddfb2eb Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 12:38:48 2021 -0400 Swap name of quick_rotate_45 to quick_rotate commit 240d6ea21155f2044d3b728a210811821540013a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 12:37:04 2021 -0400 Add note about quick_rotate_45 actually rotating 11.25 degrees commit e8148f81ab7641554096bc03ecda8927d9ad9491 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 12:36:19 2021 -0400 Make underwater mobs try to continuously swim around with quick_rotate_45 commit 061602d9d46d4e4607e407c064070709ef99f9b7 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 12:28:07 2021 -0400 Overhaul separation of swimming and flying for ease of use with writing mobs api commit 5365dec19a8a088263916a3686f27859be51e870 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 12:01:27 2021 -0400 Adjust "flying" vector checks for mobs commit dda7839d8c4c2292e9c8d6472faf38372654d886 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 21:43:02 2021 -0400 Add in prototype swimming commit f1141aed9fa52bf57e8867fdb3ffb520793dab07 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 21:08:54 2021 -0400 Make mobs flop when outside of flying node commit 84ca7681fc9ee3e9945488865678b2b82eb0a22d Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 20:47:16 2021 -0400 Make squids fly in water flowing and water source commit 52c3db041e602ebd0861a0b86c55b35662c8c33a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 20:32:05 2021 -0400 Add in fly state prep for mobs commit 6db4511dd5b038cd95c7ea196559bb25a53246e9 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 20:06:55 2021 -0400 Add notes commit 15ea9c1c71f3e4d4dd24ce145d385f8457e4905e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 19:59:20 2021 -0400 Implement self walking velocity for walking state commit 9d6d042ee325a010d97abdff7efc37f3dcf46b5e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 19:37:01 2021 -0400 Fix formatting in ai.lua commit ce7f4918b061fa9a4d46045a389497cb0da1a5ee Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 19:35:19 2021 -0400 Re-organize comments commit 05d06a4c8f0128ac5edd21b8096bb75553c1f89e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 18:36:23 2021 -0400 Add comment to state_execution commit c761db86c7e67aab27d3806a76b7a58504a7d5c6 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 18:29:42 2021 -0400 re-arrange mob logic for random wandering commit ed456ecb47d788efe9aa526849110015e9c04e9a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 18:17:51 2021 -0400 Make mobs not fear cliffs if fear_height is 0 commit 8ca5f221ec9ce534e91f7094193b4ec951e743b1 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 18:13:54 2021 -0400 clean up ai.lua commit cadd53c103f4047069f581abdc033d2def4ed2dd Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 16:39:03 2021 -0400 Adjust mob jumping default to account for higher gravity commit 57b293de2b02be81ff3e17e620807c653fe9b625 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 16:37:15 2021 -0400 Make mobs gravity equal to player's commit fb9a55e562c3e4102fa4e02603f93d1c78e397ad Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 15:55:11 2021 -0400 Make jump_check more modular and allow mobs to turn if at a wall commit a6a54b34140c279d7a9ff3db5b21f1be0ead15f8 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 15:49:03 2021 -0400 Make mobs not jump if against a wall commit 6c5393427f72c082a5c85514cb3b54aa4a9ce45f Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 15:39:39 2021 -0400 Smooth out mob cliff check and check if falling before cliff check commit 2486ffef11113a40b43a2548bde57e9cca186da9 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 15:30:44 2021 -0400 Make wandering mobs avoid cliffs commit adc683c6a7cd56c33bebc22ce1363671db4f4846 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 14:19:22 2021 -0400 Clear mob animation on activate commit d0695e7929460728f7da2e01cc809cb343481e1a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 13:58:08 2021 -0400 Fix mob animation "memory leak" commit 024cf46307abb6fefbfe8be04941205026561177 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 11:52:29 2021 -0400 Adjust spacing in animation.lua commit f38492bcb031b7fcc2ee8299f66fcd3cd3a68398 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 11:50:29 2021 -0400 Re-implement animation check gate for mobs commit a934a59f3b64e8adef64676daaf81b574a6ceecd Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 11:50:13 2021 -0400 Implement mob random walk directions commit 94ca7e8b89bd39144d85bc6a622778babb226d47 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 11:31:18 2021 -0400 Add in state switch and state execution for mobs commit 626c30de6d4191cd4a18b0f11cb4805c425f9648 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 11:30:55 2021 -0400 Create todo.txt commit c2bac87a6d03364193aedf67c780fdea9f545cac Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 21:46:33 2021 -0400 Update set_up.lua commit 375d683d08266586d024491dcba2268c66583989 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 16:18:42 2021 -0400 Fix forgotten localization in collision.lua commit 246bdf9707c98f787cb5264dc7ff638e340d768b Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 15:55:10 2021 -0400 Implement basic mob walking animation test commit d07d0ae31c0d39c526c8418e725b5dce1d120793 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 15:34:07 2021 -0400 Make mobs jump properly commit 6cb6d714c9bcf55213a9449416bec37c0fe318af Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 15:04:55 2021 -0400 Reorganize all mob sections into multiple files commit 5155d12d05c5b563a78923b3fc02a885cd23fe85 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 14:09:54 2021 -0400 Reformat mobs_mcl to api folder for ease of use commit bbcfb3fdb171053e3142854f658860e7693f31d1 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 11:33:09 2021 -0400 Randomize walking or standing on spawn in commit 9e4bf6e130195b4f2176658581ad17646a48ce3a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 11:29:18 2021 -0400 Move old set_yaw and add node on set_velocity commit e53a193c4fe61e88e6501a2a863e22d533132ae4 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 11:25:55 2021 -0400 Fix get_velocity (mobs internal) commit 14207dd96aa60652c0ad1f4351441659c33d3ff6 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 11:23:52 2021 -0400 Smooth out mob movement set_velocity more commit a0ed1a0b2004baeb3d0f64c5eb02bbf0b21bf823 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 10:05:24 2021 -0400 Add automatic rotation lock commit ba46e7fa42bbd25175d3505ca9699a11912d491f Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 09:28:58 2021 -0400 Remove old debug of colliding with objects commit 61124905f3d862d00f00674067003d8da7722405 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 09:28:22 2021 -0400 Add in mob auto rotation (implementation 1) commit 8b200c7352cb9fdd01f1b073308acacd36b2672a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 14 19:38:14 2021 -0400 Add in basic movement rotation testing commit 67259891a85e54f56dc543087bd98cfe12feb6f4 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 14 18:01:29 2021 -0400 Remove unneeded comments commit d063db751c1657c367f2277b24a5aa51a8d90fa3 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 14 17:26:20 2021 -0400 Disable mcl_playerplus random check that moves players randomly commit d4db27f0e1edd439f65821b814146a237ebea799 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 14 17:25:39 2021 -0400 Update backup_code_api.lua commit 755533beeb6c708603096cce4f99bea558c8b6ce Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 14 11:50:22 2021 -0400 Disable literally everything in mobs api commit 3f6312a631c6726c3bc4b09d9ec3e64b3ae810e5 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 20:24:46 2021 -0400 Make mobs magnetic collision more jello-y commit aa4d34c10e4bc367fc6ad7d898cd145d9f58ed0c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 20:00:38 2021 -0400 Improve mob to mob collision commit 1210bc463adb949496fc521e3169fb88e49fc4e9 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 19:44:24 2021 -0400 prevent mob collision detection shootout commit ed6026671381c99723eccbf2089d99748e19bfe2 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 19:17:48 2021 -0400 Gut even more elements of the api commit 220d30df5f159d69be22663733feb1fbf51c45f8 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 19:13:29 2021 -0400 Completely gut do_states commit 9758bbf2e7e382948b4ad1ab8c360519270fec14 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 08:21:04 2021 -0400 Finish gutting mob api commit f29ad4b8b78689ed0d759c18178a6b2dbc9a1e25 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 08:20:11 2021 -0400 Reorganize more settings to the top of file commit 54f5bee8a379bf910c1cc6ea3d33bd32b819f3dd Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 08:08:29 2021 -0400 reorganize load settings commit 02515f0778bbe9cd962acc514b084c9dedf55074 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 08:07:32 2021 -0400 Move a large chunk of code to backup_code_api.lua commit 3fc0184182f70be0c2fd9b3be1c5d78fa7f00503 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 07:39:57 2021 -0400 Disable entire mob ai to work on vanilla walking commit 6fff719322ee250fc7c074d2362edbf0c4090406 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Mon Apr 12 08:47:07 2021 -0400 Localize minetest library commit adaf74fc5c6354cf2fb1a9f784e5a37a4fb31caa Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Mon Apr 12 08:13:11 2021 -0400 Remove spacing and delete old collision comments commit a564009e4aeda08372b80fb1a5fc2d16f5dfd364 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Mon Apr 12 08:11:55 2021 -0400 Change HORNY_TIMER to BREED_TIMER commit 00759da39d621b36be6200fa365c51be86dbb99f Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 11 18:29:32 2021 -0400 Unlimit mob ai commit 9aafc28a2009998017753d0aa4d013e3cd8795b6 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 11 14:47:56 2021 -0400 Fix mobs nil check during mob_step commit 67c40885ef62b4e4e8dcaba3b65c58502c558f7e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 11 14:21:19 2021 -0400 Fix mobs collision system only running during movement - major overhaul with ai disabled commit 2456e3cd1ef6954415e4a771bb704a12364895eb Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 11 12:52:31 2021 -0400 Adjust math localizations in api.lua commit 725dc731ddc2a6f1cf1a20832e06883613d5974a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 11 11:58:33 2021 -0400 Adjust mob collision detection - this breaks a lot of things and will be fixed later commit e15fd2f4b60fafcae3b765d345914032b4a52668 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 9 01:38:34 2021 -0400 Add lua locals into mcl_dungeons for performance commit c937b2a97338097700cd3836811ce46366e88027 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 14:19:42 2021 -0400 test commit 8c10fe4057d5a973d448e32addbc07617f9b8edc Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 12:48:02 2021 -0400 Adjust spawning to be closer and more frequent commit bd7866d7983aae52aef426bc7a305ae166817ed7 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 12:07:20 2021 -0400 Finish mob limiter commit 9369c9cab8f25d5fa34fe0cdaeee4f9570db4551 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 10:01:15 2021 -0400 Fix spawn timer reset debug commit 28823298e1536d4ce34d67ada624dcb5aaf377e0 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 10:00:04 2021 -0400 Fix forgotten biome check commit 9d48549ec5901de887eb9fb2d75fd07f08edb39b Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 09:52:50 2021 -0400 Complete prototype of biome generated mobs commit 518252679f642d00057889b462eb8c87b0992de7 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 08:42:57 2021 -0400 Fix a lot of things commit bb078b0c4c48ac6932d2953561ac03bea3bde51a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 08:33:50 2021 -0400 Fix silverfish typo commit adab48ff0c95c2fad11e4d58824d635ae6945875 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 08:29:16 2021 -0400 Readjust mobs internal settings to not cause insane memory usage commit 47c59edb511fde5db934fca519b9d8aa1fc68838 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 08:13:46 2021 -0400 Fix typo commit 5ca30fa8eec24a1f9bee879bb49d3dfce82484fb Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 08:12:43 2021 -0400 Combine air and ground type spawning into ground commit aacb8fc7b95013e42c832927088708b8c9889201 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 08:09:43 2021 -0400 Add in extra_mobs information commit f900b24b53a802fd5db1bf1a633d7f89e42bcce5 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 07:39:18 2021 -0400 Add in all biome information to mobs commit 0ad833c046095d83a789705aa15dd7f30fd8f3ed Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 06:57:24 2021 -0400 Add bats, chicken, and blaze spawn info commit f4a6bdc6b89b2d605cfd06f0b7baa6170a19314c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 06:48:25 2021 -0400 Make reference list copy-pastable commit bf4bf9a0cc60a1a15f1ddbfed314ec5a9c75561c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 06:10:07 2021 -0400 Ignore default or void dimensions commit 8e1e02d1fbc189680dbd004bdd905446467a4e29 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 06:04:36 2021 -0400 Add biome list commit da045c207d3bd5931e3cf73c5459b45d86596c12 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 02:07:15 2021 -0400 Refactor spawning into it's own file commit 6ec66ef6f666007e411e23689e0d4eccd5a5fbfe Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 7 23:16:03 2021 -0400 Fix mobs colliding with other mobs/players commit 6bd249547a888493af6c5cfc65d3e206e1467c19 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 7 23:07:04 2021 -0400 Fix mobs colliding with objects commit c4d030d111ea6e21ca6343f76fb98b8aa9d29f6c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 1 23:48:00 2021 -0400 Fix item drop on laggy servers
2021-04-29 02:11:33 +02:00
mobs.set_mob_animation(self, name)
2017-07-05 01:52:39 +02:00
2018-01-26 18:06:32 +01:00
This function sets the current animation for mob, defaulting to "stand" if not
found.
2017-07-05 01:52:39 +02:00
2018-01-26 18:06:32 +01:00
'self' mob information
'name' name of animation
2017-05-25 10:33:19 +02:00
Certain variables need to be set before using the above functions:
2018-01-26 18:06:32 +01:00
'self.v2' toggle switch used to define below values for the
first time
'self.max_speed_forward' max speed mob can move forward
'self.max_speed_reverse' max speed mob can move backwards
'self.accel' acceleration speed
'self.terrain_type' integer containing terrain mob can walk on
(1 = water, 2 or 3 = land)
'self.driver_attach_at' position offset for attaching player to mob
'self.driver_eye_offset' position offset for attached player view
'self.driver_scale' sets driver scale for mobs larger than {x=1, y=1}
External Settings for "minetest.conf"
------------------------------------
'enable_damage' if true monsters will attack players (default is true)
'only_peaceful_mobs' if true only animals will spawn in game (default is
false)
2019-10-03 12:04:30 +02:00
'mobs_disable_blood' if false, damage effects appear when mob is hit (default
2018-01-26 18:06:32 +01:00
is false)
'mobs_spawn_protected' if set to false then mobs will not spawn in protected
areas (default is true)
'mob_difficulty' sets difficulty level (health and hit damage
2018-01-26 18:06:32 +01:00
multiplied by this number), defaults to 1.0.
2019-10-03 12:12:50 +02:00
'mob_spawn_chance' multiplies chance of all mobs spawning and can be set
2018-01-26 18:06:32 +01:00
to 0.5 to have mobs spawn more or 2.0 to spawn less.
e.g. 1 in 7000 * 0.5 = 1 in 3500 so better odds of
spawning.
'mobs_spawn' if false then mobs no longer spawn without spawner or
spawn egg.
'mobs_drop_items' when false mobs no longer drop items when they die.
'mobs_griefing' when false mobs cannot break blocks when using either
pathfinding level 2, replace functions or mobs:boom
function.
Players can override the spawn chance for each mob registered by adding a line
to their minetest.conf file with a new value, the lower the value the more each
mob will spawn e.g.
mobs_animal:sheep_chance 11000
mobs_monster:sand_monster_chance 100
Rideable Horse Example Mob
--------------------------
2017-05-25 10:33:19 +02:00
mobs:register_mob("mob_horse:horse", {
type = "animal",
visual = "mesh",
visual_size = {x = 1.20, y = 1.20},
mesh = "mobs_horse.x",
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1.25, 0.4},
2018-01-26 18:06:32 +01:00
animation = {
2017-05-25 10:33:19 +02:00
speed_normal = 15,
speed_run = 30,
stand_start = 25,
stand_end = 75,
walk_start = 75,
walk_end = 100,
run_start = 75,
run_end = 100,
},
textures = {
{"mobs_horse.png"},
{"mobs_horsepeg.png"},
{"mobs_horseara.png"}
},
fear_height = 3,
runaway = true,
fly = false,
walk_chance = 60,
view_range = 5,
follow = {"farming:wheat"},
passive = true,
hp_min = 12,
hp_max = 16,
armor = 200,
lava_damage = 5,
fall_damage = 5,
water_damage = 1,
makes_footstep_sound = true,
drops = {
{name = "mobs:meat_raw", chance = 1, min = 2, max = 3}
},
2018-01-26 18:06:32 +01:00
sounds = {
random = "horse_neigh.ogg",
damage = "horse_whinney.ogg",
},
2017-05-25 10:33:19 +02:00
do_custom = function(self, dtime)
-- set needed values if not already present
if not self.v2 then
self.v2 = 0
self.max_speed_forward = 6
self.max_speed_reverse = 2
self.accel = 6
self.terrain_type = 3
self.driver_attach_at = {x = 0, y = 20, z = -2}
self.driver_eye_offset = {x = 0, y = 3, z = 0}
self.driver_scale = {x = 1, y = 1}
end
-- if driver present allow control of horse
if self.driver then
mobs.drive(self, "walk", "stand", false, dtime)
return false -- skip rest of mob functions
end
return true
end,
on_die = function(self, pos)
-- drop saddle when horse is killed while riding
-- also detach from horse properly
if self.driver then
minetest.add_item(pos, "mobs:saddle")
mobs.detach(self.driver, {x = 1, y = 0, z = 1})
end
end,
on_rightclick = function(self, clicker)
-- make sure player is clicking
if not clicker or not clicker:is_player() then
return
end
-- feed, tame or heal horse
if mobs:feed_tame(self, clicker, 10, true, true) then
return
end
-- make sure tamed horse is being clicked by owner only
if self.tamed and self.owner == clicker:get_player_name() then
local inv = clicker:get_inventory()
-- detatch player already riding horse
if self.driver and clicker == self.driver then
mobs.detach(clicker, {x = 1, y = 0, z = 1})
-- add saddle back to inventory
if inv:room_for_item("main", "mobs:saddle") then
inv:add_item("main", "mobs:saddle")
else
2019-02-01 06:33:07 +01:00
minetest.add_item(clicker.get_pos(), "mobs:saddle")
2017-05-25 10:33:19 +02:00
end
-- attach player to horse
elseif not self.driver
and clicker:get_wielded_item():get_name() == "mobs:saddle" then
self.object:set_properties({stepheight = 1.1})
mobs.attach(self, clicker)
-- take saddle from inventory
inv:remove_item("main", "mobs:saddle")
end
end
end
})