配置说明
LyGalaxyLevel 的配置由主配置、等级节点模板和怪物经验配置组成。主配置文件为 config.yml,等级节点模板位于 template/,怪物经验配置位于 mobExp/。
配置文件
| 文件 / 目录 | 用途 |
|---|---|
config.yml | 属性插件、自动保存、数据库、怪物经验兼容、原版经验同步和经验计算设置。 |
template/*.yml | 等级节点、升级经验、升级指令、升级条件、经验瓶和等级称号配置。 |
mobExp/*.yml | 怪物经验、条件和经验节点配置。 |
修改数据库开关、属性插件和原版经验同步等相关配置后,需要重启服务器才能生效。配置文件中的布尔值使用 true 或 false。
config.yml
属性插件
attribute-plugin 用于指定等级称号属性所使用的属性插件。可选值如下:
| 配置项 | 可选值 |
|---|---|
attribute-plugin | AttributePlus、SX-Attribute2、SX-Attribute3、ItemLoreOrigin、AttributeCompatibleAPI、AttributeSystem |
未使用属性插件时可以留空:
yaml
attribute-plugin: ''基础设置
| 配置项 | 说明 |
|---|---|
auto-save | 是否启用加强型自动保存。启用后会检测玩家数据是否发生变动,并自动保存。 |
auto-save-interval | 自动保存检测间隔,单位为秒。默认值为 3。 |
time-format | 全服经验倍率到期时间的显示格式。 |
only-check-customnpc-name | 怪物掉落经验是否只检测 CustomNPC 怪物名。 |
anti-enchant | 是否禁止使用原版附魔系统。原版附魔会扣除原版等级和经验。 |
sync-minecraft-exp-bra | 同步到原版经验条的等级节点 ID。留空或节点不存在时不同步。 |
addexp-command-message-enable | 使用增加经验指令时是否发送提示消息。 |
示例:
yaml
auto-save: true
auto-save-interval: 3
time-format: 'MM月dd日 HH时mm分ss秒'
only-check-customnpc-name: false
anti-enchant: true
sync-minecraft-exp-bra: 'default'
addexp-command-message-enable: trueMySQL 数据库
mysql.enable 用于控制是否启用 MySQL 存储。切换数据库开关后需要重启服务器。
MySQL 前置要求
启用 MySQL 存储前,必须安装 LyMySQLCore,并确认 LyMySQLCore 已成功连接数据库。未加载 LyMySQLCore 或数据库连接失败时,本插件依赖 MySQL 的数据读取、保存、同步及相关记录不会生效。
| 配置项 | 说明 |
|---|---|
mysql.enable | 是否启用 MySQL 存储。默认值为 false。 |
mysql.databasename | 数据库名称。 |
mysql.username | 数据库账号。 |
mysql.password | 数据库密码。 |
mysql.port | 数据库端口。默认值为 3306。 |
mysql.ip | 数据库地址。默认值为 127.0.0.1。 |
示例:
yaml
mysql:
enable: false
databasename: mc2
username: mc2
password: mc1234
port: 3306
ip: 127.0.0.1MythicMobs 掉落经验兼容
mythic-drops-exp-enable 用于启用 MythicMobs 的 drops 内经验格式兼容,默认值为 false。
启用后,可以在 MythicMobs 的掉落配置中使用以下格式:
yaml
drops:
- 'lexp 123-578'
- 'lexp 789'
- 'lexp 789 牛牛等级'| 格式 | 说明 |
|---|---|
lexp 123-578 | 在经验范围内随机掉落经验。 |
lexp 789 | 掉落固定经验值。 |
lexp 789 牛牛等级 | 向指定等级节点掉落固定经验值。 |
经验加成公式
| 配置项 | 说明 |
|---|---|
exp-addition-formula | 计算玩家经验加成和全服经验加成的组合公式。 |
exp-formula | 根据基础经验和最终加成计算实际获得经验的公式。 |
配置中的变量含义如下:
| 变量 | 说明 |
|---|---|
{player_addition} | 玩家经验加成。 |
{server_addition} | 全服经验加成。 |
{exp} | 本次计算使用的基础经验。 |
{addition} | exp-addition-formula 计算出的经验加成结果。 |
默认配置如下:
yaml
exp-addition-formula: '{player_addition}+{server_addition}'
exp-formula: '{exp}* (1+{addition})'默认逻辑是先将玩家经验加成与全服经验加成相加,再使用最终公式计算实际经验:{exp} * (1 + {addition})。
template/*.yml
每个模板文件代表一个等级节点。节点 ID 必须全局唯一,不能与其他模板中的节点 ID 重复。
节点基础设置
| 配置项 | 说明 |
|---|---|
id | 等级节点 ID,全局不可重复。 |
exp-addition-placeholder | 本节点专属经验加成变量。插件会读取变量数值,并将其转换为每次获取经验时的百分比加成;留空时不生效。多个节点可以共用同一个变量。 |
exp-orb | 原版经验来源的经验系数。 |
max-level | 等级上限。 |
max-level-can-get-max-exp | 玩家达到满级后仍可获得的经验上限。设置为 -1 时禁止获得经验。 |
every-day-max-exp | 每日可获得的经验上限。设置为 -1 时不限制;每日晚上 0 点刷新。 |
示例:
yaml
id: 'default'
exp-addition-placeholder: ''
exp-orb: 1
max-level: 5
max-level-can-get-max-exp: -1
every-day-max-exp: -1消息
message 用于设置等级节点相关提示消息。消息值为字符串列表,可以配置多行消息。
| 配置项 | 触发时机 |
|---|---|
message.LEVEL_UP | 玩家等级提升时。 |
message.MAX_LEVEL | 玩家达到满级且无法继续获得经验时。 |
message.GET_EXP | 玩家获得经验时。 |
message.MULTIPLE-EXP-START | 全服经验倍率开始时。 |
message.MULTIPLE-EXP-END | 全服经验倍率结束时。 |
已确认的消息变量如下:
| 变量 | 说明 |
|---|---|
{level} | 相关等级。 |
{after} | 本次获得的经验值。 |
{addition} | 本次经验加成。 |
{valid} | 当日剩余可获得经验。 |
{multiple} | 全服经验倍率。 |
{time} | 全服经验倍率到期时间。 |
示例:
yaml
message:
LEVEL_UP:
- '&f[&eLyGalaxyLevel&f] &7你的default节点等级提升至 &e{level}&7'
MAX_LEVEL:
- '&f[&eLyGalaxyLevel&f] &7你的default节点已提升至满级, 无法再获得经验!'
GET_EXP:
- '&f[&eLyGalaxyLevel&f] &7你获得了&6{after}&7(+{addition})&7点经验, 今日还可获得&6{valid}&7经验.'
MULTIPLE-EXP-START:
- '&a已开启default节点全服 &6{multiple}%经验加成 &a持续到 &6{time}'
MULTIPLE-EXP-END:
- '&adefault节点全服 &6{multiple}%经验加成 &a已结束'经验瓶
经验瓶体系通过等级节点单独控制。项目模板注释说明该功能兼容 1.7.10 和 1.12.2。
| 配置项 | 说明 |
|---|---|
exp-item-enable | 是否为当前等级节点启用经验瓶体系。 |
exp-item.item | 经验瓶物品,示例格式为 260:0。 |
exp-item.display-name | 经验瓶显示名称。 |
exp-item.lore | 经验瓶 Lore 列表。 |
经验瓶可通过指令为指定玩家转换,转换范围为当前等级的 1% 到 100% 经验。经验瓶获得的经验会受到每日经验上限影响。
示例:
yaml
exp-item-enable: false
exp-item:
item: '260:0'
display-name: '&6default节点经验瓶'
lore:
- ''
- '&7吸收了{player}的经验转换而成。'
- '&a右键使用可获得&6{exp}&a点default经验'经验瓶 Lore 支持以下变量:
| 变量 | 说明 |
|---|---|
{player} | 被转换经验的玩家。 |
{exp} | 经验瓶可提供的经验值。 |
等级称号与属性
level-tag 用于设置玩家达到指定等级后的称号和属性。对应的 PlaceholderAPI 变量格式为 %lgl_等级节点ID_tag%。
| 配置项 | 说明 |
|---|---|
level-tag.<等级>.tag | 玩家达到该等级时使用的称号文本。 |
level-tag.<等级>.attribute | 玩家达到该等级时应用的属性列表。属性效果需要先在 config.yml 中配置对应的属性插件。 |
示例:
yaml
level-tag:
1:
tag: '&7初入江湖'
attribute:
- '攻击+1'
3:
tag: '&a锋芒毕露'
attribute:
- '攻击+2'
5:
tag: '&b威震天下'
attribute:
- '攻击+3'升级经验
level-exp-set 表示玩家升到目标等级所需的经验。玩家开局默认处于 0 级。
键支持单个等级和等级区间,值支持数字、变量和四则运算。公式中的 {level} 表示目标等级。
yaml
level-exp-set:
1: '10'
2-4: '({level}+{level})*1.5'
5: '({level}+{level})*2'| 写法 | 说明 |
|---|---|
1: '10' | 设置升到 1 级所需经验为 10。 |
2-4: '...' | 为 2 至 4 级使用同一条经验公式。 |
{level} | 计算时替换为目标等级。 |
升级指令
level-up-command 中的指令由控制台调用。支持每级执行,也支持等级区间执行。
| 配置键 | 说明 |
|---|---|
level-up-command.every-level | 每提升一级都会执行的指令列表。 |
level-up-command.<等级或区间> | 玩家达到指定等级或等级区间时执行的指令列表。 |
指令文本支持以下变量:
| 变量 | 说明 |
|---|---|
{id} | 等级节点 ID。 |
{level} | 玩家当前达到的等级。 |
%player_name% | 玩家名称变量。 |
示例:
yaml
level-up-command:
every-level:
- 'bc %player_name% 的 {id} 等级升到了 {level} 级!'
1-3:
- 'bc %player_name% 1-3 级了!'
4-5:
- 'bc %player_name% 4-5 级了!'升级限制
level-up-condition 用于限制玩家升到指定等级。当玩家当前等级达到配置的限制等级且不满足条件时,无法通过方式获取经验,并会在获取经验时发送对应提示。
| 配置项 | 说明 |
|---|---|
level-up-condition.<等级>.condition | 升到指定等级需要满足的条件列表。 |
level-up-condition.<等级>.message | 不满足条件时发送的消息列表。 |
支持的条件类型如下:
| 条件类型 | 格式 | 说明 |
|---|---|---|
papi | papi:{占位符表达式} | 使用 PlaceholderAPI 占位符表达式判断条件。 |
permission | permission:{权限节点} | 玩家必须拥有指定权限。 |
nopermission | nopermission:{权限节点} | 玩家不能拥有指定权限。 |
示例:
yaml
level-up-condition:
5:
condition:
- 'papi:{%vault_eco_balance% >= 100000}'
- 'nopermission:{lgl.exp.5}'
- 'permission:{lgl.exp.5}'
message:
- '&f[&eLyGalaxyLevel&f] &c由于不满足升至5级的条件, 本次获取经验失败.'mobExp/*.yml
怪物经验配置使用怪物 ID 或怪物名称作为顶层键。若怪物 ID 和怪物名称相同,可能触发两次经验加成。
配置结构
| 配置项 | 说明 |
|---|---|
<怪物ID或怪物名称>.condition | 获得该怪物经验前需要满足的条件列表。 |
<怪物ID或怪物名称>.exp | 为不同等级节点设置经验值。 |
<怪物ID或怪物名称>.exp.<节点ID> | 指定等级节点获得的经验值。 |
支持的条件类型与等级节点模板中的升级条件一致:
| 条件类型 | 格式 | 说明 |
|---|---|---|
permission | permission:{权限节点} | 玩家必须拥有指定权限。 |
papi | papi:{占位符表达式} | 使用 PlaceholderAPI 占位符表达式判断条件。 |
示例:
yaml
离渊大牛马:
condition:
- 'permission:{exp.离渊大牛马}'
- 'papi:{%player_level% >= 0}'
exp:
default: 5
exp2: 10上例中,怪物满足 离渊大牛马 的匹配规则且玩家满足全部条件时,向 default 节点增加 5 点经验,向 exp2 节点增加 10 点经验。