API 模块
文档/dominion-api/API 模块

API 模块

DominionAPI 的公开模块、包结构和各模块的使用边界。

模块总览

模块主要包用途详情
主 APIcn.lunadeer.dominion.api获取单例、查询数据、检查权限、获取 Provider主 API
Providercn.lunadeer.dominion.providers以受控方式创建、修改和删除数据Provider
DTO 与数据模型cn.lunadeer.dominion.api.dtos表示领地、成员、组、玩家、模板和空间范围DTO 与数据模型
Flagcn.lunadeer.dominion.api.dtos.flag读取内置 flag、注册自定义 flag 和组织 UI 分组Flag
事件cn.lunadeer.dominion.events监听领地移动、数据操作和自定义 flag 注册事件
辅助类型cn.lunadeer.dominion.utils处理颜色、MCA 区域记录和长方体范围辅助类型

依赖关系

常见的调用路径如下:

DominionAPI
  ├─ 查询 -> DominionDTO / MemberDTO / GroupDTO / PlayerDTO
  ├─ 权限 -> PriFlag / EnvFlag
  ├─ 写入 -> DominionProvider / GroupProvider / MemberProvider / ...
  └─ 联动 -> Dominion 事件

多数附属只需要主 API、DTO、Flags 和少量事件。只有在确实需要创建或修改 Dominion 数据时,才引入 Provider;不要因为能访问某个内部类就把它当作扩展 API。

选择模块的原则

  • 展示领地名称、边界或所有者:使用 DTO;
  • 判断玩家能否执行某动作:使用 DominionAPI.checkPrivilegeFlag(...)
  • 判断领地环境规则:使用 DominionAPI.checkEnvironmentFlag(...)
  • 改名、加成员、修改 flag:使用对应 Provider;
  • 响应进入/离开领地:监听 PlayerMoveInDominionEventPlayerMoveOutDominionEventPlayerCrossDominionBorderEvent
  • 增加可在 Dominion UI 中配置的规则:注册自定义 flag,并由附属实现实际行为。