跳到主要内容

品质重铸配置教程

这是一篇面向新手的保姆级教程。跟着做,你就能配置出自己服务器的品质(tier)系统:让玩家重铸装备时随机出 普通 / 稀有 / 史诗 / 传说 等品质,不同品质给装备附加不同属性。

如果你还没读过 重铸系统,建议先大致浏览一遍,了解品质重铸是什么。

品质重铸是干什么的?​

简单说:玩家把装备放进重铸台,花钱,装备的品质重新随机一次。

  • 掷出什么品质,由你在 tier.yml 里配置的权重决定
  • 掷出某个品质后,该品质的属性修饰会附加到装备上(比如传说品质 +10 攻击伤害)
  • 物品名字会被加上该品质的颜色前缀(比如传说品质名字变金色)

开始之前:三个前置开关​

品质重铸要能用,必须同时满足以下条件,都在 plugins/MMOitemsReforge/config.yml 里:

reforge:
modes:
quality:
enabled: true # ① 品质重铸总开关
cost: 50.0 # ② 每次品质重铸收多少钱(Vault 金币)
max-quality-reforge-count: 10 # ③ 每件物品最多品质重铸几次(0 = 不限次数)
备注

max-quality-reforge-count 是跟着物品走的:一件装备被重铸 10 次之后就不能再品质重铸了,换个新装备又是 10 次。

认识 tier.yml​

品质配置文件在:

plugins/MMOitemsReforge/tier.yml

第一次启动插件时,这里会自带一份完整的示例(common / uncommon / rare / epic / legendary 五档),你可以直接改,也可以照着加。

最重要的规则:品质 ID 必须和 MMOItems 对得上​

tier.yml 里的品质 ID(common、rare 这些)必须对应 MMOItems 里真实存在的品质。MMOItems 默认有:

COMMON、UNCOMMON、RARE、EPIC、LEGENDARY、MYTHIC
大小写随便写

这里不区分大小写:rare、Rare、RARE 都行,插件会自动转成 MMOItems 用的大写 ID。但拼写必须正确——如果你在 MMOItems 里删掉了某个品质,这里也要同步删掉。

手把手:写一个品质​

来看一个"稀有"品质的完整配置,逐行解释:

tiers:
rare: # ← 品质 ID,必须对应 MMOItems 的 RARE
display-name: "&bRare" # 显示名(仅用于后台调试日志,玩家看不到)
weight: 15 # 权重:决定抽中概率(下文详解)
name-prefix: "&b" # 名字前缀:重铸后物品名变成青色
name-suffix: "" # 名字后缀:一般留空
tooltip-style: "minecraft:rare" # 1.20.5+ 客户端物品边框颜色
stat-modifiers: # 属性修饰:抽中该品质后附加到装备
ATTACK_DAMAGE: 4 # 攻击伤害 +4
ATTACK_SPEED: 2 # 攻击速度 +2
CRITICAL_STRIKE_CHANCE: 5 # 暴击几率 +5(物品原本没有也会新增)

重铸后玩家看到的效果:物品名前面被染成青色(&b),属性比原来多了一截。

weight:权重怎么算概率?​

概率 = 自己的权重 ÷ 所有权重之和。越高越容易出。

默认五档的权重和概率:

品质weight概率
common5050/100 = 50%
uncommon3030/100 = 30%
rare1515/100 = 15%
epic44/100 = 4%
legendary11/100 = 1%

想调难度只改数字就行:比如想让传说变成万里挑一,把 legendary 的 weight 改成 0.5 是不行的——权重建议写整数,那就把其他的调大(如 100/60/30/8/1)。

stat-modifiers:属性修饰怎么写?​

支持三种写法,可以混用:

stat-modifiers:
ATTACK_DAMAGE: 5 # ① 固定值:直接 +5(也可以写成 "+5")
ATTACK_SPEED: "10%" # ② 百分比:在物品当前攻速基础上 +10%
MAX_MANA: "-15%" # ③ 负百分比:削弱属性也可以
信息
  • 固定值:直接加到装备的该属性上。
  • 百分比:基于物品当前的基础属性值计算。物品本身没有的属性写百分比无意义,写固定值则会新增该属性。
  • 属性 ID 写 MMOItems 的属性名(大写),如 ATTACK_DAMAGE、CRITICAL_STRIKE_CHANCE、MAX_HEALTH。

