等级系统
概述
IAGather 内置独立的采集等级系统:
- 玩家通过采集获得经验,累积升级
- 等级影响可采集的目标、成功率公式
- 升级时可触发 Kether 脚本执行奖励
- 数据存储在 SQLite 或 MySQL
level.yml 配置
leveling:
# 升级经验表
# key = 目标等级,value = 从上一级升到该等级所需经验
exp-table:
1: 1000 # 0级 -> 1级 需要 1000 经验
2: 2000 # 1级 -> 2级 需要 2000 经验
3: 5000 # 2级 -> 3级 需要 5000 经验
# 最大等级(0 = 不封顶)
max-level: 3
# 到达指定等级时执行的 Kether 脚本
on-reach:
1: |-
tell "恭喜你升到了 1 级!"
command "give %player_name% diamond 1" as op
2: |-
tell "恭喜你升到了 2 级!"
command "give %player_name% diamond 3" as op
3: |-
tell "恭喜你升到了 3 级!解锁了新技能!"
command "give %player_name% diamond 5" as op
配置项说明
exp-table 经验表
定义每级升级所需的经验值:
- key 为目标等级
- value 为升级所需经验
- 未配置的等级将使用最后一档经验值继续升级
示例:只配置了 1-3 级,max-level 设为 0(无上限),则 4 级及以后每级都需要 5000 经验
max-level 最大等级
| 0 | 不封顶,可无限升级 |
| 正整数 | 到达该等级后停止升级 |
on-reach 升级奖励
使用 TabooLib 的 Kether 脚本语言,在玩家达到指定等级时执行。
常用动作:
| tell "消息" | 向玩家发送消息 |
| command "命令" as op | 以 OP 权限执行命令 |
| sound "声音" | 播放声音 |
| title "标题" "副标题" | 显示标题 |
经验获取
经验来源于 targets.yml 中的配置:
targets:
example:ore_1:
exp-on-success: 10 # 采集成功获得 10 经验
exp-on-fail: 0 # 采集失败不获得经验
查看等级信息
玩家使用以下命令查看自己的等级和经验:
/iagather info
输出示例:采集等级:2 经验:1500/5000
管理员命令
| /iagather addexp <玩家> <数量> | 给玩家增加经验 |
| /iagather setlevel <玩家> <等级> | 直接设置玩家等级 |
需要 iagather.admin 权限