问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Minecraft资源包制作教程:从入门到精通

创作时间:
作者:
@小白创作中心

Minecraft资源包制作教程:从入门到精通

引用
1
来源
1.
https://www.mcmod.cn/post/4511.html

本文将详细介绍如何制作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:纹理文件夹,决定物品或方块的纹理。

接下来,我们开始创建一个新的资源包:

  1. 打开版本文件夹中的资源包文件夹(resourcepacks),或通过选项 > 资源包 > 打开资源包文件夹来打开。
  2. 创建一个新的文件夹,命名随意。
  3. 资源包文件夹一般由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 等(可选)
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号