Commands 基类
基本信息
| 属性 | 值 |
|---|---|
| 类名 | mytown.commands.Commands |
| 文件 | src/main/java/mytown/commands/Commands.java |
| 类型 | abstract class,纯静态工具 |
| 启用版本 | Minecraft 1.7.10 |
功能
所有命令类的公共基类。自身不注册任何命令,只提供两样东西:访问器与 tab 补全表。
访问器
| 方法 | 返回 |
|---|---|
getDatasource() |
MyTownDatasource |
getUniverse() |
MyTownUniverse |
getLocal() |
Local |
populateCompletionMap()
向 MyPermissions 的 CommandCompletion 注册 5 组补全键:
| 补全键 | 内容 |
|---|---|
townCompletionAndAll |
全部城镇名 + @a |
townCompletion |
全部城镇名 |
residentCompletion |
全部居民玩家名 |
flagCompletion |
全部 flag 名(小写) |
flagCompletionWhitelist |
仅 isWhitelistable 的 flag 名 |
由 MyTown 的 serverStarting 在 registerCommands() 之后调用。
实现要点
- flag 补全直接遍历
FlagType.values()并toLowerCase(),因此新增 flag 无需改此处。 townCompletionAndAll与townCompletion复用同一个populator列表实例, 第二次调用前才new ArrayList<>()重建,故两者内容相同、仅前者多一个@a。
相关条目
- CommandsEveryone -
/town主命令所在类 - CommandsAdmin -
/mytownadmin所在类 - FlagType - 15 种 flag 的定义