Skip to content

配置说明

LySlotStrengthen 的配置分为全局配置、槽位配置和强化界面配置:

文件或目录用途
config.yml全局兼容、数据保存、装备检测、冷却、属性插件和消息配置
slot/配置强化槽位、强化等级、强化条件、强化属性和降级功能
gui/配置强化界面、预设物品和槽位按钮位置

插件会读取 slot/gui/ 下的所有 .yml 文件,但文件名为 示例.yml示例界面.yml 的示例文件会被跳过,不会作为实际配置读取。

修改配置后,可以使用 /lss reload 重载。该命令仅管理员或服务器 OP 可执行。修改属性插件类型或 MySQL 开关后,建议重启服务器。

config.yml

基础设置

配置项类型默认值说明
compatible-srp-enable布尔值false是否启用 SRP 灵魂空间兼容支持。
auto-save-interval整数3玩家强化数据自动保存间隔,单位为秒。
click-cooldown整数100点击强化槽位、降级按钮或预设按钮的冷却时间,单位为毫秒。
click-cooldown-message文本&7对不起, 操作过快, 请稍后尝试.冷却期间重复操作时发送的消息。
attribute-plugin文本强化属性加载到的属性插件类型。
filter-item-contain-specified-lore文本列表已绑定物品包含指定 Lore 时,不会被识别为强化材料。
calculate-key-left文本<公式计算左边界标记。
calculate-key-right文本>公式计算右边界标记。
max-level-lore文本&7已满级槽位达到最大等级后,用于显示下级强化效果和强化条件的文本。

attribute-plugin 支持以下值:

说明
AttributePlus使用 AttributePlus 加载强化属性。
SX-Attribute2使用 SX-Attribute2 加载强化属性。
SX-Attribute3使用 SX-Attribute3 加载强化属性。
AttributeSystem使用 AttributeSystem 加载强化属性。
ItemLoreOrigin使用 ItemLoreOrigin 加载强化属性。

属性插件配置为空或填写不受支持的值时,不会按上述属性插件加载强化属性。修改该配置后建议重启服务器。

完整基础配置示例:

yaml
# 是否启用 SRP 灵魂空间兼容支持
compatible-srp-enable: false

# 自动保存间隔,单位:秒
auto-save-interval: 3

# 点击操作冷却时间,单位:毫秒
click-cooldown: 100
click-cooldown-message: '&7对不起, 操作过快, 请稍后尝试.'

# 属性插件类型
attribute-plugin: ''

# 包含指定 Lore 的物品不会作为强化材料
filter-item-contain-specified-lore:
  - '已绑定'

# 公式计算边界标记
calculate-key-left: '<'
calculate-key-right: '>'

# 满级显示文本
max-level-lore: '&7已满级'

MySQL 数据库

yaml
mysql:
  enable: false
  databasename: mc2
  username: mc2
  password: mc1234
  port: 3306
  ip: 127.0.0.1
配置项类型默认值说明
mysql.enable布尔值false是否启用 MySQL 数据保存。修改后建议重启服务器。
mysql.databasename文本mc2数据库名称。
mysql.username文本mc2数据库用户名。
mysql.password文本mc1234数据库密码。
mysql.port整数3306MySQL 端口。
mysql.ip文本127.0.0.1MySQL 服务器地址。

MySQL 前置要求

启用 mysql.enable 后,必须安装 LyMySQLCore,并确认 LyMySQLCore 已成功连接数据库。未加载 LyMySQLCore 或数据库连接失败时,玩家数据无法正常通过 MySQL 读取、保存和同步,相关功能不会生效。

未启用 MySQL 时,玩家数据会保存到插件目录下的本地文件:

text
plugins/LySlotStrengthen/data/<玩家UUID>.yml

装备穿戴检测

check-put-on-condition 用于根据装备 Lore 限制槽位强化属性是否生效。插件会查找包含 contain-lore 的 Lore,从匹配文本后提取数值,并将数值替换到条件中的 <value>

yaml
check-put-on-condition:
  '等级检测':
    contain-lore: '&f装备等级: '
    condition:
      - 'papi:{%player_level% >= <value>} <-> &7<item>需要<value>级才可装备, 你当前%player_level%级了!'
