- Updated to 1.21
- Improved function error handling in all living entities to prevent crashes when erroring in returnable value functions
- Fixed issue where some mobs wouldn't attack because of
playerTouch
not calling super by default
- Added projectile modification builder
- Added onEntityCollision to base entity modification builder
- Added
Slime
default builder
- Changed
onHitEntity
&onHitBlock
context to take in aProjectile
instead ofThrowableItemProjectile
to be more inclusive for addon compatibility
- Fixed some modifyEntity methods not working in production environment due to failed remappings
Fixed
- Resolved an issue where the goal event was not firing for
PathfinderMobs
due to arefmap
configuration problem, ensuring consistent event behavior across all entity types.
Fixed
- Fixed an issue where
getStandingEyeHeight()
was returning null. - Relocated the goal event in the
MobMixin
entity initialization method to theEntityMixin
onAddedToWorld()
method to ensure values register properly.
Enhanced
- Enhanced
addGoalSelectors
andaddGoals
events, now capable of modifying all Mob entities. - Enhanced
buildBrain()
andbuildBrainProvider()
events, which can now modify any entity brain, provided these entities do not override thebrainProvider
/getBrain
methods in their subclasses.
Added
- Introduced
.removeGoal()
,.removeGoals()
, and.removeAllGoals()
methods to bothaddGoalSelectors
andaddGoals
events, enabling the removal of existing goals. - Introduced
getEntity()
method to all goal events, granting access to the mob instance involved in the event. - Introduced the
EntityJSEvents.modifyEntity()
event, enabling method overrides for entities derived fromPathfinderMob
,Mob
,LivingEntity
, andEntity
. (Refer to the new wiki page for examples)
Fixed
- Fixed an issue where
getStandingEyeHeight()
was returning null. - Relocated the goal event in the
MobMixin
entity initialization method to theEntityMixin
onAddedToWorld()
method to ensure values register properly.
Fixed
- Resolved an issue where
getTypeId
could not be accessed due to its private access modifier, enhancing the method's usability. - Addressed a bug causing the goal event to fire twice for EntityJS entities, improving event handling consistency.
Added
- Implemented automatic generation of egg items for entities, streamlining the entity creation process.
- Introduced
.noEggItem()
method, allowing developers to opt-out of automatic egg item generation if needed.
New Features
- Enhanced
addGoalSelectors
andaddGoals
events, now capable of modifying all Mob entities - Introduced
.removeGoal()
,.removeGoals()
, and.removeAllGoals()
methods to bothaddGoalSelectors
andaddGoals
events, allowing the removal of existing goals. - Enhanced
buildBrain()
andbuildBrainProvider()
events which can now modify any entity brain, assuming these entities do not override thebrainProvider
/getBrain
methods in their subclasses - Introduced
getEntity()
method to all goal events, granting access to the mob instance involved in the event