Minecraft Java 版笔记
Minecraft Java 版的模组生态围绕启动器、加载器、模组、光影、存档几个核心概念展开,本文按从底层到上层的顺序逐一整理。
启动器与实例
启动器是管理 Minecraft 实例的工具,负责下载游戏本体、管理模组加载器和构造启动命令。常见的有 PCL2、HMCL、Prism Launcher 等。
启动器最终会构造一条 Java 命令来启动游戏:
1 | java \ |
实例是一套相对独立的运行环境,不同实例可以使用不同的 Minecraft 版本、加载器、Java 和模组集合。启动器通常在同一个 .minecraft/ 目录下通过版本隔离管理多个实例,各自拥有独立的 mods/、config/、saves/ 等子目录,类似 Python 虚拟环境的概念。
一个典型实例的目录布局:
1 | My-Instance/ |
存档管理
存档(Save)是某个世界在运行过程中产生的状态数据,位于实例目录的 saves/ 下,每个世界是一个独立子文件夹,内部包含区域数据(region/)、玩家数据(playerdata/)、世界设置(level.dat)等。
备份:最简单的方式是复制整个 saves/<世界名>/ 目录。如果使用了复杂整合包,config/、scripts/ 等目录中的配置也影响世界行为,复制整个实例最可靠。
迁移到其他机器:存档文件是跨平台的——Windows、Linux、macOS 之间可以直接复制,目录结构和数据格式完全一致。只需将 saves/<世界名>/ 放到目标机器的实例 saves/ 下即可。
迁移到不同实例:目标实例需要满足以下条件才能正常加载:
- Minecraft 版本一致或兼容(新版本打开旧存档会自动升级,但不可逆);
- 原存档中使用过的内容模组必须在目标实例中安装且版本匹配,否则模组添加的方块、物品会消失或导致报错;
- 纯客户端辅助模组(小地图、HUD 等)不影响存档加载,可有可无。
跨实例迁移前建议先在原实例中备份,再在新实例中创建测试世界确认环境正常。
Minecraft 版本
几个经典的正式版本:
- 1.7.10(2014,改变世界的更新):新增大量生物群系变种、新的世界生成算法、染色玻璃等方块。大量经典模组诞生于此,是 Forge 模组黄金时代的起点。
- 1.12.2(2017,色彩世界):加入混凝土、带釉陶瓦、鹦鹉、配方书系统,进度系统取代成就。1.13 的扁平化改动破坏了大量既有模组,因此 1.12.2 成为模组生态长期停留的版本。
- 1.16.5(2021,下界更新):下界生物群系大改,新增猪灵、疣猪兽、下界合金装备,下界维度从荒芜之地变为可生存区域。Fabric 和 Forge 生态在此版本都比较活跃。
- 1.18.2(2022,洞穴与山崖):世界高度扩展至 -64~320,洞穴生成算法重写,新增溶洞、繁茂洞穴和更高的山峰。世界生成机制的根本性变化。
- 1.20.1(2023,足迹与故事):加入考古系统、樱花树林、竹制方块、锻造模板、骆驼。大量 Forge 整合包以此为基础版本。
从 1.21.x 之后,Mojang 改用年份式版本编号:26.1、26.2 等,其中 26 表示 2026 年,第二段为当年的发布序列号。截至 2026 年 7 月,Java 版最新正式分支为 26.2(2026-06-16 发布),附带实验性 Vulkan 渲染支持。
从 26.1 起:要求 Java 25、官方附带 Microsoft Build of OpenJDK 25、代码不再进行传统名称混淆、默认内存分配从 2 GB 提升到 4 GB。
模组与加载器
模组(Mod)是扩展或修改 Minecraft 的 Java 模块,以 .jar 文件形式放在 mods/ 目录。一个模组 JAR 通常包含编译后的 class 文件、元数据、纹理模型、语言文件和默认配置。
模组加载器负责发现 mods/ 中的 JAR、解析元数据、检查版本依赖、加载模组入口点并调度生命周期。常见加载器:
- Fabric:轻量、模块化,适合新版本原版增强、客户端辅助、生电工具。
- NeoForge:现代大型内容模组,适合新一代科技/魔法整合包、完整 API 需求。与 Forge 有历史关系但不能当作同一加载器,当前提供 26.2 安装版本。
- Forge:成熟旧版本生态,适合只发布 Forge 构建的经典模组。
- Quilt:Fabric 分支,整合包明确要求时选择,不保证所有 Fabric 模组兼容。
不同加载器的模组不能混用。同一项目可能发布 -fabric、-neoforge、-forge 三种构建,按自己的加载器选择对应文件。即使版本和加载器匹配,模组之间也可能因修改同一功能、公共库版本不一致或配置冲突导致不兼容。
Fabric Loader ≠ Fabric API。Fabric Loader 负责启动模组,Fabric API 是独立的 JAR(放进 mods/),模组页面标注依赖时才需要安装。
常用辅助模组
以下按功能分类整理常用的辅助模组:
- 前置与 API:Fabric API(Fabric 生态的基础接口,按需安装)、MaLiLib(Litematica / MiniHUD / Tweakeroo 的前置库)、Cloth Config API(多数模组的配置界面依赖)。
- 性能与渲染:Sodium(渲染引擎优化)、Sodium Extra(Sodium 功能扩展)、Iris(光影加载)。
- 配方与物品:JEI(浏览物品、查询合成与用途)。REI、EMI 功能类似,选择一个即可。
- 地图:Xaero’s Minimap + Xaero’s World Map(小地图 + 全屏地图,配套使用)。
- HUD 与界面:Jade(方块/实体信息悬浮显示)、AppleSkin(饱食度与饥饿值详情)、Mod Menu(Fabric 模组列表和配置入口)、Chat Heads(聊天消息附带玩家头像)、InvMove(打开物品栏时仍可移动)。
- 生电工具:Carpet + Carpet-TIS-Addition + Gugle-Carpet-Addition(地毯模组及常用扩展)、Litematica(投影/蓝图)、MiniHUD(自定义 HUD 信息显示)、Tweakeroo(微调与辅助功能)、Item Scroller(物品栏快速操作)。
- 实用工具:IMBlocker(自动控制输入法切换)、NoChatReports(禁用聊天报告签名)、ReplayMod(录像与回放)、MoreChatHistory(扩展聊天历史记录上限)。
光影配置
光影(Shader)通过替换 Minecraft 的渲染管线实现更真实的光照效果:动态阴影、水面反射、体积光、泛光、环境光遮蔽、色调映射等。
配置光影需要两个组件:光影加载器负责接管渲染流程、组织渲染阶段、向着色器传递场景信息;光影包是一组 GLSL 着色器程序和配置文件,定义具体的视觉效果。两者缺一不可。
当前主流的光影加载器是 Iris,它需要配合 Sodium(渲染优化模组)使用。安装 Iris + Sodium 后 shaderpacks/ 目录会自动生成,将光影包(.zip 格式,一般无需解压)放入该目录,进入游戏后在视频设置 → 光影中选中并启用。部分光影包首次加载需要等待着色器编译。
OptiFine 曾是光影配置的主流方案,但其闭源和兼容性问题促使社区转向 Iris。Iris 兼容多数 OptiFine 格式的光影包,但并非 100%,官方维护了一份不兼容列表。不要同时安装 Iris + OptiFine——两者都是光影加载器,功能重叠,混装会导致渲染错乱或崩溃。光影包之间互不冲突(同时只能启用一个)。
Forge 1.20.1 等旧版本中,Sodium 和 Iris 不可用,通常使用 Embeddium(渲染优化)+ Oculus(光影加载器)组合。
光影对 GPU 压力较大,帧率取决于光影包复杂度、分辨率、视距和显卡性能。建议从光影包自带的中等预设开始逐步调整画质选项;高分辨率资源包 + 高视距 + 光影是帧率的主要杀手;部分光影包提供多档预设(低/中/高/极致)。
整合包
整合包(Modpack)是将固定版本的模组集合、配置和脚本打包在一起的可分发环境。不只是模组压缩包,而是:
1 | Minecraft 版本 |
成熟整合包作者还会统一材料、修改配方、设计任务线、调整数值、删除重复内容、修复冲突。
整合包应通过启动器导入,不能只解压 mods 文件夹。单独升级整合包中的单个模组可能导致脚本失效、配方改变、任务无法识别或 Mixin 冲突——应优先整体升级。
分层总览
Minecraft 模组生态的完整层次:
1 | 启动器 |
