做资源包的人都有一个共同的痛:辛辛苦苦画完一套材质,打包出来动辄一两百 MB,自己传网盘要等半天,玩家下载也嫌慢,进游戏加载还要卡上一会儿。其实资源包里大量空间是被白白浪费的——PNG 贴图带着没用的元数据、颜色数远超实际需要,JSON 里全是缩进空格,音频采样率虚高。PackSquash 就是专门解决这件事的:它是一款开源免费的我的世界资源包压缩工具,把整个资源包目录丢给它,它逐个文件做无损/可控有损优化,最后吐出一个能直接给游戏用的 ZIP。官方 README 里给过一组数据:默认配置下把某知名资源包从 118 MiB 压到 57 MiB,缩减 51.69%。

下载地址
版本 v0.4.1(Windows x64 便携 zip,3.4 MB,解压出 packsquash.exe 即用)
提取码:ps41(三个网盘通用)
这个工具解决什么问题
资源包体积大,本质上是三件事没做好:
一是图片冗余。手绘或工具导出的 PNG 往往保留了完整元数据,色彩深度、压缩方式也没针对像素画做优化,一张 128×128 的贴图能占几十 KB。
二是文本冗余。资源包里的 JSON(模型、方块状态、语言文件)为了人看着舒服,普遍带大量缩进和换行;这些空格对游戏毫无意义,却实打实占体积。
三是打包方式粗糙。普通压缩软件按通用算法压一遍就完事,对 PNG、Ogg 这种"已经压过"的文件基本无能为力。
PackSquash 的思路是逐个文件类型分别优化,再用 Zopfli 做最后一道 DEFLATE 压缩,最后生成一个仍然完全符合 Minecraft 规范、游戏能直接读的 ZIP。它不是让你改画法,而是把同样的内容用更省的字节装进去。
核心功能详解
PNG 贴图优化。这是对资源包体积影响最大的一环。PackSquash 会做调色板量化(把颜色收敛到合适位深)、无损降低色彩深度与颜色类型、删除元数据、对纯色贴图自动降尺寸。量化与降尺寸都可以关掉,追求完全无损的人可以只留无损项。这部分底层用的是大名鼎鼎的 imagequant(pngquant 同款)与 oxipng 库。
音频优化。支持 Ogg、Oga、MP3、M4A、FLAC、WAV,能做声道混合、降采样、用现代 Vorbis 编码器转码、音高位移、去标签、静音裁剪,还会用 OptiVorbis 做两遍优化与校验。默认参数是按"游戏内听感够好、不刺耳"调的。注意声道混合默认关闭——因为 Minecraft 的音效引擎对单声道/立体声的位置感处理有已知 bug(MC-146721),开了可能改变听感。
JSON 与文本文件优化。所有 .json、.jsonc、.mcmeta 会被压成最小化单行,同时顺带做一次严格的 JSON 语法校验——写错了它会报错,等于免费帮你查错。着色器文件(.vsh/.fsh/.glsl)同样最小化,还会解析并展开预处理指令。旧版 .lang 语言文件、OptiFine 的 .properties、Blockbench 的 .bbmodel(需开启对应支持)也都有各自的压缩处理。
结构文件与打包层。.nbt 结构文件会用 Zopfli 重新压缩、合并 Gzip 成员并去掉元数据。所有不属于"天然已压缩"的文件,最终都会走 Google 的 Zopfli 算法——一种为了极致体积、牺牲速度的 DEFLATE 编码器,兼容任何标准解压器。
三个进阶开关(默认关闭,需要自己权衡):①复用上一次生成的 ZIP,只压变化过的文件,适合反复改包的增量工作流,能极大提速;②去重,包里重复出现的相同文件只存一份;③ZIP 保护/混淆,让生成的包更难被普通解压软件读取,也能给素材加一道门槛。
完整安装与使用教程
它是命令行程序,没有图形界面,但用起来并不复杂,三步走:
第一步,下载解压。从 GitHub Releases 下载 packsquash.exe-x86_64-pc-windows-gnu.zip(3.4 MB),解压得到单个 packsquash.exe,放到任意目录,免安装、无需运行时。官方也为 Linux、macOS 提供了对应包。
第二步,写一个选项文件。PackSquash 只认一个必填项 pack_directory,所以一个最小可用的 options.toml 只有两行:
pack_directory = 'D:\我的资源包'
output_file_path = 'D:\我的资源包-优化版.zip'
第三步,运行。把选项文件路径作为参数传给程序:
packsquash.exe options.toml
它就会开始逐文件处理,控制台实时打印每个文件做了什么优化,最后输出生成的 ZIP 路径、文件数、压缩后体积和耗时。生成的 ZIP 直接改名成资源包放进 .minecraft/resourcepacks 就能用,不需要任何额外处理。

配置示例
PackSquash 的配置全部写在 TOML 里。除了几个全局选项,还能用通配符表给不同文件类型分别设参数——表名就是文件路径的 glob 模式。下面是一份带注释的常用配置:

