此特性为Java版独有。
Brigadier(意为“准将”)是一个为Minecraft: Java版设计和开发的命令读取执行库,[2]主要由Dinnerbone维护。[3]它是Mojang以开源许可放出的第一个Java版使用的库。[4]
用途
Brigadier可以用来读取和执行字符串命令。
特性
- 可通过纯文字分支或参数分支声明命令节点
- 根节点只支持添加纯文字分支节点。
- Java版中所有命令实际上是根命令节点的一个纯文字分支,并非真正被执行的命令。[5]
- 在命令环境中修改或分支命令来源
- 在读取命令的时候动态检查错误[6]
- 枚举可以从现在的命令节点到达的所有命令[7]
- 命令执行成功或失败时实时回调
- 命令节点重定向(允许递归)
/execute run重新指向原版的命令节点
历史
| 2014年10月25日 | Dinnerbone在MC-10880中提到Brigadier。 | ||||
|---|---|---|---|---|---|
| 2017年7月27日 | Dinnerbone披露未来将有一个未混淆的叫“Brigadier”的命令读取库。 | ||||
| Java版 | |||||
| 1.13 | 17w45a | 现在由Brigadier处理命令。 | |||
| Minecraft将Brigadier添加至其依赖库中。 | |||||
| 2018年9月26日 | Brigadier现以MIT许可开源。[8] | ||||
| 1.14 | 19w08a | 允许在命令中使用单引号表示纯字符串。[9] | |||
参考
- ↑ “Programmers: Play with Minecraft's Inner Workings!” – Minecraft.net
- ↑ Mojang/brigadier: Brigadier is a command parser & dispatcher, designed and developed for Minecraft: Java Edition. — GitHub。
- ↑ Contributors to Mojang/brigadier — GitHub。
- ↑ “We just pulled in our very first community contributed code into a Minecraft Java Edition official library. Woo! 🎉 Want to help out? The first library we've opened is our command engine - it's MIT licensed so you can freely use it in your own projects!” – @Dinnerbone
- ↑ Added copyright header, LICENSE, and README.md by Dinnerbone · Pull Request #8 · Mojang/brigadier ,来自boq。 Mojang/brigadier – GitHub。“I'd argue that most people identify command by first literal after root, so that would make "command" a sub-tree and not just path leading to leaf node. /bikeshedding”
- ↑ Inspecting a command — Mojang/brigadier – GitHub。
- ↑ Displaying usage info — Mojang/brigadier – GitHub。
- ↑ "Preparation for OSS :)" - Preparing for the open source software – Mojang/brigadier – GitHub
- ↑ Allow single quote in strings by boq · Pull Request #52 — Mojang/brigadier – GitHub。
| 版本 | |||||||
|---|---|---|---|---|---|---|---|
| 开发周期 |
| ||||||
| 技术 |
| ||||||
| 多人游戏 | |||||||
| 游戏订制 | |||||||