配置项说明
check-put-on-condition.<检测名称>检测规则名称,只需保持名称不重复。
check-put-on-condition.<检测名称>.contain-lore需要匹配的 Lore 文本。
check-put-on-condition.<检测名称>.condition匹配后执行的条件列表。

条件格式为:

text
条件表达式 <-> 失败提示

<-> 左侧是实际检测条件,右侧是条件不满足时的提示文本。提示文本支持 PlaceholderAPI 变量以及以下替换内容:

占位符说明
<value>从匹配 Lore 中提取出的数值。
<item>装备显示名称;装备没有自定义名称时使用物品类型名称。

全局装备检测支持以下条件格式:

条件格式说明
papi:{条件}使用 PlaceholderAPI 变量进行条件判断。
permission:{权限节点}要求玩家拥有指定权限。
nopermission:{权限节点}要求玩家没有指定权限。

消息

yaml
message:
  max-level: '&c无法强化至下一级!'
  condition: '&c不满足强化条件!'
  strengthen-success: '&a强化成功!'
  strengthen-fail: '&c强化失败...'
  enable-condition: '&c你还无法强化这个槽位'
  level-down-success: '&a降级成功!'
  level-down-fail: '&c降级失败... 降级材料不足!'
配置项触发时机
message.max-level当前槽位没有可用的下一级强化配置时。
message.condition强化条件不满足时。
message.strengthen-success强化成功时。
message.strengthen-fail强化失败时。
message.enable-condition槽位的 enable-condition 不满足,无法强化或降级时。
message.level-down-success降级成功时。
message.level-down-fail降级条件不满足时。

slot/ 槽位配置

每个槽位配置以槽位 ID 为顶级键。一个文件可以配置多个槽位,插件会遍历 slot/ 目录下的 .yml 文件读取。

yaml
Origin#MainHand:
  item: '160:2'
  name: '&7>> &6主手槽位强化 &a({now_level}/{max_level})'
  lore:
    - '&7当前强化效果:'
    - '{now_strength}'
    - '&7下级强化效果:'
    - '{next_strength}'
    - '&7下级强化需求:'
    - '{need_condition}'
    - '&7强化成功率:'
    - '&6 {chance}'
    - '&a&n<左键点击强化>&u  &7|  &c&n<右键点击降级>'
    - '&7强化降级需求:'
    - '{leveldown_condition}'

槽位 ID

示例配置中列出了以下槽位 ID 写法:

槽位来源槽位 ID 格式
DragonCoreDragonCore#槽位名
GermPluginGermPlugin#槽位名
APInventoryAPInventory#分页ID#槽位ID
LyInventoryLyInventory#背包ID#类型
LyInventoryReloadLyInventoryReload#背包ID#类型
YeeJewelryYeeJewelry#背包ID#槽位ID
主手Origin#MainHand
副手Origin#OffHand
头盔Origin#Helmet
胸甲Origin#ChestPlate
护腿Origin#Legging
靴子Origin#Boots
原版槽位Minecraft#槽位ID

原版槽位 ID 的示例范围为 0-36。实际槽位 ID 必须与对应背包或物品槽位插件提供的 ID 一致。

槽位按钮

配置项说明
<槽位ID>.item强化界面中该槽位按钮使用的物品 ID。默认值为 160:2
<槽位ID>.name强化界面中该槽位按钮的名称。支持 {now_level}{max_level}
<槽位ID>.lore强化界面中该槽位按钮的 Lore。支持强化相关动态占位符。

槽位按钮 Lore 支持以下动态占位符:

占位符说明
{now_level}当前强化等级。
{max_level}槽位最大强化等级。根据 strengthen 中配置的等级范围自动计算。
{now_strength}当前等级的强化效果 Lore。
{next_strength}下一级强化效果 Lore;没有下一级时显示 max-level-lore
{need_condition}下一级强化条件的显示文本;没有下一级时显示 max-level-lore
{chance}当前槽位下一级强化成功率。
{leveldown_condition}降级条件的显示文本;未启用降级时显示“降级功能未启用”。

槽位启用条件

enable-condition 用于限制槽位是否可以强化、降级以及是否加载该槽位的强化属性。所有条件都必须满足;未配置或留空时默认满足。

