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
| Item | Value |
|---|---|
| Module version | 1.0.0 |
| Main command | /emakimobs |
| Hard dependency | EmakiCoreLib |
| Soft dependencies | EmakiAttribute, EmakiSkills, EmakiItem, PlaceholderAPI |
| Permissions | emakimobs.use, emakimobs.spawn, emakimobs.reload, emakimobs.debug, emakimobs.admin |
Pages
| Page | Contents |
|---|---|
| Commands | Spawning custom mobs and reloading configuration. |
| Definitions | Full field reference for mobs/*.yml, including components, attributes, skills, threat table, and boss bar. |
| Components | All component fields supported by ComponentMapper. |
| Spawn Rules | Full field reference for spawn_rules/*.yml, covering the natural and autonomous types. |
| Loot Tables | Pool, entry, and function configuration in loot_tables/*.yml. |
| Triggers | Mob trigger list and action context variables. |
Core capabilities
| Capability | Description |
|---|---|
| Custom mob definitions | YAML-driven mob type, stats, appearance, and behavior; hot-reloaded. |
| Type override | When id matches a vanilla EntityType name, the config is applied to all naturally spawned entities of that type. |
| Two spawn strategies | natural intercepts vanilla spawn events; autonomous runs on its own scheduler (interval / player_follow / day_interval / cron triggers). |
| Loot table system | Multi-pool, weighted entries with count functions and looting enchant bonus. |
| EmakiItem integration | Loot table entries drop EmakiItem items through the emaki_item key. |
| EmakiAttribute integration | attributes section writes EA attribute values directly onto the mob. |
| Skill triggers | Eleven lifecycle events fire CoreLib action pipelines. |
| Threat table | Sorts targets by accumulated threat; supports custom weights and decay. |
| Boss bar | Shows 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
| Key | Type | Default | Description |
|---|---|---|---|
version | string | Current version | Config structure marker; manual edits are discouraged. |
language | string | zh_CN | Language file ID, matching lang/<language>.yml. |
release_default_data | boolean | true | Whether to release example files in mobs/, loot_tables/, and spawn_rules/ on first start. |
drain_timeout_seconds | int | 30 | Seconds to wait for in-flight tasks before completing a reload. |
Typical workflow
- Create a mob definition in
mobs/with an id, entity type, and component values. - Create a matching loot table in
loot_tables/with amob_idmatching the mob id. - Add a spawn rule in
spawn_rules/to link the mob to spawn conditions. - Run
/emakimobs reloador restart the server. - Use
/emakimobs spawn <mob_id>to test the mob at your current location.
Relations with other modules
| Module | Integration |
|---|---|
| EmakiAttribute | The attributes section in mob definitions writes EA attribute values onto spawned entities. |
| EmakiSkills | The skills section fires CoreLib action pipelines on lifecycle trigger events. |
| EmakiItem | Loot table entries name an EmakiItem item ID under the emaki_item key to drop custom items. |
| EmakiCoreLib | Provides the action pipeline engine for skills and the plugin lifecycle infrastructure. |