MyTownUniverse
基本信息
| 属性 | 值 |
|---|---|
| 类名 | mytown.new_datasource.MyTownUniverse |
| 文件 | src/main/java/mytown/new_datasource/MyTownUniverse.java |
| 启用版本 | Minecraft 1.7.10 |
功能
内存中的全局实体索引,MyTownUniverse.instance 为单例。数据库是持久层,
而本类是运行时把 Town、Resident、
Nation 等对象常驻内存的容器。
被谁使用
- Commands 基类 的
getUniverse()静态访问器 - Commands 的
populateCompletionMap()遍历getUniverse().towns与getUniverse().residents生成 tab 补全 - Ticker 遍历
MyTownUniverse.instance.residents逐个res.tick()
实现要点
- 城镇与居民列表是公开字段(
towns/residents),直接被外部遍历, 不是封装集合 —— 这也是本条目按「数据模型索引」而非「服务」归类的原因。 - 因为是常驻内存结构,城镇数据的修改最终要经 MyTownDatasource 落库。
Ticker在每个WorldTickEvent(服务端)里对所有居民调tick(), 维护在线状态、传送冷却等随时间变化的字段。
相关条目
- MyTownDatasource - 持久层
- Ticker - 逐 tick 驱动居民
- Town - 被索引的实体之一
- Resident - 被索引的实体之一