Setting up an addon
1
Add the LodeEntities jar as a compile-only dependency
There is no separate API artifact yet, so you compile against the plugin jar itself.
build.gradle.kts
2
Declare the dependency in plugin.yml
This makes your plugin enable after LodeEntities.
plugin.yml
3
Register everything in onEnable
Registrations survive
/le reload, so you never need to re-register.The entry point
Everything is reachable from one class:org.nexomaker.api.LodeEntitiesAPI.
What that makes possible
The five extension points cover the whole skill language: new mechanics, targeters, triggers, conditions and placeholders. Addmobs().contribute(...) and naturalSpawns().contribute(...) on top, and an addon can ship a complete content pack (mobs, spawn rules and new vocabulary) without shipping a single YAML file. A server owner can still override any of it by declaring the same id in their own config.
Extending the effect language
Teach the effect language new words that server owners use exactly like built-ins.
Models & animation
Attach a model to any entity, play animations, restyle bones and hook per-bone hitboxes, through the engine’s API in the same jar.
Stability
- Everything under
org.nexomaker.apiis the supported addon surface. The types it hands out (MechanicArgs,EffectContext,MobDefinitionand the rest) are stable to compile against. org.nexomaker.engine.apiis the model engine’s own API: models, animations, bones and hitboxes. You can call it from the same jar, but it moves at the engine’s pace.- Anything else is internal and may change without notice.
- Never expect a Kotlin type in a signature: the API hands out Java-friendly types (a
Maprather than a KotlinPair), because the Kotlin runtime is relocated inside the jar.
