Dirito

也就是说假设我要做一个打招呼的指令,输入/dazhaohu 玩家名 打招呼,
当玩家在输入玩家名的时候,上方就会有这样的三角括号提示<玩家名>

南柯郡守
https://papermc.io/javadocs/pape ... d/TabCompleter.html
.
TabCompleter 了解下

可惜我没用过 不是很清楚

可以看看这个贴
https://www.mcbbs.net/forum.php?mod=viewthread&tid=1075004

QiuJay
楼上说的没错,采用 TabCompleter 实现

Dirito
南柯郡守 发表于 2020-12-24 16:08
https://papermc.io/javadocs/paper/1.13/org/bukkit/command/TabCompleter.html
.
TabCompleter 了解下

emm,我的范例是不能按tab补全的,好像tabcompleter只能tab补全,不过大不了多按1次tab。

南柯郡守
Dirito 发表于 2020-12-25 08:31
emm,我的范例是不能按tab补全的,好像tabcompleter只能tab补全,不过大不了多按1次tab。 ...

好像1.14版本以上 只要输指令的时候直接按tab 如果插件没有补全的话就会自动补全玩家名

比如输入 /tp 然后空格 直接按tab  就会补全在线的玩家名

不知道我理解的对不对

洞穴夜莺
本帖最后由 洞穴夜莺 于 2020-12-26 09:37 编辑
南柯郡守 发表于 2020-12-25 15:48
好像1.14版本以上 只要输指令的时候直接按tab 如果插件没有补全的话就会自动补全玩家名

比如输入 /tp 然 ...

此言差矣,超过半数的原版/模组指令的补全在客户端完成
如果你接触过Mod的话就会知道命令api要求命令在注册的时候指定各个参数的名称和类型,然后在玩家加入游戏或者权限变动时或者命令增加删除发送这些信息给客户端,命令调用执行的时候全部是解析好的Entity/BlockPos/Interger之流而不是一堆String,其中message是say的一个参数的参数名,并非补全的结果

Dirito
洞穴夜莺 发表于 2020-12-25 20:34
此言差矣,超过半数的原版/模组指令的补全在客户端完成
如果你接触过Mod的话就会知道命令api要求命令在注 ...

!似乎确实是这样,比如/say这样的有提示但不会tab补全的指令都是原版mc的指令,想要真正实现有提示但不会补全的效果可能只能从Mod入手

洞穴夜莺
Dirito 发表于 2020-12-26 07:15
!似乎确实是这样,比如/say这样的有提示但不会tab补全的指令都是原版mc的指令,想要真正实现有提示但不 ...

Bukkit搞这个貌似需要用NMS
不过论坛有人封装了这个东西
https://www.mcbbs.net/forum.php?mod=viewthread&tid=1111730

第一页 上一页 下一页 最后一页