进阶:不同职业装备给不同加成(按类型覆盖)​

品质修饰还可以按 MMOItems 物品类型单独配置。在 stat-modifiers 下再嵌套一层类型名即可:

stat-modifiers:
# 公共部分:所有类型都生效
ATTACK_DAMAGE: 2
# 类型覆盖:只对剑生效(会覆盖公共部分同名的 ATTACK_DAMAGE)
SWORD:
ATTACK_DAMAGE: 8
# 类型覆盖:只对盔甲生效
ARMOR:
MAX_HEALTH: 5

合并规则:先取公共部分,再把对应类型的配置盖上去。上例中一把剑最终是 ATTACK_DAMAGE: 8,一件盔甲是 ATTACK_DAMAGE: 2 + MAX_HEALTH: 5。

还有一个特殊分组 DEFAULT,它的作用是把内容并入公共部分,适合把公共项集中管理:

stat-modifiers:
ATTACK_DAMAGE: 2 # 公共
DEFAULT: # 会并入公共部分,效果同上
CRITICAL_STRIKE_CHANCE: 3
SWORD:
ATTACK_DAMAGE: 8

drop-effect:掉落特效(可选)​

给重铸后掉落在地上的物品加特效(需要启用相关监听):

drop-effect:
glow: true # 发光
glow-color: "AQUA" # 发光颜色(可选)
show-name: true # 头顶显示物品名
vfx: # 视觉特效粒子
enabled: true
material: "POTION" # 特效用什么物品显示
model-data: 1 # CustomModelData(配合材质包)
color: "#55FFFF" # 特效颜色(十六进制)

glow-color 可用颜色:BLACK、DARK_BLUE、DARK_GREEN、DARK_AQUA、DARK_RED、DARK_PURPLE、GOLD、GRAY、DARK_GRAY、BLUE、GREEN、AQUA、RED、LIGHT_PURPLE、YELLOW、WHITE。

两个容易踩的坑​

坑一:不要保留 MMOITEMS_TIER

品质重铸的原理是重新随机 MMOITEMS_TIER 这个 NBT。如果你在 config.yml 的 reforge.preserve-nbt-tags 列表里加了 MMOITEMS_TIER,品质就永远不会变,重铸等于白花钱。

坑二:tier.yml 里还有个独立开关

tier.yml 末尾有一行:

preserve-tier-on-reforge: false

true 表示重铸时保留当前品质(只重刷属性),false 才会重新随机品质。想开品质赌狗模式就保持 false。

幸运值和品质重铸的关系​

如果开启了幸运系统(reforge.lucky-system.enabled: true),玩家重铸会攒幸运值,开启幸运加成时消耗全部幸运值,并按 quality-bonus-by-lucky 里配置的区间调整各品质的抽中概率(比如 100 点幸运时 legendary +25)。

详细说明见 重铸系统。

改完配置怎么生效?​

/mmoreforge reload

重载后 tier.yml、config.yml、modifiers/ 全部生效。如果重载后报错,先检查 YAML 缩进(只能用空格,不能用 Tab)。

课后作业:一套完整的自订品质​

把下面这段整段复制进 tier.yml 的 tiers: 下,reload 即可体验(假设你的 MMOItems 里有 MYTHIC 品质):

mythic_plus:
display-name: "&d神话+"
weight: 1 # 和其他品质凑权重:极稀有
name-prefix: "&d&l"
name-suffix: "&d&l ✦" # 名字后面加个尾巴
tooltip-style: "minecraft:epic"
drop-effect:
glow: true
glow-color: "LIGHT_PURPLE"
show-name: true
vfx:
enabled: true
material: "POTION"
model-data: 3
color: "#FF00FF"
stat-modifiers:
ATTACK_DAMAGE: "25%" # 百分比大加成
ATTACK_SPEED: "15%"
CRITICAL_STRIKE_CHANCE: 20
CRITICAL_STRIKE_POWER: 30
MAX_HEALTH: 20
备注

别忘了 mythic_plus 对应 MMOItems 里要有 MYTHIC_PLUS 这个品质(rare → RARE 的大写规则)。如果 MMOItems 里没有,就去 MMOItems 的 tiers 配置里加一个,或把这里的 ID 改成已有的品质。

另见​