Skip to content

EmakiMobs

EmakiMobs is the custom mob system module. It lets server administrators define custom mobs with YAML, configure spawn rules, loot tables, and skill behaviors, with deep integration into EmakiAttribute, EmakiSkills, and EmakiItem.

Module facts

ItemValue
Module version1.0.0
Main command/emakimobs
Hard dependencyEmakiCoreLib
Soft dependenciesEmakiAttribute, EmakiSkills, EmakiItem, PlaceholderAPI
Permissionsemakimobs.use, emakimobs.spawn, emakimobs.reload, emakimobs.debug, emakimobs.admin

Pages

PageContents
CommandsSpawning custom mobs and reloading configuration.
DefinitionsFull field reference for mobs/*.yml, including components, attributes, skills, threat table, and boss bar.
ComponentsAll component fields supported by ComponentMapper.
Spawn RulesFull field reference for spawn_rules/*.yml, covering the natural and autonomous types.
Loot TablesPool, entry, and function configuration in loot_tables/*.yml.
TriggersMob trigger list and action context variables.

Core capabilities

CapabilityDescription
Custom mob definitionsYAML-driven mob type, stats, appearance, and behavior; hot-reloaded.
Type overrideWhen id matches a vanilla EntityType name, the config is applied to all naturally spawned entities of that type.
Two spawn strategiesnatural intercepts vanilla spawn events; autonomous runs on its own scheduler (interval / player_follow / day_interval / cron triggers).
Loot table systemMulti-pool, weighted entries with count functions and looting enchant bonus.
EmakiItem integrationLoot table entries drop EmakiItem items through the emaki_item key.
EmakiAttribute integrationattributes section writes EA attribute values directly onto the mob.
Skill triggersEleven lifecycle events fire CoreLib action pipelines.
Threat tableSorts targets by accumulated threat; supports custom weights and decay.
Boss barShows mob health to players within range; configurable color and style.

Default runtime folder

text
plugins/EmakiMobs/
├── config.yml
├── mobs/               ← mob definition files
├── loot_tables/        ← loot table files
├── spawn_rules/        ← spawn rule files
└── lang/

mobs/ defines mobs, loot_tables/ defines drops, and spawn_rules/ defines when and where mobs appear. Any .yml file placed in these directories takes effect after /emakimobs reload.

Main configuration

KeyTypeDefaultDescription
versionstringCurrent versionConfig structure marker; manual edits are discouraged.
languagestringzh_CNLanguage file ID, matching lang/<language>.yml.
release_default_databooleantrueWhether to release example files in mobs/, loot_tables/, and spawn_rules/ on first start.
drain_timeout_secondsint30Seconds to wait for in-flight tasks before completing a reload.

Typical workflow

  1. Create a mob definition in mobs/ with an id, entity type, and component values.
  2. Create a matching loot table in loot_tables/ with a mob_id matching the mob id.
  3. Add a spawn rule in spawn_rules/ to link the mob to spawn conditions.
  4. Run /emakimobs reload or restart the server.
  5. Use /emakimobs spawn <mob_id> to test the mob at your current location.

Relations with other modules

ModuleIntegration
EmakiAttributeThe attributes section in mob definitions writes EA attribute values onto spawned entities.
EmakiSkillsThe skills section fires CoreLib action pipelines on lifecycle trigger events.
EmakiItemLoot table entries name an EmakiItem item ID under the emaki_item key to drop custom items.
EmakiCoreLibProvides the action pipeline engine for skills and the plugin lifecycle infrastructure.