跳到主要内容

对比 MMOCore

MMOCore 更新很慢,下面这些问题在最新的 1.13.1 仍然存在。与其等它修,我们自己做了一个职业插件,并且持续维护。

星月天职的目标:MMOCore 职业系统的每个配置参数都照原样支持,MMOCore 的配置文件可以直接放进来用;再把 MMOCore 长期存在的麻烦和问题解决掉。

下表按 MMOCore 1.13.1 的源码逐项整理。

一张表看差异​

MMOCore 1.13StarVocation 星月天职
职业 / 技能 / 属性 / 技能树 / 经验表文件✅✅ 同样格式,直接复制即可使用
技能文件放子文件夹、中文文件名❌ 文件名就是技能 ID,只能用英文、全部挤在一起✅ 任意子文件夹、中文文件名,ID 可另外写 id:
技能界面顺序按解锁等级排序,同级别时顺序不固定✅ 照职业文件的顺序,也可以 slot: 指定格子
接上 MythicMobs 技能要在 MythicLib 的 skill/ 另写一份,与 MMOCore 技能文件分开维护✅ 技能文件里直接写 mythicmobs-skill-id;也可用 mythiclib-skill 接 MythicLib 自带技能
技能读不到参数(<modifier.xxx>)抛出 Could not find parameter 错误,每次施放都写一份错误日志✅ 当作 0,只在后台提示一次是哪个技能缺哪个参数
职业介绍里的「每级 +N 攻击」手写,常与实际数值不同✅ {stat_lines} 按职业属性自动生成
经验来源21 种,写在职业或 exp-sources.yml✅ 21 种全部支持;另有经验组写法,一组怪物同一个经验值
经验加成只有全服加成(/mmocore booster),重启服务器就消失✅ 全服 / 指定职业 / 指定玩家,可限时、存数据库、多服同步;另有按权限加成
升级给点数用 command{format="mmocore admin skill-points give ..."} 绕一圈✅ 这种指令自动变成内置给点数,也可以直接写 points: skill 1
子职业✅✅ 同样规则:保留进度、清空技能槽、消耗 1 职业点
施放模式技能栏 / 按键组合 / 滚动选择✅ 三种都有,键名与选项相同
技能树自定义 / 邻接,前置、子节点上限、点数上限、按状态与形状换图标✅ 同样的状态算法;另有 auto-paths 自动画路径
%mmocore_*% 变量✅✅ 全部兼容(没装 MMOCore 时自动注册),另有 %starvocation_*%
/mmocore admin ... 指令✅✅ 同样语法(没装 MMOCore 时自动注册),商店、NPC、脚本里的指令不用改
MMOItems 等级 / 职业需求、技能魔力消耗✅✅ 自动成为 MMOItems 的 RPG 核心
跨服MySQL,is_saved 标记✅ MySQL,服务器锁,换服时自动等待上一个子服保存
从对方迁移—✅ /sv admin import mmocore config 与 /sv admin import mmocore data
云介面 CloudUI—✅ 职业 / 技能 / 天赋点 / 技能树画面,个人资讯显示职业与职业经验
维护更新慢,问题长期没修✅ 持续维护,问题回报后修正并发布新版
价格—✅ 永久免费(星系列)

修正的 MMOCore 问题​

以下是实际读 MMOCore 1.13.1 源码时确认的问题,星月天职照设计意图实现,不照抄:

MMOCore 的问题星月天职
climb / move / eat / play / resource / ride / damagetaken / projectile 经验来源不检查职业,写在一个职业里,所有职业都会拿到经验只有写了这个来源的职业才拿经验
projectile 经验来源检查的是「被打的实体是不是投射物」,永远不会触发正常按投射物伤害 × 距离给经验
play 经验来源在 /mmocore reload 后旧的计时器不停止,重复发经验只有一个计时器
booster remove 删的是复制出来的列表,实际上没有删除正常删除
经验全息字把 exp 换掉而不是 {exp},画面上会留下 {12.5} 的括号正常显示
职业事件 on-hit-damage 因为键名转换不一致,永远不会触发正常触发
reset skills 解除技能槽的循环只检查第 0 格,技能槽不会清空正常清空
attribute give 对没有 max-points 的属性会把点数设成 0正常增加
滚动选择模式在技能被移除后选择位置越界,施放时报错自动换回有效的位置
建表程序每次开服都报 Duplicate column name 'is_saved'不会

目前不包含​

星月天职专注在职业系统。以下 MMOCore 的功能不包含,建议使用专门的插件:

  • 任务、队伍、好友、公会、传送点
  • 生活职业(挖矿、钓鱼、炼金等专业)与依赖它们的自定义挖矿、钓鱼掉落、炼金经验基础值(brewpotion / enchantitem / repairitem 经验来源改用 amount 指定)
  • 战利品箱、掉落表、存取款(金币物品)、PvP 模式
  • MMOCore 的 gui/*.yml 界面格式(星月天职使用 menus/*.yml,选项见菜单)
  • MythicLib 角色档案插件(Profiles)的强制选择职业流程(force-class-selection 改为对所有玩家有效:还是默认职业时进服打开选择界面)
  • 自动为每个 MythicLib 技能生成 skills/ 样板文件(这正是 MMOCore 技能文件夹杂乱的原因)

完整的参数对照见各配置页面,每个与 MMOCore 同名的选项都标注了。