GTSkillView 快速开始
GTSkillView 是 GT 系列技能视图与技能释放插件。它负责技能列表、技能学习、技能升级、技能槽绑定、蓝量、技能点、冷却、HUD、客户端 UI 和原版 GUI 释放链路。
技能本体不在 GTSkillView 里写伤害逻辑。主动技能通常交给 MythicMobs 或 SkillAPI 执行,GTSkillView 负责判断等级、蓝量、冷却、条件和绑定槽位,然后调用外部技能。
功能边界
| 功能 | 说明 |
|---|---|
| 技能视图 | 显示玩家可见技能、等级、消耗、冷却、描述 |
| 技能学习 | 按条件、权限、技能点、金币、物品判断是否可学习 |
| 技能升级 | 按当前等级计算下一等级消耗 |
| 技能槽 | 玩家把技能绑定到 1-5 号槽位 |
| 技能释放 | 原版鼠标组合、客户端按键、命令、GUI 点击都走同一套释放逻辑 |
| 蓝量 | 独立 MP 系统,支持最大值公式、恢复公式、动作栏显示 |
| HUD | 显示 MP、技能槽、冷却遮罩、倒计时 |
| 外部技能 | 支持 MythicMobs、SkillAPI、被动技能占位 |
| UI 路由 | 支持 PaiUI、ArcartX、KongCore、DragonCore、原版 GUI |
安装步骤
- 安装 GTCore。
- 安装 MythicMobs 或 SkillAPI。
- 需要变量时安装 PlaceholderAPI。
- 使用客户端界面时安装对应 UI 插件,例如 PaiUI、ArcartX、KongCore、DragonCore。
- 安装 GTSkillView。
- 在 GTCore 中完成授权。
- 启动服务器生成
plugins/GTSkillView/。 - 配置
skills.yml。 - 执行
/gtsv open测试界面。
文件位置
text
plugins/GTSkillView/
config.yml
skills.yml
gui.yml
messages.yml
client-ui/
providers.yml
ax/
main.yml
hud.yml
dragoncore/
main.yml
kongcore/
main.yml
paiui/
KeyConfig.yml
webgui/gtskillview/config.yml 控制存储、UI 优先级、蓝量、技能点、释放方式、按键和性能。
skills.yml 控制技能分组、技能槽、技能本体、学习条件、升级消耗、释放消耗、冷却、外部技能绑定。
gui.yml 控制原版箱子 GUI。
client-ui/providers.yml 控制 PaiUI、AX、KongCore、DragonCore 的启用、路由、同步和模板路径。
第一次测试
先用默认技能测试整个链路。
- 确认 MythicMobs 中存在技能
ThunderSlash。 - 启动服务器。
- 给自己技能点:
text
/gtsv points set 玩家名 10- 打开技能界面:
text
/gtsv open- 学习
雷霆斩。 - 将
雷霆斩绑定到 1 号槽。 - 执行:
text
/gtsv cast 1- 确认 MP 扣除、冷却生效、MythicMobs 技能被执行。
客户端 UI 环境下,默认按键是:
| 槽位 | 默认键 |
|---|---|
| 1 | R |
| 2 | T |
| 3 | Z |
| 4 | X |
| 5 | C |
默认键位只是一套配置。实际按键写在 config.yml -> release.client.bindings 中,不写死在代码里。
最小技能配置
yaml
skills:
thunder_slash:
enabled: true
group: active
type: active
name: "&b雷霆斩"
icon: "DIAMOND_SWORD"
texture: "textures/gtskillview/thunder_slash.png"
bind:
provider: mythicmobs
id: "ThunderSlash"
power: "1 + {skill_level} * 0.15"
max-level: 5
default-level: 0
learn:
conditions:
- "{level} >= 1"
costs:
points: 1
money: 0
items: []
upgrade:
costs:
points: "{next_level}"
money: "{next_level} * 100"
items: []
mana: "10 + {skill_level} * 2"
cooldown: "6 - min({skill_level}, 4) * 0.6"
conditions:
- "{skill_level} > 0"效果:
- 玩家等级达到 1 级后可以学习。
- 学习消耗 1 技能点。
- 每次升级消耗
下一等级数量的技能点和下一等级 * 100金币。 - 释放时扣除
10 + 技能等级 * 2MP。 - 冷却随等级降低。
- 实际技能调用 MythicMobs 的
ThunderSlash。
常用命令
| 命令 | 说明 |
|---|---|
/gtsv open | 打开技能界面 |
/gtsv hud [玩家] | 打开 HUD |
/gtsv cast <槽位|技能ID> | 释放技能 |
/gtsv key <绑定ID> [来源] | 模拟客户端按键 |
/gtsv bind <槽位> <技能ID> | 绑定技能槽 |
/gtsv unbind <槽位> | 解绑技能槽 |
/gtsv upgrade <技能ID> | 升级技能 |
/gtsv reset | 重置技能 |
/gtsv points <set/add/take> <玩家> <数量> | 管理技能点 |
/gtsv mana <set/add> <玩家> <数量> | 管理 MP |
/gtsv reload | 重载配置 |
玩家使用流程
- 玩家打开技能界面。
- 玩家查看可见技能。
- 满足条件后学习技能。
- 继续投入技能点升级技能。
- 将技能绑定到槽位。
- 使用客户端按键、原版鼠标组合、GUI 点击或
/gtsv cast释放技能。 - HUD 显示 MP、冷却和槽位状态。
接入外部技能
MythicMobs:
yaml
bind:
provider: mythicmobs
id: "ThunderSlash"
power: "1 + {skill_level} * 0.15"SkillAPI:
yaml
bind:
provider: skillapi
id: "Blink Step"被动技能:
yaml
type: passive
bind:
provider: passive
id: ""被动技能不会主动调用 MythicMobs 或 SkillAPI。它适合给属性插件、条件、登录动作和后续 GTCore 能力预留使用。
图标路径
原版 GUI 使用 icon:
yaml
icon: "DIAMOND_SWORD"
icon: "DIAMOND_SWORD#10001"
icon: "gtitem:thunder_sword"客户端图片使用 texture:
yaml
texture: "textures/gtskillview/thunder_slash.png"texture 是客户端资源路径。图片文件放在对应客户端资源包里。
验证顺序
按以下顺序排查最快:
/gtsv reload是否成功。/gtsv open是否能打开界面。- 技能是否在界面中可见。
- 技能点是否足够。
- 学习条件是否满足。
- 绑定槽位后
/gtsv cast 槽位是否成功。 - MythicMobs 或 SkillAPI 的技能 ID 是否真实存在。
- 客户端 UI 按键是否已经同步到对应插件目录。
