Doc ID: SIRC-044

MythicMobs 4.x / 5.x API 知识库

明确列出 MythicMobs 4.x 与 5.x 在 Java API 层面的包名与核心类差异,以便插件开发者进行版本迁移或兼容性开发。

Overview

MythicMobs 4.x / 5.x API 知识库

本文档用于 明确列出 MythicMobs 4.x 与 5.x 在 Java API 层面的包名与核心类差异,以便插件开发者进行版本迁移或兼容性开发。


一、总体变化概览

核心变化特征

  • 包名前缀统一从:
io.lumine.xikage.mythicmobs

迁移为:

io.lumine.mythic
  • 逻辑结构拆分为:

    • api(对外 API)
    • core(内部核心实现)
    • bukkit(平台实现)

二、核心类对照表(4.x → 5.x)

1️⃣ 主插件实例

功能 4.x 5.x
主类 io.lumine.xikage.mythicmobs.MythicMobs io.lumine.mythic.bukkit.MythicBukkit

示例(5.x)

MythicBukkit mythic = MythicBukkit.inst();

2️⃣ Bukkit 适配 / API Helper

功能 4.x 5.x
Bukkit 适配 api.bukkit.BukkitAPIHelper api.adapters.BukkitAdapter

常见用途

  • Bukkit Entity ↔ Mythic Entity 转换

3️⃣ ActiveMob(已生成的怪物实例)

功能 4.x 5.x
ActiveMob mobs.ActiveMob core.mobs.ActiveMob

ActiveMob 表示已经生成在世界中的 Mythic 怪物实例


4️⃣ MythicMob(怪物模板)

功能 4.x 5.x
MythicMob mobs.MythicMob core.mobs.MythicMob

5️⃣ MobManager(怪物管理器)

功能 4.x 5.x
MobManager mobs.MobManager api.mobs.MobManager

示例(5.x)

MobManager mobManager = MythicBukkit.inst().getMobManager();

6️⃣ Skill(技能对象)

功能 4.x 5.x
Skill skills.Skill core.skills.Skill

7️⃣ SkillManager(技能管理器)

功能 4.x 5.x
SkillManager skills.SkillManager api.skills.SkillManager

8️⃣ MythicItem(自定义物品)

功能 4.x 5.x
MythicItem items.MythicItem core.items.MythicItem

9️⃣ ItemManager(物品管理器)

功能 4.x 5.x
ItemManager items.ItemManager api.items.ItemManager

🔟 SpawnerManager(刷怪点管理)

功能 4.x 5.x
SpawnerManager spawning.SpawnerManager api.spawning.SpawnerManager

三、迁移开发建议(4.x → 5.x)

✅ 正确迁移思路

  1. 先替换 import 包名,不要直接复制旧路径
  2. 优先使用 api.* 包下的 Manager
  3. 避免直接依赖 core 包中的实现类(除非必要)
  4. 所有入口统一从 MythicBukkit.inst() 获取

❌ 常见错误

  • 继续使用 io.lumine.xikage.*
  • 通过反射调用已移动的内部类
  • 假设 4.x 的 Manager 方法在 5.x 中仍存在

四、定位问题的正确方式

当你在 5.x 中找不到某个 4.x 的类时:

  1. 先判断它是 Manager / 模板 / 实例 / 内部实现
  2. 优先在 io.lumine.mythic.api 下搜索
  3. 再在 core 包中查找是否为内部类
  4. 使用 IDE 的「查找类」而不是猜路径

五、文档定位说明

本文档适用于:

  • 插件代码从 MythicMobs 4.x 升级到 5.x
  • 编写 双版本兼容插件
  • AI / 自动化代码迁移参考

不适用于:

  • 技能语法教学
  • YAML 配置编写
  • MythicMobs 使用教程