从 MMOItems 迁移
把 CloudItems 装进已经有 MMOItems 资料夹的服务器,第一次启动就会自动迁移:读取 plugins/MMOItems,把内容写成云物品自己的格式。
- MMOItems 资料夹只读取、不修改,迁移模板时 MMOItems 插件装不装都可以(只需要它的资料夹)。
- 移除 MMOItems 插件後,玩家 手上的物品也会自动转换,保留数值、强化与宝石。
- 已经存在的云物品 ID 不会被覆盖;再迁移一次只会加入还没有的物品。
- 每件物品都列在报告里:完整转入,或哪些设定没有对应功能。
怎么做
-
停服,把
CloudItems.jar放进plugins/(保留plugins/MMOItems/资料夹)。 -
启动。后台会显示:
[CloudItems] MMOItems 迁移完成:物品 337 件(略过 0 件已存在)、新类型 0、阶级 11、强化方案 16、套装 9、锻造配方 21;报告:migration/mmoitems-20261013-223731.txt -
打开
plugins/CloudItems/migration/里的报告,看「△」标记的物品需要手动确认的设定。 -
确认没问题后,移除 MMOItems 插件(保留
plugins/MMOItems/资料夹也可以)再重启,玩家的物品就会自动转换。
之后想再跑一次(例如 MMOItems 那边又加了物品):输入 /ci migrate。只会加入还没有的物品,不会动已经转好的;唯一的例外是之前迁移时还没转入的模型 设定(物品模型、自订模型字串 等),这类字段会补上,其他设定一律不动。
自动迁移完成后会建立 plugins/CloudItems/.mmoitems-import-v1。之后启动不会再自动迁移;删除这个档案,下次启动会再检查一次。
转入哪些内容
| MMOItems | 转成 |
|---|---|
item/<类型>.yml 的每件物品 | items/<类型>.yml,云物品原生格式 |
item-types.yml 的自订类型 | item-type.yml 的新类型(保留父类型) |
item-tiers.yml | tier.yml 的阶级名称 |
upgrade-templates.yml | progression.yml 的强化方案(+N → 每级固定,N% → 每级百分比) |
item-sets.yml | item-sets.yml 的 套装 |
物品的 crafting 合成配方 | 锻造站 crafting-stations/MMOItems配方.yml,材料按格子合计 |
crafting-stations/ 的工作站 | 合成配方 → 同名锻造站;强化配方 → 物品的强化费用(工作站) |
modifiers/ 的修饰与修饰群组、物品的 modifiers: | progression.yml 的词缀池、物品的 养成.词缀(修饰) |
language/ 的 Lore 格式、属性格式与讯息 | lore-format.yml、stats.yml、messages.yml(Lore 外观与讯息) |
玩家手上的物品
模板迁移完、移除 MMOItems 插件後重启,玩家已经拥有的 MMOItems 物品会自动转成云物品,不需要玩家做任何事:
| 位置 | 什么时候转换 |
|---|---|
| 背包、身上装备、副手、末影箱 | 玩家进服时;之後拿到的(捡起、交易、邮件领取)也会自动转换 |
| 箱子、木桶、漏斗、熔炉、发射器等容器 | 区块载入时整个区块检查一次;玩家打开容器时也会检查 |
| 展示框、盔甲架、地上的掉落物、运输矿车与箱船 | 区块载入时 |
| 上面任何地方里的潜影盒、收纳袋 | 跟着外层一起转换 |
转换会保留:
- 数值:每项属性维持 MMOItems 当初骰出来的数字(例如攻击伤害 15、生命力 7.83),不会重新随机
- 强化等级:
+2照样是+2,强化加成依转入的强化方案计算 - 镶嵌的宝石:宝石连同它自己骰出来的数值一起镶在原本的孔上,拆下来也还是同一颗
- 耐久、附魔、数量(一组宝石 ×3 还是 ×3)
每一件转换都记在 migration/mmoitems-converted.log(位置、MMOItems 物品、对应的云物品、强化与宝石)。
MMOItems 插件还在运行时不会转换(避免两个插件同时管理同一件物品),後台会提示。
找不到对应云物品的 MMOItems 物品会原样保留并在後台列出;补上物品(例如再执行 /ci migrate)後,下次被看到时就会转换。
物品 ID 的对应记在 migration/mmoitems-ids.yml(迁移时自动建立,ID 重复而改名的物品例如 D1 → D1_GEM_STONE 也在里面),请保留这个档案。不想自动转换时,config.yml 设 MMOItems物品转换: false。
修饰(modifiers)
MMOItems 的修饰会转成词缀:
| MMOItems | 云物品 |
|---|---|
修饰群组(modifiers: 列出成员与权重、min / max) | 同名词缀池;物品从这个池抽 最少~最多 条 |
单一修饰(chance) | 只有一条词缀的池,以 机率 抽取 |
| 写在物品上的修饰 | 这件物品专用的词缀池 |
修饰的属性、element、ability、prefix / suffix | 词缀的 属性、元素属性、技能、前缀 / 后缀 |
物品上写的 min / max / chance 优先於群组本身的设定。玩家手上已经抽好修饰的 MMOItems 物品转换後,保留当初抽到的修饰:数值、技能、名称前後缀都相同,不会重抽。
修饰里 two-handed、perm-effects、lore 等不是属性或技能的设定没有对应,会在报告列出;群组里再放群组也不支援。
工作站
crafting-stations/ 里的每个 MMOItems 工作站都会转入:
| MMOItems 配方 | 转成 |
|---|---|
合成配方(output:) | 同名的锻造站档案 crafting-stations/<站名>.yml,/ci forge <站名> 开启 |
强化配方(item:) | 该物品自己的「强化」费用(材料、金钱、等级),玩家在强化站(/ci forge 强化站)强化;成功率沿用物品在 MMOItems 的 upgrade.success |
| 配方设定 | 云物品 |
|---|---|
mmoitem{type=…,id=…,amount=…}、vanilla{type=…,amount=…} 材料 | 材料表(类型:ID x数量、原版:材质 x数量) |
level{level=…}、money{amount=…}、class{list=…}、permission{list=…} 条件 | 等级限制、需要金钱、职业限制、权限 |
success-chance、crafting-time、output.amount | 成功机率、制作秒数、数量 |
- 工作站的介面版面(
gui-layout)不转入,改用云物品的版面。 - 原本用
/mi stations open <站>开启的 NPC、告示牌或选单,请改成/ci forge <站>。 mana、stamina、food、placeholder等其他条件,以及 MythicMobs / ItemsAdder 材料没有对应,会在报告里逐个列出;材料找不到的配方整个不转入(不会变成免费)。
Lore 外观与讯息
第一次迁移时,MMOItems 的外观设定会一起套用到云物品,转换来的物品看起来跟原本一样:
| MMOItems | 云物品 |
|---|---|
language/lore-format.yml | lore-format.yml 的排列({bar}、{sbar}、#attack-damage# 等写法相同) |
language/lore-formats/<名称>.yml(类型或物品指定的格式) | 物品的 Lore排列 |
language/stats.yml 每个属性的格式({value}、<plus>) | stats.yml 的 显示格式({最终数值}、{正负号}) |
language/stats.yml 的 item-type、tier、required-level、durability、success-rate 等 | stats.yml 的 栏位格式 |
gem-sockets.empty / gem-sockets.filled | 宝石孔格式 / 已镶嵌格式 |
ability.general-format | 技能行 |
config.yml 的 item-upgrading.name-suffix、display-stat-changes | 强化名称、强化属性後缀 |
language/messages.yml(权限、等级、职业、魔力不足、宝石镶嵌成功/碎裂、强化成功/失败/上限、材料不足、冷却) | messages.yml 对应的讯息(#item# → {物品}、#gem# → {宝石}、#left# → {秒数}) |
- 套用前,云物品原本的
lore-format.yml、stats.yml、messages.yml会备份到migration/backup-<时间>/。 - 只套用一次:之後再执行
/ci migrate不会盖掉你改过的外观。想重新套用,删除plugins/CloudItems/.mmoitems-lore-v1再执行/ci migrate。 - MMOItems 有、云物品没有内容的占位符(
#soulbound#、#can-identify#、MMOCore 属性需求等)会自动隐藏,并列在报告里。 - MMOItems 在技能下方列出的技能参数(
modifier-foreach)没有对应,技能行只显示「触发 + 技能名称」。
字段对照
| MMOItems | 云物品 |
|---|---|
name、material、lore(§ 色码自动换成 &) | 名称、材质、Lore |
tier、revision-id、custom-model-data、unbreakable | tier、版本、自订模型数值、无法破坏 |
model、custom-model-data-strings、custom-model-data-floats | 物品模型、自订模型字串、自订模型浮点 |
equippable-model、tooltip-style、hide-tooltip | 装备外观、提示框样式、隐藏提示框 |
enchants、hide-enchants、hide-dye、hide-armor-trim | 附魔、隐藏附魔、隐藏标记 |
dye-color、potion-color | 染色 |
trim-material + trim-pattern | 盔甲纹饰 |
skull-texture、ia-item | 头颅材质.value、IA模型 |
max-durability、max-item-damage、unstackable | 耐久上限、最大堆叠: 1 |
displayed-type | 类型显示(Lore 类型行改显示这段文字) |
所有数值属性(attack-damage、max-health…) | 属性;base / scale / spread / max-spread / min / max 原样转成 基础值 / 每级增加 / 浮动标准差 / 最大浮动比例 / 最小值 / 最大值 |
element.<元素>.<damage/defense/…> | 对应元素属性,例如 FIRE_DAMAGE、DARKNESS_DEFENSE |
required-level、required-class | 等级限制、职业限制 |
disable-crafting / repairing / enchanting / smithing / drop / attack-passive | 禁止原版合成 / 禁止原版修理 / 禁止附魔 / 禁止锻造台 / 禁止丢弃 / 禁止命中被动 |
disable-interaction(方块) | 禁止放置 |
perm-effects | 常驻药水 |
ability(全部触发:RIGHT_CLICK、ON_HIT、DAMAGED、TIMER…) | 技能,数值参数(damage、cooldown、mana…)照搬;同一个触发有多个技能时转成清单,全部保留 |
staff-spirit | 攻击模式(最接近的内建模式) |
mana-cost | 普攻魔力消耗 |
gem-sockets、gem-color、success-rate | 养成.宝石孔、宝石.类别、宝石.成功率 |
upgrade.template、upgrade.max | 养成.强化方案、最大强化 |
set | 套装 |
消耗品:restore-health / food / saturation、item-cooldown、effects、commands、sounds.on-consume | 使用.恢复生命 / 恢复饱食 / 恢复饱和、使用.冷却秒、使用.药水效果、使用.指令(%player_name% → {player})、使用.音效 |
报告里常见的「没有对应」
这些 MMOItems 功能云物品没有,会在报告中逐件列出、不会悄悄消失:
- 灵魂绑定(
soulbound-*)、鉴定 / 拆解(can-identify、can-deconstruct)、损坏或死亡降级(*-downgrade) - 物品粒子、箭矢粒子、盾牌图案、双手武器(
two-handed)、手持装备(handworn) - 随机生成模板(
gen-template、modifiers)、生态域限制、MMOCore 属性需求(required-dexterity等) - 技能参数
delay、stamina(技能触发全部支援,DAMAGED、KILL_ENTITY、TIMER等照原样转入)
MMOItems 用「强化石」消耗品强化装备,云物品的强化站则按强化方案的 材料 收费。迁移时若找到对应的强化石(同 reference 的消耗品)会自动设为材料;找不到时方案没有材料(强化免费),报告开头会提醒你到 progression.yml 的 强化.<方案>.材料 补上。
实测
以一个运营中的服务器的 MMOItems 资料(40 个类型档、337 件物品、12 个工作站)实测:
- 337 件全部转入并载入,零载入警告;11 个阶级、16 个强化方案、9 个套装、21 个合成配方一并转入
- 74 个技能全部转入(包括同一个触发上的多个技能);
damage 20 / cooldown 5的技能在 MMOItems 与云物品打出的伤害、冷却完全相同 - 工作站:5 个锻造站共 30 个配方、28 个强化配方转入,材料、金钱、等级、成功率与原本相同
- 玩家物品:背包、末影箱、箱子、潜影盒、展示框、盔甲架、地上与远处区块的物品全部转换,强化 +2、镶嵌的宝石与每项数值都与 MMOItems 时相同
- 在 Paper 1.21.4 与 26.3 都验证过