- ◆ 游戏版本
- 1.12.2
- ◆ 服务端核心
- CatServer paper
- ◆ 前置/依赖
- 软依赖龙核
AdyKeyAction 使用文档
Adyeshach 附属插件。玩家准星对准 NPC 时,可以显示自定义提示文字,按下指定按键可以执行指令。每个 NPC 的提示和按键都可以单独配置。
- 插件版本:1.0.0
- 作者:1961852290
- 本插件完全免费
运行环境
| 项目 | 要求 |
|---|---|
| 服务端 | 1.12.2 CatServer / Paper / Spigot |
| Java | 8 及以上 |
| 必需插件 | Adyeshach 2.x(已在 2.1.22 上测试) |
| 可选插件 | DragonCore 龙之核心(支持任意按键和准星 HUD 提示,已在 2.6.2.9 上测试) |
| 可选插件 | PlaceholderAPI(在指令和提示中使用 PAPI 变量) |
不装龙之核心也能用,但只能使用原版可检测的按键,提示文字会显示在快捷栏上方(ActionBar)。
安装
- 把
AdyKeyAction-1.0.0.jar放进服务器的plugins文件夹。 - 启动服务器,插件会生成:
plugins/AdyKeyAction/config.yml:插件配置plugins/DragonCore/Gui/adykey_tip.yml:龙之核心提示 HUD(仅安装了龙之核心时生成,已存在则不覆盖)
- 修改
config.yml,然后输入/adykey reload。
指令与权限
| 指令 | 说明 | 权限 |
|---|---|---|
/adykey reload |
重载配置 | adykey.admin(默认 OP) |
/adykey look |
显示准星对准的 NPC 的 ID 和名字 | adykey.admin(默认 OP) |
配置 NPC 前,先对准它输入 /adykey look,确认它的 ID 和名字。
可用按键
原版可检测(不需要龙之核心)
| 按键名 | 说明 |
|---|---|
LEFT_CLICK |
左键点击 NPC |
RIGHT_CLICK |
右键点击 NPC |
F |
副手切换键(原版默认 F) |
Q |
丢弃键(原版默认 Q)。手上必须拿着物品才会触发 |
SHIFT |
按下潜行键 |
1 ~ 9 |
切换快捷栏。用滚轮切到该格也会触发 |
需要龙之核心
任意按键都可以,例如 Z、C、X、V、G、H、R、F1、TAB。按键名与龙之核心 KeyConfig.yml 的写法相同。插件会自动向龙之核心注册这些按键,不需要去龙之核心里手动写。
组合键
按键名前加 SHIFT_ 表示潜行时按下,例如 SHIFT_RIGHT_CLICK、SHIFT_Z。
玩家潜行时会优先匹配 SHIFT_ 版本;如果没配置 SHIFT_ 版本,就使用普通版本。
配置说明
settings 基础设置
settings:
# 准星检测的最大距离(格)
max-distance: 5.0
# NPC 碰撞箱向外扩大多少格,数值越大越容易对准
hitbox-expand: 0.2
# 方块挡住 NPC 时是否不触发
check-line-of-sight: true
# 按什么匹配 NPC: ID / NAME / BOTH
match-by: BOTH
# 触发后是否取消原版行为(F 不切换副手、Q 不丢物品、数字键不切换快捷栏)
cancel-vanilla: true
match-by 的取值:
| 值 | 说明 |
|---|---|
ID |
用 Adyeshach 创建 NPC 时填的 ID 匹配 |
NAME |
用 NPC 头顶显示的名字匹配(自动去掉颜色符) |
BOTH |
ID 或名字任一匹配即可(默认) |
匹配不区分大小写。
hover 准星提示
hover:
enable: true
# AUTO / DRAGONCORE / ACTIONBAR
mode: AUTO
# 检测间隔(tick,20 tick = 1 秒),越小越灵敏
interval: 2
dragoncore:
# 第一次启动时自动生成龙之核心提示 HUD 文件
install-hud: true
hud-file: "adykey_tip.yml"
mode 的取值:
| 值 | 说明 |
|---|---|
AUTO |
装了龙之核心就用龙核 HUD,否则用 ActionBar(默认) |
DRAGONCORE |
龙之核心 HUD,文字显示在准星下方 |
ACTIONBAR |
原版快捷栏上方的文字 |
messages 提示消息
messages:
no-permission: "&c你没有权限这样做。"
cooldown: "&c请等待 &e%time% &c秒后再试。"
reload: "&a配置已重载。"
某条消息不想显示,就把它设为 ""。
npcs NPC 配置
npcs:
NPC的ID或名字:
tip: "准星对准时显示的文字"
keys:
按键名:
- "指令1"
- "指令2"
tip 可以不写,不写就不显示提示。按键有两种写法:
简写:直接写指令列表。
Z:
- "[message] &a你按下了 Z"
- "spawn"
完整写法:可以加权限和冷却。
C:
permission: "adykey.npc2" # 可选,没有该权限的玩家无法触发
cooldown: 3 # 可选,冷却秒数,可以写小数
commands:
- "[console] give %player% diamond 1"
指令前缀
| 前缀 | 说明 |
|---|---|
[player] |
以玩家身份执行。不写前缀时默认用这个 |
[console] |
以控制台身份执行 |
[op] |
临时给玩家 OP 权限执行,执行完立即收回 |
[message] |
给玩家发送一条消息,支持 & 颜色符 |
指令开头的 / 写不写都可以。
变量
| 变量 | 说明 | 可用位置 |
|---|---|---|
%player% |
玩家名 | 指令、提示 |
%npc_id% |
NPC 的 ID | 指令、提示 |
%npc_name% |
NPC 显示名 | 指令、提示 |
%key% |
触发的按键名 | 指令 |
| PAPI 变量 | 需要安装 PlaceholderAPI | 指令、提示 |
完整示例
npcs:
村长:
tip: "&f按 &e&lZ &f与 &a%npc_name% &f对话"
keys:
Z:
- "[console] dialog open 村长对话 %player%"
RIGHT_CLICK:
- "[message] &7村长看了你一眼。"
商人:
tip: "&f按 &e&lC &f打开商店 &7| &f潜行右键 &e出售物品"
keys:
C:
cooldown: 1
commands:
- "[console] shop open 杂货店 %player%"
SHIFT_RIGHT_CLICK:
permission: "shop.sell"
commands:
- "sell"
上面的例子里,村长用 Z 键,商人用 C 键,互不影响。
修改龙之核心提示样式
提示文字由 plugins/DragonCore/Gui/adykey_tip.yml 显示,默认内容:
match: "hud"
Functions:
open: "方法.异步执行方法('刷新提示')"
刷新提示: |-
方法.更新变量值('adykey_tip');
方法.延时(250);
方法.异步执行方法('刷新提示');
提示_label:
x: "方法.取屏幕宽度/2"
y: "方法.取屏幕高度/2+12"
center: true
scale: 1
texts: "方法.取变量('adykey_tip')"
- 改位置:修改
x、y。 - 改字体大小:修改
scale,例如1.5。 - 加背景图等:按龙之核心的 Gui 写法添加组件。
文本内容来自变量 adykey_tip,由本插件根据玩家对准的 NPC 实时更新。改完执行 /core reload 生效。
常见问题
按键没反应?
- 对准 NPC 输入
/adykey look,确认能识别到 NPC,并且配置里的名字和显示的 ID 或名字一致。 - Z、C 这类按键需要服务器装龙之核心插件、玩家装龙之核心 mod。启动日志里应出现"已挂钩龙之核心"和"已向龙之核心注册按键"。
- 检查是否被
permission或cooldown拦截。 - 检查
max-distance是否太小,或者有方块挡住了 NPC。
Q 键不触发?
原版只有在玩家手上拿着物品时才会发送丢弃操作,空手按 Q 服务器收不到。
数字键滚轮也会触发?
原版客户端不区分按数字键和滚轮切换快捷栏,这是原版限制。
配置文件中文乱码?
插件固定按 UTF-8 读取配置,请用 UTF-8 编码保存 config.yml。不要用 Windows 记事本另存为 ANSI。
不显示准星提示?
- 确认
hover.enable为true,并且该 NPC 配置了tip。 - 龙之核心模式下,确认
plugins/DragonCore/Gui/adykey_tip.yml存在,并且启动日志里龙之核心载入了它。 - 修改过 HUD 文件后需要
/core reload。
插件交流群:822717399