Перейти к содержимому
Mineforgian

EntityJS

This mod uses KubeJS to dynamically register entities with full AI/Animation/Spawn Control support!

Загрузки
634K
Подписчики
35
Обновлён
4 июля 2026 г.
Лицензия
GPL-3.0-only

Опубликован 27 января 2024 г.

Untitled

Key Features

  • Dynamic Entity Registry: Easily register custom entities and define their attributes and behaviors using JavaScript.
  • Entity Modification: Modify existing entity methods with the entity modification event for further customization.
  • Full Animation Support: Enjoy smooth and lifelike animations for your entities, utilizing LioLib, a Geckolib 4 fork backporting many fixes to the unsupported 1.19.2 version

(EntityJS 1.20.1+ Use Geckolib as a direct dependency because it is a supported version)

  • Spawn Control: Take full control over entity spawning by specifying spawn conditions, rates, and locations.
  • Attribute Modification: Fine-tune entity attributes such as health, speed, damage, and more to suit your gameplay needs.
  • Full AI Support: Access a comprehensive set of AI behaviors and functions to create intelligent and interactive entities.

Getting Started

To start using EntityJS, simply install the addon alongside KubeJS and begin creating your custom entities and animations. Refer to the documentation for detailed instructions and examples.

Special Compatibility

KubeJS Iron's Spells

Visit KubeJS Iron's Spells Mod Page

  • Spellcasting Mobs: You can make any Mob cast spells by using the Goal event to attach spellcasting behavior.
  • Custom Spellcasters: Create fully custom spellcasting mobs with tailored AI, spell sets, and behaviors.
  • Spell Projectiles: Define and control custom spell projectiles for advanced combat and visual effects.

Visit EntityJS Wiki Page

Community

Join the official KubeJS Discord community to connect with other users, share your creations, and get help with any questions or issues you encounter while using EntityJS. Alternatively, you can click the Discord icon below:

discord
Youtube Tutorials

Центр версий

194 версий
  • Релиз3.5 МБ
  • Релиз3.3 МБ
  • Релиз2.3 МБ
  • Релиз2.3 МБ
  • Релиз2.2 МБ
  • Релиз2.3 МБ
  • Релиз2.2 МБ
  • Релиз2.3 МБ
  • Релиз2.2 МБ
  • Релиз2.3 МБ
  • Релиз1.8 МБ
  • Релиз1.9 МБ
  • Релиз2.2 МБ
  • Релиз2.2 МБ
  • Релиз1.8 МБ
  • Релиз2.2 МБ
  • Релиз2.2 МБ
  • Релиз2.2 МБ
  • Релиз2.2 МБ
  • Релиз2.2 МБ

Ченджлог

1.4.7Релиз1.21, 1.21.1 · 4 июля 2026 г.

Additions

  • Added .override("someMethod()", callback) to event.createCustom() entities, letting scripts override supported Java entity methods directly.
  • .override() works with public and protected vanilla or modded entity methods when they are safe to override.
  • Added dynamic override context values like context.entity, context.args, context.get("arg0"), context.arg0, and context.arg1.
  • Added named override arguments from Parchment mappings when available, so customBuilder.override() callbacks can use names like context.partialTicks while still keeping arg0, arg1, etc. as fallback
  • Added context.superCall() for dynamic overrides, including context.superCall(...args) to call the original method with replacement arguments.
  • Added EntityJSUtils.superCall() for supported builder and modify callbacks where a context object may not be available.
  • Added EntityJSUtils.getCallbackInfo() for modifyEntity callbacks.
  • Added callback control helpers on supported contexts: context.cancel(), context.setReturnValue(value), context.returnValue(), and context.superCall().
  • Added setRenderer(context => ...) to event.createCustom() for custom renderer factories.
  • Added setRendererClass(...) to event.createCustom() for using an existing renderer class.
  • Added setModel(context => ...) to event.createCustom() for custom model factories.
  • Added support for event.createCustom() with non-living entities.
  • Added support for rendering custom non-living entities with GeckoLib or existing renderer classes.
  • Added playStepSound, playMuffledStepSound, and playCombinationStepSounds to EntityJS entity builders.
  • Added playStepSound, playMuffledStepSound, and playCombinationStepSounds to EntityJSEvents.modifyEntity().
  • Added fallback overrides for methods often needed on final entity classes: playSwimSound, doWaterSplashEffect, processFlappingMovement, and canBeHitByProjectile.