yaml
enable-condition:
  - 'permission:{lss.mainhand}'
  - 'nopermission:{lss.blocked}'
  - 'papi:{%player_level% >= 0}'
条件格式说明
permission:{权限节点}玩家必须拥有指定权限。
nopermission:{权限节点}玩家不能拥有指定权限。
papi:{条件}使用 PlaceholderAPI 变量进行条件判断。

权限强化几率加成

permission-chance-addition 用于根据玩家权限修改本次强化成功率。多个规则同时满足时,使用计算结果最高的规则。

yaml
permission-chance-addition:
  'vip权限':
    permission: 'vip.1'
    formula: '{chance}*1.1'
    show-lore: '&a(VIP1权限加成10%)'
配置项说明
<规则名称>.permission检查的权限节点。
<规则名称>.formula成功率计算公式。{chance} 表示当前成功率。
<规则名称>.show-lore应用该规则后追加到成功率显示文本的内容。

强化等级配置

强化规则写在:

text
<槽位ID>.strengthen.<等级或等级范围>

等级键可以是单个等级,例如 0,也可以是等级范围,例如 0-5。范围配置表示当前等级处于该范围内时,使用同一组强化规则。插件会根据配置中的最大等级自动确定槽位最大等级。

yaml
strengthen:
  0-5:
    condition:
      - 'item:{插件@物品#1*{level}}| &7需要: {item}x{amount}'
      - 'eco:{10*{level}*{level}}| &e需要: 金币x{amount}'
      - 'point:{10*{level}*{level}}| &b需要: 点券x{amount}'
      - 'papi:{%player_level% >= 0}| &7需要: 等级大于等于0级'
      - 'permission:{qh.1-5}| &7需要: 拥有qh.1-5权限'
      - 'nopermission:{qh.1-5}| &7需要: 没有qh.1-5权限'
    chance: '1-({level}*0.1)'
    start-command:
      - '[op]say %player_name% 你正在开始进行{now_level}->{next_level}级的强化!'
    success-command:
      - '[console]say %player_name% 恭喜! 你强化到{next_level}级成功!'
    fail-command:
      - '[console]say %player_name% 对不起, 你强化到{next_level}级失败!'
    fixed-lore:
      - '&6 攻击力 &a+<1*{level}~%.0f>'
    show-lore:
      - '{fixed_lore}'
      - ' &6增强装备攻击力 &a+<0.1*{level}*100~%.0f>%'

强化条件

强化条件格式为:

text
条件表达式|按钮显示文本

| 左侧用于实际检测和扣除,右侧用于显示在强化按钮上。省略 | 及右侧文本时,不会显示该条件的按钮提示行。

