主要常用 API
按查询、权限判断、数据写入和事件联动快速查找 DominionAPI。
常用 API 速查
| 需求 | 首选 API | 详情 |
|---|---|---|
| 查询某个位置的领地 | DominionAPI#getDominion(Location) | 查询与权限 |
| 查询玩家当前领地 | DominionAPI#getPlayerCurrentDominion(Player) | 查询与权限 |
| 判断玩家能否执行动作 | checkPrivilegeFlag / checkPrivilegeFlagSilence | 查询与权限 |
| 判断环境规则 | checkEnvironmentFlag(Location, EnvFlag) | 查询与权限 |
| 修改领地、成员或组 | 对应 Provider | 数据写入 |
| 监听进入/离开领地 | PlayerMoveInDominionEvent 等 | 事件联动 |
| 注册可配置的新规则 | Flags.register... + Flags.applyChanges() | Flag 模块 |
调用顺序
普通的附属业务可以按下面的顺序实现:
- 在
onEnable()中缓存DominionAPI单例; - 用位置或 UUID 查询目标 DTO;
- 查询不到时立即结束流程,不要用特殊 ID 假装存在;
- 需要判断玩家动作时调用按位置的权限检查;
- 需要修改数据时调用 Provider,并异步处理完成值;
- 需要响应状态变化时监听事件,而不是定时扫描全部领地。