Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
EmakiMobs turns a mob roster into configuration: define an id, a vanilla entity type and the components, Emaki attributes, action pipelines, loot and spawn rules that should accompany it. The same definitions can power hand-spawned tests, natural replacements, autonomous schedules, threat tables and boss bars — from a common mob to a multi-phase boss, without writing a Java class. The first start releases five example mob definitions, four loot tables and two spawn rules, and /emakimobs reload applies your edits immediately.
01 Core Features
Each YAML file defines a stable mob id, a vanilla entity type, display data, components and experience reward.
- Vanilla component mapping: Configure health, movement, attack, equipment, names, persistence, visibility, variants and other supported entity fields without writing a new mob class.
- EmakiAttribute contributions: The
ea_attributessection can provide EmakiAttribute values to a managed mob when the optional integration is installed. - Action-driven mob behaviour: The
actionssection connects spawn, damage, target, kill, death, transform, teleport, explode, shoot and fixed health-threshold triggers to the CoreLib action pipeline. - Target selection and locking: Optional
target_selectordefinitions score nearby players from equipment, attributes, expressions or threat data;lock_targetcan keep a selected target for a configured interval. - Natural and autonomous spawning: Use
naturalrules for controlled replacement of vanilla spawn events orautonomousrules for interval, player-follow, in-game-day and cron schedules. - Configurable loot tables: A
loot_tables/<mob_id>.ymlfile alone enables drops for that mob — itsmob_iddoes the linking, so no loot key exists in the mob definition — with weighted pools carrying entry conditions, counts, looting adjustments and vanilla, item or EmakiItem drops. - Dual-backend model rendering and animation:
model.apiinconfig.ymlswitches between ModelEngine and BetterModel withautodetection, a per-mobmodel:node names the blueprint with optionalapi,scale,animations,keyframesandlodoverrides, level-of-detail tiers are chosen by distance to the nearest player, and themob_play_animation,mob_stop_animationandmob_set_modelaction stages drive model animations from mob actions; without either backend installed the mobs simply run without models. - Threat tables and boss bars: Track damage and healing threat with range and decay settings, and show a configurable Paper boss bar to nearby players.
- In-game definition editor:
/emakimobs editopens a graphical editor: with no id it opens the definition browser, with an id it opens that definition's paged editor — components, action triggers, threat, boss bar, model and target-lock settings, plus loot tables, spawn rules and target selectors — and saving writes the YAML straight back to disk. - Reload runs the pre-check first:
/emakimobs reloadruns the configuration pre-check before committing a new snapshot and reports issues by severity; a rejected candidate keeps the running snapshot, so a bad file never takes effect
02 Feature Overview
Mob definitions and components
- Put one definition in
mobs/*.ymlwithid,type,componentsand optionalea_attributes,actions,threat,boss_bar,target_selectorandmodelsettings. componentsmaps supported vanilla entity properties and equipment; unsupported component keys are ignored, so spelling should be checked against the component reference.- An id matching a vanilla
EntityTypeenables type override for naturally spawned entities of that type; use a distinct id when the effect should be limited to dedicated spawn rules. - The per-mob
model:node requires ablueprintand can setapi,scale,animations,keyframesand per-moblod; themodel:block inconfig.ymlselects the backend throughapi(autoprefers ModelEngine then BetterModel), setsview_distance, thelod.near/mid/fardistance tiers and the transition blend lengths. target_selectors.ymlships named selectors such asnearestandgear_hunter, scheduled bysnapshot_interval_ticksandsnapshot_players_per_tick, and selectors can carry inlinefilterpredicates; a mob'starget_selectorreferences one by name.- Use
/emakimobs spawn <mob_id>,/emakimobs info <mob_id>and/emakimobs listwhile developing definitions, and the admin-gated/emakimobs kill <mob_id> [radius]removes managed mobs.
Spawning and drops
spawn_rules/*.ymlacceptstype: naturalandtype: autonomous; autonomous rules supportinterval,player_follow,day_intervalandcrontriggers.- Filter by world, biome, structure, Y range, light, time of day, distance, nearby/global caps and count ranges.
loot_tables/<mob_id>.ymlalone enables drops for that mob: combine weighted entries, chance and condition gates, count functions, vanilla materials, configured item ids and EmakiItem drops, with no key needed in the mob definition.- Run
/emakimobs reloadafter editing definitions, loot tables or spawn rules; the precheck reports blocking configuration problems before the new snapshot is committed.
Combat and integration
actionscan targetself,target,killer,victimandattacker, enabling messages, particles, effects, damage, sounds andsummon_mobsequences.- Fixed threshold triggers (
90,75,50,25,10) fire once per managed entity and can drive multi-phase boss behaviour. - Install
EmakiAttributeforea_attributes,EmakiSkillsfor action-pipeline integrations exposed by Skills, andEmakiItemfor custom-item loot entries. - Threat and boss-bar state is cleaned with the managed entity lifecycle; reload keeps the current runtime snapshot when a candidate configuration is rejected
03 In-Game Views

04 Command Output
Listing every mob definition with the vanilla entity type behind it:
> emakimobs list
[ EmakiMobs ] Mob definitions page 1/1, 5 total:
[ EmakiMobs ] - bone_lord (minecraft:skeleton)
[ EmakiMobs ] - elite_zombie (minecraft:zombie)
[ EmakiMobs ] - example_zombie (minecraft:zombie)
[ EmakiMobs ] - jungle_stalker (minecraft:creeper)
[ EmakiMobs ] - zombie (minecraft:zombie)
05 Quick Start
- Place
EmakiCoreLibandEmakiMobsinplugins/; addEmakiAttribute,EmakiSkillsorEmakiItemonly for the integrations you use. The first start also releases example data — five mob definitions, four loot tables and two spawn rules — to copy from. - Create a definition under
mobs/, starting withid,typeandcomponents; useea_attributesandactionsfor current integration keys. - Add a
loot_tables/<mob_id>.ymlfile and, if the mob should spawn automatically, aspawn_rules/*.ymlrule usingnaturalorautonomous. - Run
/emakimobs reload, read the precheck output, then test with/emakimobs spawn <mob_id>and/emakimobs info <mob_id>. - Add optional target selection, threat or boss-bar settings only after the base definition and drops behave as expected
06 Compatibility and Dependencies
| Item | Details |
|---|---|
| Runtime baseline | Java 25, Paper 1.21.8 or newer |
| Required dependency | EmakiCoreLib |
| Main command and aliases | /emakimobs, /emobs |
| Key permissions | emakimobs.use, emakimobs.spawn, emakimobs.reload, emakimobs.list, emakimobs.info, emakimobs.count, emakimobs.debug, emakimobs.admin |
| Main configuration entries | config.yml (with its model: block), mobs/ (per-mob model:), loot_tables/, spawn_rules/, target_selectors.yml, lang/ |
Optional integrations, each used only when installed:
EmakiAttribute: readsea_attributesEmakiSkills: enables the related action-pipeline integrationEmakiItem: provides configured-item dropsPlaceholderAPI: available for configured condition/context integrationsModelEngineorBetterModel: renders models —model.apipicks one withautodetection, and without either the mobs run with no model





