跳到主要内容

源码模块与阅读入口

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

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

玩法与服务端扩展

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

客户端扩展

源码模块主要入口阅读顺序
common.cameracommon.client.cameraCameraDirectorCameraSessionSequenceClock第一个镜头轨迹序列策略生命周期
common.client.specSpectateStateSpectateTarget客户端旁观
common.clientcommon.client.screen.hudFPSMGameHudManagerIHudRendererHUD 管理器
common.client.tabTabManagerTabRendererTab 列表
common.client.dataFPSMClientGlobalData、客户端快照数据与重置
common.client.musiccore.music客户端播放器、MVP 默认音乐音乐播放
common.item.tool、客户端预览数据FPSMToolItemDebugData、区域和点位包区域预览与编辑工具

数据、网络和兼容

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

公共工具

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

客户端工具(RenderUtilPreviewColorUtil)见客户端渲染

阅读内部实现时

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

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

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