Repository navigation
Command PCommand
Legoshi edited this page Mar 20, 2020
·
2 revisions
PCommand 接口是 ParrotX 提供的一个用于代表子命令类的接口,
实现该接口并于 CommandHandler 类注册将会在玩家输入对应的指令时尝试调用该接口的 execute() 方法以执行指令。
实现该接口最少需要实现两个方法。
- 返回值:
String - 用于获取执行该子命令所需的权限节点。
- 若返回
null或""代表该子命令无需权限即可执行,将会跳过权限检查。
- 返回值:
boolean - 在玩家执行此子命令时会尝试调用此方法以执行该子命令的内容。
- 参数:
-
plugin插件的 PPlugin 主类对象,可以通过该参数快捷获取 ParrotX 提供的I18n语言工具。 -
sender执行此命令的 CommandSender 对象。 -
args该子命令后的其他参数,同时包括该子命令,所以该子命令的参数应从args[1]开始。
-
该接口下同时提供了其他的方法用于 ParrotX 实现其他命令方面的便利功能,
比如自动生成帮助信息与 Tab 填充。
- 返回值:
String - 用于获取该子命令的用途介绍,在生成帮助信息时需要用到。
- 若未覆写该方法,默认返回
没有介绍。
- 返回值:
String[] - 用于获取该子命令的详细帮助。
- 若未覆写该方法,默认返回空数组:
new String[0]
- 返回值:
String[] - 用于获取该子命令对应参数位中,Tab 自动补全向玩家推荐的参数列表。
- 若未覆写该方法,默认返回空数组:
new String[0] - 参数:
-
arg参数位置。- 请注意,在这里参数序号从头算起,例如
0代表子命令关键词后的第一个参数。
- 请注意,在这里参数序号从头算起,例如
-
- 返回值:
String - 用于快速格式生成必填参数/可选参数。
- 我所使用的帮助信息中
<>代表必填参数,而[]代表可选参数,这好像与其他插件的帮助信息不一致,您可以通过覆写此方法来自定义它的输出格式。
ParrotX 目前提供了两个模板命令类,均已实现 PCommand 接口,用于快速注册常见的命令。
该类可以处理并发送插件帮助信息,在不带有参数时发送插件帮助信息,在带有参数时会视为获取指定子命令的帮助信息,通过调用对应 PCommand 类中的 getHelp() 方法获取。
- 参数:
-
plugin插件的 PPlugin 主类对象,该类需要 PPlugin 对象以调用I18n语言工具或获取CommandHandler类对象以获取对应的子命令PCommand对象。 -
perm执行此子命令所需的权限节点。
-
该类可以处理重载动作,具体实现为调用 PPlugin 主类对象中的 init() 方法。
- 参数:
-
plugin插件的 PPlugin 主类对象,该类需要 PPlugin 对象以调用I18n语言工具或调用 PPlugin 主类对象中的init()方法。 -
perm执行此子命令所需的权限节点。
-