EmakiMobs
EmakiMobs 是自定义生物系统模块,允许服主通过 YAML 配置自定义生物属性、刷新规则、掉落表和技能行为,并深度集成 EmakiAttribute、EmakiSkills 和 EmakiItem。
基本信息
| 项目 | 值 |
|---|---|
| 模块版本 | 1.0.0 |
| 主命令 | /emakimobs |
| 硬依赖 | EmakiCoreLib |
| 软依赖 | EmakiAttribute、EmakiSkills、EmakiItem、PlaceholderAPI |
| 权限节点 | emakimobs.use、emakimobs.spawn、emakimobs.reload、emakimobs.debug、emakimobs.admin |
功能页面
| 页面 | 内容 |
|---|---|
| 命令与权限 | 手动刷出生物与重载配置的命令。 |
| 生物定义 | mobs/*.yml 全字段说明,含组件、属性、技能、威胁表和 Boss 血条。 |
| 组件参考 | ComponentMapper 支持的所有组件字段速查表。 |
| 刷新规则 | spawn_rules/*.yml 的完整字段说明,含 natural 与 autonomous 两种类型。 |
| 掉落表 | loot_tables/*.yml 池、条目和函数的配置方法。 |
| 技能触发器 | 生物触发器列表及动作上下文变量。 |
核心能力
| 能力 | 说明 |
|---|---|
| 自定义生物定义 | YAML 配置生物类型、属性、外观和行为,加载后立即生效。 |
| 类型覆写 | id 与原版 EntityType 同名时,自动对所有该类型生物应用配置。 |
| 两种刷新规则 | natural 拦截原版刷新事件,autonomous 由自己的调度器驱动(interval / player_follow / day_interval / cron 四种 trigger)。 |
| 掉落表系统 | 多池多条目设计,支持权重、概率过滤、计数函数和掠夺附魔加成。 |
| EmakiItem 集成 | 掉落表条目使用 emaki_item 键直接掉落 EmakiItem 物品。 |
| EmakiAttribute 集成 | 生物定义中的 attributes 节点直接写入 EA 属性。 |
| 技能触发器 | 11 种生命周期事件触发 CoreLib 动作管道。 |
| 威胁仇恨表 | 多玩家交战时按威胁值排序目标,支持权重和衰减配置。 |
| Boss 血条 | 范围内玩家界面顶部显示生物血量,支持颜色和风格配置。 |
默认配置目录
text
plugins/EmakiMobs/
├── config.yml
├── mobs/ ← 生物定义文件
├── loot_tables/ ← 掉落表文件
├── spawn_rules/ ← 刷新规则文件
└── lang/mobs/ 定义生物,loot_tables/ 定义掉落表,spawn_rules/ 定义刷新规则。三个目录的文件只要保存在对应目录下(.yml 后缀),执行 /emakimobs reload 后即可生效。
主配置
| 配置键 | 类型 | 默认值 | 说明 |
|---|---|---|---|
version | string | 当前版本 | 配置结构标识,不建议手动修改。 |
language | string | zh_CN | 语言文件 ID,对应 lang/<language>.yml。 |
release_default_data | boolean | true | 首次启动时是否释放 mobs/、loot_tables/、spawn_rules/ 示例文件。 |
drain_timeout_seconds | int | 30 | 重载时等待正在处理的任务完成的超时秒数。 |
典型工作流
- 在
mobs/中创建生物定义文件,指定 id、类型和组件。 - 在
loot_tables/中创建同名掉落表文件,mob_id与生物 id 对应。 - 在
spawn_rules/中添加刷新规则,将生物与刷新条件关联。 - 执行
/emakimobs reload或重启服务器使配置生效。 - 使用
/emakimobs spawn <mob_id>在当前位置测试刷出效果。
与其他模块的关系
| 模块 | 协作方式 |
|---|---|
| EmakiAttribute | 生物定义的 attributes 节点直接写入 EA 属性值。 |
| EmakiSkills | 生物定义的 skills 节点在触发器事件发生时调用 CoreLib 动作管道。 |
| EmakiItem | 掉落表条目用 emaki_item 键指定 EmakiItem 物品 ID,掉落自定义物品。 |
| EmakiCoreLib | 依赖 CoreLib 的动作管道系统执行技能动作,依赖其生命周期基础设施。 |