MC Toolkit

指南 / 建筑与资源

三种资源包纹理路径是扁平的。生物的那一个却要嵌套,而这还不是最糟的

物品、方块和画都只有一层文件。生物则住在以自己命名的文件夹里,例如 entity/zombie/zombie.png——而对大多数生物来说,那个文件夹里装着好几个文件,所以只覆盖一个文件会悄无声息地漏掉其余部分。

在资源包中覆盖一个纹理,意味着要把 PNG 放在游戏查找的确切路径上。 在四种常见类型中,有三种的路径完全规整。第四种则不然, 而且这种不规整比乍看起来更糟糕。

四种路径

assets/minecraft/textures/item/<name>.png
assets/minecraft/textures/block/<name>.png
assets/minecraft/textures/painting/<name>.png
assets/minecraft/textures/entity/<name>/<name>.png       ← note the folder

物品、方块和画都是共享目录下的一个文件。而生物则是一个属于自己的目录, 以该生物命名,里面通常也放着一个以该生物命名的文件。所以僵尸的 纹理是 entity/zombie/zombie.png,而不是 entity/zombie.png。

还要注意,生物位于 entity/ 下,而不是 mob/ —— 这个文件夹是按代码概念 命名的,而不是按游戏概念。

真正的问题在于,一个生物往往不止一个文件

嵌套结构一旦见过就很容易记住。真正会毁掉覆盖的, 是那个文件夹里还装着什么。

<name>/<name>.png 路径对以下十种是正确的:

僵尸 · 骷髅 · 苦力怕 · 绵羊 · 蜘蛛 · 末影人 · 狼 · 女巫 · 烈焰人 · 村民

其中六种——苦力怕、骷髅、蜘蛛、末影人、女巫、烈焰人——那一个文件就是整个 生物(发光的眼睛和充能苦力怕的光泽是单独的叠加层)。僵尸、绵羊、村民 和狼则在旁边保留更多东西:幼年纹理、绵羊毛、村民职业和生物群系类型, 以及另外八种狼的变种——wolf.png 只是苍白的狼。

其他所有生物都可能把纹理放在不同的子文件夹里,或者分散在好几个 文件中——幼年变种、驯服变种、颜色变种。马不是一张图。猫不是 一张图。在这些情况下替换一个文件只会改变生物的一种状态,其余部分 原封不动,在游戏里看起来就是“我的资源包只应用了一半”。

这才是值得牢记的失败模式:路径错误根本不会显示任何纹理变化,但 路径集不完整会显示出部分变化——而后者要难诊断得多,因为 资源包明明确实生效了。

优先级是最高者优先,这和 zip 给人的直觉相反

当资源包被合并时,列表中排在最前的资源包赢得路径冲突。索引 0 是最高 优先级。

这一点值得明说,因为它颠覆了人们从文件分层中带来的思维模型, 在那里最后写入的获胜。而在这里,列表中第一个资源包才是其版本的 item/diamond_sword.png 存活下来的那个;它下面的一切只填补上面那些包 没有占据的路径。

关于资源包身份的两个细节

pack.png 是图标,位于 zip 根目录,而不是 assets/ 下。它会被压成 64 × 64——非正方形的图片会被缩放而不是加黑边,所以按 16:9 设计的图标出来会变形,而不是被填充。

资源包名称中的颜色代码是字面文本。 § 字符会原样进入 pack.mcmeta, Minecraft 在显示时渲染它们:§a 绿色、§c 红色、§b 青色、 §e 黄色、§d 粉色、§l 粗体、§r 重置。没有转义步骤,也不涉及 JSON 文本 组件——纯字符串中原始的章节符号就是全部机制。

资源包工作室 →

更多指南

查看全部 →