跳到主要内容

源码模块与阅读入口

连续教程只覆盖开发第一个玩法所必需的流程。查找相机、音乐、编辑预览等独立系统时,可以从本页按源码模块进入对应专题。

以下包名均相对于 net.ptcrys.fpsmatch。文档对应当前仓库的 Forge 1.20.1 实现;阅读其他版本时,应同时查看该版本的源码签名。

玩法与服务端扩展​

源码模块主要入口阅读顺序
core.map、core.matchBaseMap、BaseRoundMap、RoundLifecycle对象关系 → 地图 → 回合
core.teamMapTeams、ServerTeam、PlayerData队伍与玩家 → 出生点
core.capability、common.capability能力工厂、容器、地图和队伍能力能力系统 → 内置能力
common.mapselect房间查询、动作、订阅服务大厅 → 房间同步
core.shop、common.shop分类、个人商店、槽位和监听模块商店 → 分类 → 监听模块
core.entity、core.item、common.entity、common.drop投掷物基类、安放炸弹抽象、携带分类投掷物 → 爆破目标
core.damage伤害来源分类战斗管线 → 伤害分类
common.event、common.command地图/队伍事件、注册事件、命令入口事件 → 命令

客户端扩展​

源码模块主要入口阅读顺序
common.camera、common.client.cameraCameraDirector、CameraSession、SequenceClock第一个镜头 → 轨迹 → 序列 → 策略 → 生命周期
common.client.specSpectateState、SpectateTarget客户端旁观
common.client、common.client.screen.hudFPSMGameHudManager、IHudRendererHUD 管理器
common.client.tabTabManager、TabRendererTab 列表
common.client.dataFPSMClientGlobalData、客户端快照数据与重置
common.client.music、core.music客户端播放器、MVP 默认音乐音乐播放
common.item.tool、客户端预览数据FPSMToolItem、DebugData、区域和点位包区域预览与编辑工具

数据、网络和兼容​

源码模块主要入口文档
core.data、core.persistenceCodec、SaveHolder、数据管理与迁移Codec · 持久化 · 迁移
common.packet模组通道、请求与客户端快照通信 · C2S · S2C
core.networkNetworkModule、请求、拦截器HTTP
core.network.downloadDownloadBuilder、Downloader、文件描述文件下载
compat.gunIGunProvider、GunCompatManager枪械提供器
compat.tacz、compat.spectateTaCZ 动画、旁观镜像与表现同步TaCZ 客户端适配
compat.kubejs脚本绑定KubeJS
bukkit混合端插件桥接与事件Bukkit

公共工具​

源码模块主要入口文档
utilFPSMUtil、FPSMFormatUtil、FPSMCodec、MapId、ItemKey工具类总览
util.hashFileHashUtil、HashAlgorithm出生点与文件哈希
core.persistence.PersistenceUtils文件名清理、缓存目录和目录创建标识、Codec 与格式化
common.item.tool、common.item.tool.handlerFPSMToolItem、EditToolItem、点击上下文与动作地图编辑工具

客户端工具(RenderUtil、PreviewColorUtil)见客户端渲染。

阅读内部实现时​

当前源码目录还包含用于支撑这些功能的注册、渲染与适配代码。它们不一定是独立的扩展系统:

  • mixin 与 accessor:连接原版或兼容模组行为。相机、Tab 和旁观已经有上层入口,通常从对应管理器扩展。
  • common.client.screen、渲染和粒子实现:框架自带界面的具体布局与表现。新增 HUD 用渲染器接口,新增 Screen 继续使用 Forge 客户端流程。
  • common.attributes、common.effect、common.gamerule、common.sound 及物品注册:内置游戏内容。新增内容依循 Forge 注册规则,再接入 FPSMatch 的战斗、资源或物品专题。
  • compat.cloth、compat.impl:已有配置界面与集成实现。它们不代表一个额外的通用 UI 框架。
  • core.function、util 和哈希辅助类:供具体模块使用的工具,调用时以使用它们的模块生命周期为准。

本页索引覆盖可识别的功能模块;它不是逐类 API 手册。新增一个可独立使用的管理器或扩展接口时,应同时补入本页、API 索引和相应侧栏专题,说明入口、调用时机、数据归属以及与其他系统的关系。