几个关键项的含义:
zip_compression_iterations:Zopfli 压缩迭代次数,范围 0~255,默认 20。调高更省空间但更慢;调成 0 则不压缩,速度快、包更大,但加载时也省去解压步骤。recompress_compressed_files:默认 false。开启后连 PNG、Ogg 这类已经压过的文件也再压一遍,能再抠一点空间,代价是明显变慢。color_quantization_target:PNG 调色板量化目标,默认auto,追求无损可改成 100 或关闭量化。minify_json/delete_bloat_keys:JSON 最小化、删除作者工具留下的无用元数据键。
实测记录
测试环境:Windows,官方 packsquash.exe v0.4.1(GitHub Release 直下,本机 sha256 为 77414a79477c83ffc4a15ebb6eafcc9809e5aeba04e204ab313163b4503b6895)。
为了拿到可回溯的数字,我自建了一个测试资源包:包含 pack.mcmeta、2 个物品模型 JSON、2 个语言 JSON、sounds.json,以及 5 张 128×128 与 256×256 的贴图,共 11 个文件、419037 字节。用默认配置跑一遍:
- Reading options from options.toml...
- Options read. Processing pack...
- Working around automatically detected Minecraft quirks: bad_entity_eye_layer_texture_transparency_blending
> pack.mcmeta: Minified
> assets/minecraft/sounds.json: Minified
> assets/minecraft/models/item/sapphire.json: Minified and debloated
> assets/minecraft/lang/en_us.json: Minified
> assets/minecraft/textures/item/ruby.png: Optimized with 72% quality color quantization
> assets/minecraft/textures/block/crystal_block.png: Optimized with 47% quality color quantization
- Finishing up ZIP file...
# out/pack.zip generated, 0.076 MiB (11 pack files, 11 pack files stored, 0.599 s)
结果:419037 字节 → 79595 字节,缩减 81.01%,耗时 0.599 秒。需要说明的是,这是一个很小的自建测试包,且贴图本身压缩得比较随意,所以缩减率偏高;真实的大型资源包,官方给出的参考值是约 51.69%,量级上更接近实际。
另外把 recompress_compressed_files 打开、zip_compression_iterations 提到 100 再跑一次,输出体积仍是 0.076 MiB,耗时从 0.599 秒升到 0.678 秒——在这个小包上极限档没带来额外收益。这符合它的设计:Zopfli 的收益主要体现在大文件上,小包重压基本是白费时间。真实大包才值得开极限档。

使用场景
- 资源包作者:发布前过一遍 PackSquash,同样的内容体积直接砍一半,玩家下载更快、好评更多;增量模式还能在每次小改后快速重打包。
- 服务器/整合包团队:服务器分发的资源包动辄上百 MB,压缩后能显著降低带宽成本,也减少玩家首次进服等待。
- 数据包作者:数据包里的 .json、.nbt、函数文件同样适用,顺带获得语法校验。
- 普通玩家:手上有个体积夸张的第三方资源包,想瘦身又不希望画质明显下降,可以用默认配置压一遍——默认参数本来就是按"听感/观感够好"设计的。
同类对比
- vs 普通压缩软件(7-Zip / WinRAR):它们只会对整体再压一层,对 PNG/Ogg 这种已压缩数据几乎无效;PackSquash 是深入到文件类型内部做优化,量级完全不同。
- vs 手动 pngquant / oxipng:这些工具只处理图片,你得自己写脚本遍历、再自己打包;PackSquash 把图片、音频、JSON、NBT 的优化和打包串成了一条流水线。
- vs 游戏自带打包:Minecraft 本身不提供资源包压缩工具,ZIP 只是容器,不做内容优化。
- vs 在线压缩网站:上传几百 MB 的资源包既慢又有隐私顾虑,本地命令行没有这个负担,还能脚本化批处理。
常见问题
会破坏资源包吗? 默认配置以观感/听感无损或近似无损为目标;如果要求严格无损,可以把 PNG 量化与降尺寸关掉、音频转码关掉,只保留无损项。
需要装 Java 吗? 不需要,Windows 版是独立 exe,无运行时依赖。
中文界面? 它是纯命令行工具,输出为英文,没有图形界面。
和 Mojang 有关系吗? 没有,PackSquash 是社区开源项目,与 Mojang 无官方关联。
总结
PackSquash 把"资源包瘦身"这件麻烦事做成了三条命令:写一个选项文件、指向你的资源包目录、运行。它覆盖 PNG、音频、JSON、着色器、NBT、语言文件等几乎所有能优化的类型,底层堆的是 imagequant、oxipng、OptiVorbis、Zopfli 这些成熟库,并且生成的 ZIP 游戏可直接使用。对于任何要发布资源包、数据包的人,这是一个值得放进工作流的开源免费工具。
软件信息
| 项目 | 内容 |
|---|---|
| 软件名 | PackSquash |
| 当前版本 | 0.4.1(2026-01-01) |
| 大小 | 3.4 MB(Windows 便携 zip,解压出 packsquash.exe 8.92 MiB) |
| 许可证 | AGPL-3.0 开源 |
| 平台 | Windows / Linux / macOS |
| 官方仓库 | github.com/ComunidadAylas/PackSquash |
| 官方站点 | packsquash.aylas.org |
病毒扫描
网盘内 packsquash.exe-x86_64-pc-windows-gnu.zip 为 GitHub Release 官方原版,本机实测 zip 的 sha256 为 88acfe76003d188baf2421d18f0e818f19157504cbd058857d62c8d9c3a596e9,解压出的 packsquash.exe sha256 为 77414a79477c83ffc4a15ebb6eafcc9809e5aeba04e204ab313163b4503b6895。病毒扫描报告待补扫后更新。



