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。

相关条目