Minecraft资源包制作教程:从入门到精通
Minecraft资源包制作教程:从入门到精通
本文将详细介绍如何制作Minecraft资源包,包括方块和物品的纹理、模型等。教程基于Minecraft 1.20.1版本,其他版本可能不完全适用。
准备工作
- 编辑PNG文件:需要一个可以编辑PNG文件的软件,推荐使用Photoshop、Aseprite或Paint.net。
- 编辑JSON文件和建模:需要一个可以编辑JSON文件的软件,推荐使用Visual Studio Code和Blockbench。
- 压缩文件:需要一个可以压缩文件的软件,推荐使用Bandzip。
文件结构与创建资源包
通过解压缩原版Jar文件,我们可以发现assets文件夹中存在一个名为minecraft的文件夹,这便是原版mc的命名空间。其中包含绝大部分游戏中的纹理、模型等文件。
如需要更改方块与物品的纹理或模型,我们通常只需要保留以下文件夹:
- blockstates:父模型文件夹(方块状态映射文件夹),决定不同状态的方块(如朝向)所使用的模型;
- models:模型文件夹,决定物品或方块所使用的模型或纹理;
- textures:纹理文件夹,决定物品或方块的纹理。
接下来,我们开始创建一个新的资源包:
- 打开版本文件夹中的资源包文件夹(resourcepacks),或通过选项 > 资源包 > 打开资源包文件夹来打开。
- 创建一个新的文件夹,命名随意。
- 资源包文件夹一般由2至3个文件组成,结构如下:
- pack.mcmeta:资源包描述文件,包含资源包在资源包选择界面中的简介,资源包的兼容版本等。
- pack.png:可选,为资源包的封面。
- assets:即上文所介绍的文件夹,包含绝大部分游戏中的纹理、模型等文件。
接下来,我们打开assets文件夹,新建一个名为minecraft的文件夹,这是原版mc中的命名空间,可以理解为其包含文件的所属项目的名字。
自行创建或粘贴从原版Jar粘贴来的3个文件夹(blockstates、models、textures)。
检查是否无误,具体结构如下所示:
pack.mcmeta
pack.png(可选)
assets
minecraft
blockstates(可选)
models(可选)
textures(可选)
pack.mcmeta文件
本文仅介绍如何填写简介与版本号等常用功能,如果想了解其更深层的用法,请前往Minecraft中文Wiki。
模板:
{
"pack": {
"pack_format": 1,
"description": "test"
}
}
其中"pack_format"为设定的资源包的适用版本(即资源包版本号),1为所填的值,其格式为JSON中的键值对。下面列出了一些常用的资源包版本号:
- 1.16.5:6
- 1.17:7
- 1.18.2:8
- 1.19.2:9
- 1.19.4:13
- 1.20.1:15
- 1.20.4:22
- 1.21.1:34
注意:资源包版本号如与实际游玩版本不同会发出警告,这个警告只是提示,一般忽略即可。
"description"为资源包在资源包列表中的描述,可使用格式化文本,资源包列表中最多显示两行。
pack.png文件
即资源包列表中显示的资源包图标。可选,如不添加则显示原版默认图标。如添加,最好为正方形。
方块与物品的模型、纹理的工作原理
blockstates文件夹
首先,打开blockstates文件夹,它负责决定所有每个方块不同状态所使用的模型(方块状态映射)。
就以铁砧举例:(位于assets/minecraft/blockstates/anvil.json)
{
"variants": {
"facing=east": {
"model": "minecraft:block/anvil",
"y": 270
},
"facing=north": {
"model": "minecraft:block/anvil",
"y": 180
},
"facing=south": {
"model": "minecraft:block/anvil"
},
"facing=west": {
"model": "minecraft:block/anvil",
"y": 90
}
}
}
其中"variants"为直接指定方块状态的方块状态映射。并且,"variants"还包含多个facing(铁砧朝向),这就是铁砧的状态,可以在F3中找到:
models文件夹
接下来,打开models文件夹,它负责决定物品或方块所使用的模型。其中包含2个文件夹:
- item:决定物品所使用的模型(直接受游戏调用);
- block:决定方块所使用的模型(在blockstates中被调用)。
接下来,我们使用Blockbench打开金合欢木船的model(json)文件(位于assets/minecraft/models/item/acacia_boat.json)
我们可以观察到左下角就是调用的纹理。
texture文件夹
打开texture文件夹,它负责存储模型所调用的纹理。其中包含多个个文件夹,我们只介绍部分:
- block:包含所有方块的纹理;
- entity:包含大部分实体与方块实体的纹理;
- environment:包含太阳、月亮等纹理;
- font:包含原版字体纹理;
- gui:包含原版GUI纹理;
- item:包含所有物品纹理;
- map:包含地图的界面等纹理;
- misc:包含带上南瓜头后的遮罩纹理等;
- mob effect:效果图标的纹理;
- models:盔甲的纹理;
- painting:画的纹理;
- particle:粒子效果的纹理。
其中的纹理文件为png格式。
打包与分发
资源包可以多种方式在资源包文件夹被游戏识别,其中常见的两种方式:
- zip压缩文件:可使用压缩软件将文件夹压缩为zip压缩文件。
注意:如文件夹中文件命名包含中文等特殊字符,会导致压缩为zip文件无法被识别。 - 文件夹:可直接将资源包以文件夹形式存储。
当然,我们也可以在与assets同级的文件夹中放入一些想说的话或者协议信息等:
- pack.mcmeta
- pack.png(可选)
- assets
- 想说的话.md 或 README.txt 等(可选)