跳到主要内容

从 MMOCore 迁移

两条指令搬完:先搬配置,再搬玩家数据。其他插件(MythicMobs 技能、MMOItems、记分板、TAB、商店指令)都不用改。

步骤​

  1. 备份:备份 plugins/MMOCore/ 与 MMOCore 的数据库。
  2. 先装星月天职,暂时保留 MMOCore 的文件夹:把 StarVocation 放进 plugins/,删掉 MMOCore 的 jar(文件夹 plugins/MMOCore/ 留着),启动服务器。
  3. 导入配置:
    /sv admin import mmocore config
  4. 检查后台:导入后会自动重载,后台列出所有读不懂的设定(例如技能找不到 MythicMobs 技能)。
  5. 导入玩家数据(服务器里没有玩家时执行最安全,在线玩家会被跳过):
    /sv admin import mmocore data
  6. 进游戏检查职业、等级、技能、技能槽、属性都在,然后就可以删掉 plugins/MMOCore/。
多个子服共用 MMOCore 的 MySQL?

在一个子服执行导入即可:星月天职的 config.yml 把 database.type 改成 mysql,所有子服连同一个数据库。

导入配置做了什么​

/sv admin import mmocore config [MMOCore文件夹] [MythicLib技能文件夹]

内容处理方式
classes/原样复制(格式相同)
skills/按职业分文件夹、改用技能的中文名称:s2thunder-slash.yml → skills/天罚雷狱仙/天罚雷斩·裂穹坠霆.yml;文件开头写入原本的 id:(玩家数据照常对应)与 MythicLib skill/ 里登记的 mythicmobs-skill-id。没有职业使用的技能放进 skills/未分类/
attributes/ expcurves/ exp-tables/ exp-sources.yml stats.yml triggers.yml原样复制
skill-trees/只复制职业 skill-trees: 用到的树(MMOCore 自带的示例树不会搬过来)
config.yml与 MMOCore 同名的选项写进星月天职的 config.yml:skill-casting、global-skill-cooldown、default-playerdata、death-exp-loss、combat-log、action-bar…

导入前星月天职原有的这些文件会备份到 plugins/StarVocation/backups/before-import-日期时间/。

导入玩家数据做了什么​

/sv admin import mmocore data [mysql|yaml] [overwrite]

  • 不写来源时,按 MMOCore config.yml 的 mysql.enabled 决定读 MySQL(表 mmocore_playerdata,使用 MMOCore 的连接设定)还是 userdata/*.yml。
  • 默认跳过已经有星月天职数据的玩家;加 overwrite 则覆盖。在线玩家一律跳过。

搬过来的内容:

MMOCore星月天职
当前职业、职业点✔
等级、经验、技能点、属性点、属性重置点、技能重置点、技能树重置点✔
技能等级(skills)、技能槽(bound_skills)、属性(attributes)✔
技能树等级(skill_tree_levels)与点数(skill_tree_points)✔ 只搬星月天职里存在的技能树节点
解锁的技能与技能槽(unlocked_items)✔
其他职业的进度(class_info)✔ 换回那个职业时等级、技能、技能槽都在
经验表领取次数(times_claimed)✔ 属性 / 技能加成奖励导入后照常生效
生命、魔力、耐力、星能✔
任务、公会、好友、传送点、生活职业✘ 星月天职不包含这些功能

MMOCore 有时把数字存成文字(例如 {"S2THUNDER_SLASH":"7"}),导入时已处理。

其他插件需要改什么​

都不需要改。 没有安装 MMOCore 时,星月天职会自动接手:

原本依赖 MMOCore 的星月天职怎么接手
MythicMobs 技能的 <modifier.damage>、mmodamage、<mmostat.xxx>技能经由 MythicLib 施放,参数照常传入
MythicMobs 的 <mana> <stamina> <stellium> <attribute.xxx>星月天职注册同名变量
MMOItems 的 required-level、required-class、技能魔力消耗星月天职成为 MMOItems 的 RPG 核心
记分板 / TAB / 名牌 / 聊天的 %mmocore_class% %mmocore_level% …星月天职注册 mmocore 变量
商店、NPC、脚本执行的 mmocore admin skill-points give …星月天职注册 /mmocore 兼容指令
LuckPerms 的 mmocore.class.<职业> 权限照常认得

迁移后建议​

  • MMOCore 的「升级给点数」通常写成 command{format="mmocore admin skill-points give %player% 1"},星月天职会自动当成内置的给点数,不需要改;想整理的话可以改成 points: skill 1。
  • 职业介绍里手写的「每级 +N 攻击力」可以换成 {stat_lines},数值永远与 attributes: 一致。
  • skills/未分类/ 里多半是 MMOCore 自动生成或 MMOItems 武器用的技能,确认用不到可以删除。