Skip to content

配置说明

LyGalaxyLevel 的配置由主配置、等级节点模板和怪物经验配置组成。主配置文件为 config.yml,等级节点模板位于 template/,怪物经验配置位于 mobExp/

配置文件

文件 / 目录用途
config.yml属性插件、自动保存、数据库、怪物经验兼容、原版经验同步和经验计算设置。
template/*.yml等级节点、升级经验、升级指令、升级条件、经验瓶和等级称号配置。
mobExp/*.yml怪物经验、条件和经验节点配置。

修改数据库开关、属性插件和原版经验同步等相关配置后,需要重启服务器才能生效。配置文件中的布尔值使用 truefalse

config.yml

属性插件

attribute-plugin 用于指定等级称号属性所使用的属性插件。可选值如下:

配置项可选值
attribute-pluginAttributePlusSX-Attribute2SX-Attribute3ItemLoreOriginAttributeCompatibleAPIAttributeSystem

未使用属性插件时可以留空:

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: true

MySQL 数据库

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.1

MythicMobs 掉落经验兼容

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.101.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: '...'24 级使用同一条经验公式。
{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不满足条件时发送的消息列表。

支持的条件类型如下:

条件类型格式说明
papipapi:{占位符表达式}使用 PlaceholderAPI 占位符表达式判断条件。
permissionpermission:{权限节点}玩家必须拥有指定权限。
nopermissionnopermission:{权限节点}玩家不能拥有指定权限。

示例:

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>指定等级节点获得的经验值。

支持的条件类型与等级节点模板中的升级条件一致:

条件类型格式说明
permissionpermission:{权限节点}玩家必须拥有指定权限。
papipapi:{占位符表达式}使用 PlaceholderAPI 占位符表达式判断条件。

示例:

yaml
离渊大牛马:
  condition:
    - 'permission:{exp.离渊大牛马}'
    - 'papi:{%player_level% >= 0}'
  exp:
    default: 5
    exp2: 10

上例中,怪物满足 离渊大牛马 的匹配规则且玩家满足全部条件时,向 default 节点增加 5 点经验,向 exp2 节点增加 10 点经验。