跳到主要内容

Game 模块文档

RhythMC-Reborn 游戏引擎(Game/ 包)文档索引。

文档列表

文档内容
architecture.md模块分层、类关系图、包依赖
game-lifecycle.md游戏状态机、完整游戏流程、各阶段时序
judgment-system.md判定流水线、碰撞检测算法、延迟补偿
data-model.md谱面数据结构、Format 包 Record 详解

包结构速览

Game/
├── Chart/ 运行时谱面对象(Level、TrackObject、NoteObject、GameplayNote)
├── Effects/ 谱面特效实现(AbstractEffect、PersistentEffect 子类)
├── Format/ 不可变谱面数据 Record(RawSong、RawLevel、Track、Note…)
├── GameConstants.java 全局数值常量
├── Guidance/ 玩家反馈层(粒子、音效、ActionBar、记分板…)
├── Instances/ GameInstance(游戏主实例)、ArenaInstance
├── Listeners/ Bukkit 事件监听(判定输入、资源包状态)
├── Managers/ 全局管理器(GameManager、ChartManager、ArenaManager)
│ └── Gameplay/ 游戏内子管理器(Judge、Timing、Feedback、Effect、Stat…)
├── OffsetTest/ 延迟校准小游戏(开发中)
├── ResourcePack/ 资源包三级分发系统
├── Rival/ 对手抽象层(LocalRivalPlayer、CloudRivalPlayer)
└── Utils/ 工具类(JudgeUtils、ChartUtils、GameOptions)

架构层次

运行时说明

  • 玩家计分板现在采用三段式刷新:异步定时器发起刷新请求,主线程抓取 PlaceholderAPI/GameInstance/FastBoard 相关快照,随后在异步线程完成文本替换与 Adventure Component 渲染,最后再回到主线程提交给 FastBoard
  • 这样可以把大部分字符串替换和颜色解析从主线程移开,同时继续遵守 Bukkit 与 PlaceholderAPI 的线程边界。