ProbeJS / Typing Improvements

  • Added better ProbeJS support for event.createCustom() builders.
  • Added ProbeJS suggestions for .override() method keys.
  • Added typed override contexts, so context.entity matches the custom entity class when possible.
  • Added typed setRendererClass("") string suggestions of viable renderer class strings
  • setRendererClass("") now suggests real renderer classes that can actually load and pass EntityJS renderer checks.
  • setRendererClass("some.class.Name") still accepts custom strings even when they are not in the suggestion list.
  • Improved dedicated server safety for ProbeJS typing generation so client-only renderer classes are not loaded on servers.
  • Replaced const with let in some ProbeJS typing examples

Changes

  • Removed setModelClass(...). Most Minecraft model classes need constructor arguments, so scripts should use setModel(context => new MyModel(...)) instead.
  • setRendererClass(...) is now the class-based shortcut for existing renderer classes.
  • setModel(...) is now the correct model API for custom models.
  • Changed canThrow default to true in ProjectileItemBuilder.

Improvements

  • Improved busy callback performance by caching faster Rhino callback invocation paths when using any EntityJS script facing callback. (30% performance increase profiled on over 500k test iterations)
  • Expanded cached callback handling across GeckoLib, AI behavior helpers, spawn placement predicates, vanilla goals, setup callbacks, and modify callbacks.
  • Added callback argument initialization so common entity arguments are ready before server-side logic runs.
  • Added callback profiling tools for debugging callback setup, JS calls, super calls, return conversion, and context creation.
  • Changed most boolean callbacks to use EntityJS’s new BooleanCallback interface.
  • Improved wrapped custom entity behavior by defaulting synced values to the original entity values.

Fixes

  • Fixed Forge remapping issues caused by methods using remap = true incorrectly.
  • Fixed PiglinEntityJS not wiring isConverting and finishConversion.
  • Fixed custom and tameable entity builders missing default movement speed values.
  • Fixed ProjectileAnimatableJS and ProjectileEntityJS world-save errors when summoned without an item.
0.7.0Релиз1.20.1 · 4 июля 2026 г.

Additions

  • Added .override("someMethod()", callback) to event.createCustom() entities, letting scripts override supported Java entity methods directly.
  • .override() works with public and protected vanilla or modded entity methods when they are safe to override.
  • Added dynamic override context values like context.entity, context.args, context.get("arg0"), context.arg0, and context.arg1.
  • Added named override arguments from Parchment mappings when available, so customBuilder.override() callbacks can use names like context.partialTicks while still keeping arg0, arg1, etc. as fallback
  • Added context.superCall() for dynamic overrides, including context.superCall(...args) to call the original method with replacement arguments.
  • Added EntityJSUtils.superCall() for supported builder and modify callbacks where a context object may not be available.
  • Added EntityJSUtils.getCallbackInfo() for modifyEntity callbacks.
  • Added callback control helpers on supported contexts: context.cancel(), context.setReturnValue(value), context.returnValue(), and context.superCall().
  • Added setRenderer(context => ...) to event.createCustom() for custom renderer factories.
  • Added setRendererClass(...) to event.createCustom() for using an existing renderer class.
  • Added setModel(context => ...) to event.createCustom() for custom model factories.
  • Added support for event.createCustom() with non-living entities.
  • Added support for rendering custom non-living entities with GeckoLib or existing renderer classes.
  • Added playStepSound, playMuffledStepSound, and playCombinationStepSounds to EntityJS entity builders.
  • Added playStepSound, playMuffledStepSound, and playCombinationStepSounds to EntityJSEvents.modifyEntity().
  • Added fallback overrides for methods often needed on final entity classes: playSwimSound, doWaterSplashEffect, processFlappingMovement, and canBeHitByProjectile.

ProbeJS / Typing Improvements

  • Added better ProbeJS support for event.createCustom() builders.
  • Added ProbeJS suggestions for .override() method keys.
  • Added typed override contexts, so context.entity matches the custom entity class when possible.
  • Added typed setRendererClass("") string suggestions of viable renderer class strings
  • setRendererClass("") now suggests real renderer classes that can actually load and pass EntityJS renderer checks.
  • setRendererClass("some.class.Name") still accepts custom strings even when they are not in the suggestion list.
  • Improved dedicated server safety for ProbeJS typing generation so client-only renderer classes are not loaded on servers.
  • Replaced const with let in some ProbeJS typing examples

