给天空重新上色:月亮现在是八个文件,太阳也挪了位置
天空包会替换 celestial/sun.png、八个 32×32 的月相文件、end_flash.png、clouds.png、rain.png、snow.png 和 end_sky.png,且尺寸必须精确。旧的单张月亮长条图已经不存在了。
重新上色包失败的原因往往很无聊:路径写错、画布尺寸不对,或者游戏要八个文件你只给了一个。以下是直接从 26.3 客户端 jar 里读出来的确切目标,所以这里的路径和尺寸都是真正会被加载的。
天空由十四个文件组成
天空的一切都在 assets/minecraft/textures/environment/ 下,而太阳和月亮有自己单独的 celestial/ 文件夹:
| 文件 | 尺寸 |
|---|---|
celestial/sun.png | 32 × 32 |
celestial/moon/<phase>.png × 8 | 每个 32 × 32 |
celestial/end_flash.png | 64 × 64 |
clouds.png | 256 × 256 |
rain.png | 64 × 256 |
snow.png | 64 × 256 |
end_sky.png | 128 × 128 |
把这十四个全换掉,天空就是你的了。没有别的了——没有单独的地平线,也没有渐变文件。这些之外的天色来自生物群系,而不是纹理。
月亮是八个文件
这个错误值得专门点出来,因为以前恰好相反。每个月相都是 environment/celestial/moon/ 下独立的 32 × 32 纹理:full_moon.png、waning_gibbous.png、third_quarter.png、waning_crescent.png、new_moon.png、waxing_crescent.png、first_quarter.png 和 waxing_gibbous.png。
所以,仍然附带旧的单张 moon_phases.png(一张 128 × 64、包含全部八个月相的长条图)的包,附带的是一个当前游戏根本不会读取的文件;把 sun.png 直接放进 environment/ 的包也一样。这两种正是大多数旧包和教程至今仍在用的形式。
雨和雪是竖长的,不是正方形
两者都是 64 × 256——高度是宽度的四倍。这是因为它们是沿屏幕向下平铺的竖直条纹,而不是粒子贴图。把它们画成正方形会得到被拉伸的涂抹痕迹,这也是最常见的尺寸错误。
附魔光效是两个各司其职的文件
附魔的微光不是一张纹理:
misc/enchanted_glint_item.png——物品上的光泽misc/enchanted_glint_armor.png——穿戴盔甲上的光泽
只改其中一个,另一个会保持原版的紫色,在你自己包里看起来就像个 bug。如果你要改光效,就两个都改,或者两个都别动。
字体是一个 JSON 加一张图集
字体相关的工作涉及两个文件:
font/include/default.json——提供方列表,说明哪张图集提供哪些字符(font/default.json只是指向它)textures/font/ascii.png——图集本身
只替换 PNG 会保留原版的字符映射。只要你在原版的 16 × 16 网格上绘制就没问题;一旦挪动某个字形,它就会落到错误的格子里,除非 JSON 也一起改。
通用规则
重新上色包是一种按路径逐一覆盖:把文件放在原版使用的同一路径上,你的就会生效。这就是为什么上面的路径比画本身更重要——一张放在 textures/enviroment/sun.png 的精美纹理什么都不会加载,而游戏也不会告诉你原因。