条件格式作用需要的外部插件或服务
item:{插件@物品ID#数量公式}检查并扣除指定物品。对应物品库插件。示例注释列出 MM4、MM5、NI、SI、SX2。
eco:{金额公式}检查并扣除 Vault 经济余额。Vault 及可用的经济服务。
point:{点券公式}检查并扣除 PlayerPoints 点券。PlayerPoints。
cx:{货币ID#金额公式}检查并扣除 CraftX 指定货币。CraftX。
lshop:{货币ID#金额公式}检查并扣除 LyShop 指定货币。LyShop。
papi:{条件}使用 PlaceholderAPI 变量判断条件。PlaceholderAPI。
permission:{权限节点}要求玩家拥有指定权限。无额外插件要求。
nopermission:{权限节点}要求玩家没有指定权限。无额外插件要求。

{level} 表示本次目标等级。物品数量、金币、点券和货币数量可以使用公式计算。

强化条件会先统一检查;全部满足后,插件才会扣除物品或货币。强制升级命令会跳过强化条件检查和扣除,但仍会执行强化流程中的成功结果。

强化几率

配置项说明
chance强化成功率,可以填写固定数值或公式。代码中的示例使用 0-1 范围表示成功率,例如 1 表示 100%。
chance 中的 {level}本次强化的目标等级。
chance 中的 %lss_fail_count_<槽位ID>%当前槽位连续失败次数,可用于根据失败次数调整成功率。强化成功后失败次数会归零。

强化几率会受到 permission-chance-addition 规则影响,最终结果会限制在 01 之间。

强化执行指令

配置项执行时机
start-command强化条件满足、扣除材料后,在判断成功率前执行。
success-command强化成功后执行。
fail-command强化失败后执行。

指令中的变量:

变量说明
{now_level}强化前等级。
{next_level}本次目标等级。
%player_name% 等变量支持 PlaceholderAPI 变量。

指令前缀由执行方式决定,示例中使用了 [console][op]

固定属性 Lore

fixed-lore 用于生成每次强化都存在的固定属性 Lore。{level} 会替换为当前等级,公式边界使用全局配置中的 calculate-key-leftcalculate-key-right

yaml
fixed-lore:
  - '&6攻击力 &a+<1*{level}~%.0f>'

公式格式:

text
<计算公式~格式化字符串>

未填写格式化字符串时,默认使用整数格式。示例中的 ~%.0f 表示将结果格式化为整数。

增幅属性 Lore

addition-lore 用于读取装备 Lore 中已有的属性数值,再根据公式计算强化增幅,并将结果提交给 attribute-plugin

yaml
addition-lore:
  '攻击力':
    formula:
      - '&6攻击力 &a+<value>'
      - '这里是左边的字<value>这里是右边的字'
    value: '{value}*0.1*{level}'
    attribute-format: '{attribute}+{value}'
配置项说明
<属性名称>要处理的属性名称,必须与所使用属性插件中的属性名称一致。
<属性名称>.formula用于在装备 Lore 中定位和读取原始属性值。<value> 表示待提取的数值位置。
<属性名称>.value根据读取到的数值计算实际增幅。{value} 表示读取到的数值,{level} 表示当前强化等级。
<属性名称>.attribute-format提交给属性插件的格式。{attribute} 替换为属性名称,{value} 替换为计算结果。

一条 formula<value> 分隔左右文本,只有匹配到装备 Lore 中对应文本并成功读取数值时,才会生成增幅属性。数值支持单个正数和正数区间;区间会取平均值。

强化效果显示 Lore

show-lore 用于替换槽位按钮 Lore 中的 {now_strength}{next_strength}

yaml
show-lore:
  - '{fixed_lore}'
  - ' &6增强装备攻击力 &a+<0.1*{level}*100~%.0f>%'
写法说明
{fixed_lore}展开当前等级配置中的全部 fixed-lore
其他文本按当前等级替换 {level},执行公式计算并显示。

Lore 取值变量

lore-get-value 用于从装备 Lore 的固定文本位置读取数值,并在 addition-lore 的公式中通过 {v.<变量ID>} 使用。该功能适合读取固定格式的 Lore,不适合套娃读取。

yaml
lore-get-value:
  '变量1':
    default-value: 1
    lore-formula: '&7槽位增幅强度: <value>%'
配置项说明
<变量ID>变量名称,在增幅公式中以 {v.<变量ID>} 引用。
<变量ID>.default-value无法从 Lore 读取数值时使用的默认值。
<变量ID>.lore-formula用于匹配 Lore 的文本格式。<value> 表示数值位置。

读取到的值支持单个正数和正数区间,区间会取平均值。

降级配置

降级配置位于:

text
<槽位ID>.level-down
yaml
level-down:
  enable: true
  condition:
    - 'item:{插件@物品#1*{level}}| &7需要: {item}x{amount}'
    - 'eco:{10*{level}*{level}}| &e需要: 金币x{amount}'
    - 'point:{10*{level}*{level}}| &b需要: 点券x{amount}'
    - 'papi:{%player_level% >= 0}| &7需要: 等级大于等于0级'
    - 'permission:{qh.1-5}| &7需要: 拥有qh.1-5权限'
    - 'nopermission:{qh.1-5}| &7需要: 没有qh.1-5权限'
  command:
    - '[console]tell %player_name% 降级成功!'
配置项说明
level-down.enable是否启用降级。启用后,强化界面中右键点击槽位按钮会尝试降低 1 级。
level-down.condition降级所需条件,写法与强化条件相同。
level-down.command降级成功后执行的指令。

降级最低为 0 级。降级成功后会将强化等级降低 1 级,并将失败次数归零;降级失败时不会改变等级。

gui/ 强化界面配置

每个界面配置以一个 YAML 文件表示,界面 ID 由 id 指定。界面文件中的强化槽位通过 slot-set 映射到界面槽位。

yaml
id: 'test'
title: '&6主手强化界面'
size: 6
permission: ''

default-set:
  边框:
    id: '160:0'
    name: ' '
    lore:
      - ' &7边界 '
    command:
      - 'tell %player_name% 你点击了一下边框'
    slot: '0-8,9,17,18,26,27,35,36,44,45-53'

slot-set:
  Origin#MainHand:
    slot: 22

界面基础配置

配置项类型说明
id文本界面 ID,用于 /lss open <界面ID> 和开发者 API 调用。不同界面应使用不同 ID。
title文本界面标题,支持 & 颜色符号和 PlaceholderAPI 变量。
size整数界面行数,范围为 1-6。超过 66 处理,小于 11 处理。
permission文本打开界面所需权限。留空时不限制权限。

预设物品

default-set 用于设置边框、填充物和玩家信息等固定物品。预设物品只能配置点击执行指令,不能直接执行强化或降级逻辑。

配置项说明
default-set.<物品名称>.id物品 ID,默认值为 160:0
default-set.<物品名称>.name物品名称。
default-set.<物品名称>.lore物品 Lore 列表。
default-set.<物品名称>.command点击该物品后执行的指令列表。
default-set.<物品名称>.slot物品放置的界面槽位。

slot 支持逗号分隔的单个槽位和连续范围,例如:

yaml
slot: '0-8,9,17,18,26,27,35,36,44,45-53'

连续范围 0-8 表示放置到 08 的全部槽位。

强化槽位映射

slot-set 的键必须填写已经在 slot/ 中配置的槽位 ID,slot 表示该强化按钮放置在界面中的位置。

yaml
slot-set:
  Origin#MainHand:
    slot: 22
配置项说明
slot-set.<槽位ID>.slot强化按钮在界面中的槽位编号。

界面点击行为:

操作行为
左键点击强化槽位按钮尝试强化该槽位。
右键点击强化槽位按钮尝试降级该槽位。
点击预设物品执行该物品的 command,然后刷新界面。
拖动物品界面内的拖动操作会被取消。

数据保存与重载

  • 启用 MySQL 时,玩家强化等级和强化失败次数保存到 MySQL。
  • 未启用 MySQL 时,玩家数据保存到 plugins/LySlotStrengthen/data/ 下的玩家 YAML 文件。
  • 玩家强化数据包含各槽位的强化等级和失败次数。
  • 自动保存间隔由 auto-save-interval 控制。
  • 关闭强化界面时会保存玩家数据。
  • 插件关闭时会保存在线玩家数据。
  • 执行 /lss reload 会重新读取全局配置、槽位配置和界面配置,并重新启动自动保存任务。

常见问题

修改配置后没有生效

确认配置文件位于插件实际目录,并检查 YAML 缩进和键名。然后执行 /lss reload;如果修改了 attribute-pluginmysql.enable,建议直接重启服务器。

示例槽位或示例界面没有生效

slot/示例.ymlgui/示例界面.yml 是示例文件,插件会主动跳过它们。请复制为新的 .yml 文件后再修改使用。

强化条件显示了,但没有扣除材料

检查条件左侧的格式是否正确。物品条件必须包含插件名、物品 ID、@#,例如:

text
item:{插件@物品ID#数量公式}

同时确认对应物品插件已经正常加载。

强化属性没有生效

检查以下内容:

  • attribute-plugin 是否填写了受支持的属性插件类型。
  • 对应属性插件是否已加载。
  • 槽位的 enable-condition 是否满足。
  • 装备是否匹配 check-put-on-condition
  • addition-lore.formula 是否能在装备 Lore 中定位到数值。
  • 使用 MySQL 时,是否已安装 LyMySQLCore 且数据库连接成功。

启用 MySQL 后玩家无法正常进入服务器

插件在 MySQL 模式下会检查数据库连接。请确认 LyMySQLCore 已加载、数据库地址和账号配置正确,并且 LyMySQLCore 已成功连接数据库。数据库未连接完成时,玩家登录会被阻止,直到数据库初始化完成。

降级按钮没有效果

检查对应槽位是否配置了:

yaml
level-down:
  enable: true

同时确认玩家当前等级大于 0,并满足 level-down.condition 中的全部条件。