Changes

  • Removed setModelClass(...). Most Minecraft model classes need constructor arguments, so scripts should use setModel(context => new MyModel(...)) instead.
  • setRendererClass(...) is now the class-based shortcut for existing renderer classes.
  • setModel(...) is now the correct model API for custom models.
  • Changed canThrow default to true in ProjectileItemBuilder.

Improvements

  • Improved busy callback performance by caching faster Rhino callback invocation paths when using any EntityJS script facing callback. (30% performance increase profiled on over 500k test iterations)
  • Expanded cached callback handling across GeckoLib, AI behavior helpers, spawn placement predicates, vanilla goals, setup callbacks, and modify callbacks.
  • Added callback argument initialization so common entity arguments are ready before server-side logic runs.
  • Added callback profiling tools for debugging callback setup, JS calls, super calls, return conversion, and context creation.
  • Changed most boolean callbacks to use EntityJS’s new BooleanCallback interface.
  • Improved wrapped custom entity behavior by defaulting synced values to the original entity values.

Fixes

  • Fixed Forge remapping issues caused by methods using remap = true incorrectly.
  • Fixed PiglinEntityJS not wiring isConverting and finishConversion.
  • Fixed custom and tameable entity builders missing default movement speed values.
  • Fixed ProjectileAnimatableJS and ProjectileEntityJS world-save errors when summoned without an item.
1.4.6-1.21Релиз1.21, 1.21.1 · 20 июня 2026 г.
  • Changed canThrow default to true in ProjectileItemBuilder
  • Implemented setModel and setModelClass in CustomEntityBuilder
  • Added setRenderer and setRendererClass methods to CustomEntityBuilder
  • Fixed remapping issues caused by setting remap to true on Forge methods
  • event.createCustom() now supports non-living entities, optionally rendering with GeckoLib or through an existing model class
  • Fixed desync issues in wrapped custom entity classes by defaulting to original entity values
  • Added playMuffledStepSound, playCombinationStepSounds, and playStepSound to EntityJS entity builders
  • Added fallback overrides for methods commonly overridden in final entity classes: playSwimSound, doWaterSplashEffect, processFlappingMovement, and canBeHitByProjectile
  • Added playStepSound, playMuffledStepSound, and playCombinationStepSounds to EntityJSEvents.modifyEntity()
  • Replaced all instances of const with let in ProbeJS typings
  • Fixed ProjectileAnimatableJS and ProjectileEntityJS world-save errors when summoned without an item
0.6.9-1.20.1Релиз1.20.1 · 20 июня 2026 г.
  • Changed canThrow default to true in ProjectileItemBuilder
  • Implemented setModel and setModelClass in CustomEntityBuilder
  • Added setRenderer and setRendererClass methods to CustomEntityBuilder
  • Fixed remapping issues caused by setting remap to true on Forge methods
  • event.createCustom() now supports non-living entities, optionally rendering with GeckoLib or through an existing model class
  • Fixed desync issues in wrapped custom entity classes by defaulting to original entity values
  • Added playMuffledStepSound, playCombinationStepSounds, and playStepSound to EntityJS entity builders
  • Added fallback overrides for methods commonly overridden in final entity classes: playSwimSound, doWaterSplashEffect, processFlappingMovement, and canBeHitByProjectile
  • Added playStepSound, playMuffledStepSound, and playCombinationStepSounds to EntityJSEvents.modifyEntity()
  • Replaced all instances of const with let in ProbeJS typings
  • Fixed ProjectileAnimatableJS and ProjectileEntityJS world-save errors when summoned without an item
1.4.5-1.21Релиз1.21, 1.21.1 · 23 марта 2026 г.
  • Fixed attribute modification ordering
0.6.7-1.20.1Релиз1.20.1 · 23 марта 2026 г.
  • Fixed attribute modification ordering
1.4.4-1.21Релиз1.21, 1.21.1 · 5 декабря 2025 г.
  • Fix rare entity modification event crash due to computation timing of eventMap
0.6.6-1.20.1Релиз1.20.1 · 5 декабря 2025 г.
  • Fix rare entity modification event crash due to computation timing of eventMap

Комментарии

Загружаем…