Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
注册
Advertisement
Disambig gray  本文章介绍的是为Java版制作资源包。关于基岩版上的行为包,请见“教程/制作行为包”。
Information icon
此特性为Java版独有。
Clock
此条目需要更新。

条目中某些信息可以参照英文版进行翻译更新。

Iron Pickaxe
该页面的编辑正在进行中。 讨论

请帮助我们扩充或改进这篇文章。

开始制作[]

注意:完成本教程大约需要1至1.5个小时。

资源包可以修改纹理、模型、动画、声音、用户界面和语言。

禁止事项[]

在制作及发布资源包时,你不能做任何违反Mojang StudiosMinecraft使用条款的事,包括但不限于:

  • 发布Minecraft版本或其修改版本,使得没有从Mojang购买Minecraft的人可以进行游戏。
  • 以任何方式发布Minecraft的反编译源代码。

所需要的工具[]

完成此教程需要准备以下软件:

一个文件解压程序[]

要解包获取Java版的纹理和其他资源文件,你需要一个文件解压程序。如果你使用的是Windows系统,那么本页面推荐使用WinRAR或者7-Zip。如果使用macOS,那么使用系统自带的解压缩功能即可。

一个文本编辑器[]

你可以使用任何一种文本编辑器,如Windows自带的记事本。但本页面建议你使用集成开发环境(IDE)。Visual Studio Code是一款不错的轻量级IDE,进入链接后点击Download for <你的系统>即可开始下载。

一个图像编辑器[]

你可以使用Windows自带的画图软件,但在Windows 10及更早的版本不建议这样做,其旧版本不支持带有透明度的图像,会让纹理变得很糟糕。

GIMP(GNU图像处理程序)是一款免费且开源的图像编辑器,它可以编辑有透明度的图像。

Paint.NET也可以编辑有透明度的图像,并且拥有更简单和基本的用户界面。

一个3D模型编辑器[]

你可以使用任何一种3D模型编辑器,但是本页面推荐使用Blockbench,因为它可以较为方便地将工程输出为.json格式。

一个音轨编辑器[]

Audacity可以迅速编辑你的音效。

创建资源包[]

进入.minecraft/resourcepacks文件夹创建一个新文件夹并将其命名(它会作为资源包的名称),然后打开它。

创建MCMETA文件[]

右键选择新建文本文档,并将其重命名为pack.mcmeta。使游戏知道该文件夹是一个资源包,还允许你自定义在游戏中选择使用资源包时出现的描述。

注意

重命名时,请确保文件扩展名为.mcmeta,而不是.txt可能会弹出“如果要改变文件扩展名,可能会导致文件不可用!”的警告,选择“是”。

如果你使用的是Microsoft Windows并且看不到文件扩展名,对于Windows 11,可以在文件资源管理器的“查看”→“显示”菜单中找到“文件扩展名”选项并开启;对于Windows 8、Windows 8.1或Windows 10,可以通过转到其中的“查看”菜单并勾选“文件扩展名”复选框来启用它。

对于Windows 7,可在左上方点击“组织”,弹出下拉菜单中选择“文件夹和搜索选项”,或在菜单栏上点击“工具”,在工具下拉菜单里选择“文件夹选项”;然后在弹出的窗口中切换到“查看”选项卡,找到并取消勾选“隐藏已知文件类型的扩展名”选项,最后点击“确定”应用设置。

FileExtensions

如果你使用的是macOS,在文件上右键,选择:“文件”→“显示简介”,点击“名称与扩展名”旁边的箭头来展开,取消勾选“隐藏扩展名”,或在访达界面按⌘ Command + ,打开偏好设置→高级→显示所有文件扩展名

注意:在任何代码里都必须要半角标点符号而不是全角,它们之间一个明显的差别是全角符号通常会自带一个“空格”,这使它们会看起来更宽。

pack.mcmeta[]

在你选择的文本编辑器中打开pack.mcmeta并复制或键入以下内容:

{
    "pack": { 
        "pack_format": X,
        "description": "Tutorial Resource Pack"
    }
}

pack_format[]

你应该根据你的Minecraft版本替换pack_format后面的X为以下数值:

注意:X为3或更高值(1.11及以上版本)时,资源包内所有文件名只能有小写字母;随着更多游戏版本更新发布,可能会更改或添加X的值。

对于1.20.223w31a)及更高版本,你可以在"pack_format": X,的下一行添加字段"supported_formats": [ m, n ],来使资源包同时支持多个游戏版本,其中m是支持的最低资源包版本号,n是最高资源包版本号。

description[]

你可以留空或修改简介。如果你需要输入特殊字符,则需要使用Unicode转义字符,可以在此处查找其代码。如字母“Þ”,可以使用\u00DE来代替。注意应使用反斜杠\而不是正斜杠/。注意:Minecraft只支持字符0000-FFFF。

注意

这个文件格式为JSON!我们现在不会详细讨论格式,但要注意保持它的排列。注意不要漏了任何一个引号、冒号和花括号或方括号。缺少其中一个可能会导致资源包无法正常工作!

更多有关pack.mcmeta文件内容见资源包#内容

测试我们的资源包[]

此时,你要将资源包放入游戏中来测试格式正不正确,你需要将你写的资源包放入Minecraft包文件夹下,你可以在游戏中依次打开 "选项"→"资源包..."→打开包文件夹" 来打开文件夹。

或者你可以通过文件浏览器来打开它。

  • Windows系统,右键单击开始按钮 → 运行 → 输入%AppData%\.minecraft\resourcepacks,或者直接在文件资源管理器的地址栏输入上述地址。
  • MacOS系统,打开资源库 → Application Support → minecraft → resourcepacks
  • Linux系统,请跳转到~/.minecraft/resourcepacks (/home/<username>/.minecraft/resourcepacks); 其中<username>为你的系统当前登录的用户名

打开文件夹后,你可以将你写的自定义的资源包拖进去。

现在我们准备在游戏中测试它!启动Minecraft并打开选项,然后单击资源包。如果使用上述代码,你的游戏应该如下所示:

TestingJavaPack

点击完成,等待加载进度页面消失后,你就已经成功将你的资源包加载到Minecraft游戏中了。

另外,在第一次成功加载资源包之后,如果你只在你刚刚加载的资源包基础上做了一些改动,而非引入了新的资源包,可以使用快捷键F3 + T快速重新加载资源包。

故障排除[]

如果你没有在游戏中看到包,确保pack.mcmeta是正确的。如果不是,查找缺少的大括号{},逗号冒号:,引号"",或方括号[]。记住,对于每个左大括号、左中括号或前引号,必须有对应的右大括号、右中括号或后引号。

包图标[]

如果未指定图标,则包旁边将显示圆石图标。任何图像都可以在此处使用,只要它名为pack.png。如果pack.png为非正方形图片,Minecraft会截取其中的方形部分。

为资源包添加内容[]

更改一个实体的纹理[]

现在我们已经建立了我们的资源包,让我们修改苦力怕的纹理!

但是,在我们开始绘制之前,我们需要设置Minecraft希望资源包位于其中的文件夹结构。为此,请执行以下操作:

  1. 在我们的教程资源包文件夹中创建assets/minecraft/textures/entity文件夹。
  2. 使用你所选择的文件解压程序打开.minecraft/versions/<版本号>/<版本号>.jar文件,然后提取assets/minecraft/textures/entity/creeper文件夹到新创建的entity文件夹中。

现在我们有了正常的苦力怕纹理,在你选择的图像编辑器中打开它。应该是这样的:

CreeperTexture1

你可能会察觉到图片太小了,所以请放大以便清晰地观察纹理。在多数图像编辑软件中,你可以按住ctrl并滚动鼠标滚轮来缩放。

CreeperTexture2
关于纹理的快速说明

如果你以前从未看过纹理图,上方的图片可能会让你一头雾水。一个形象的解释是这就像用彩纸包裹礼物,不过在这里我们的彩纸是纹理。下方是苦力怕纹理的布局:

TextureLayoutMap
标记说明
Top 立方体顶部
Bot 立方体底部
Left 左面
Frnt 前面
Rt 右面
Bck 后面

相同颜色的区域朝向相同(比如说,红色区域都是立方体的前面。)

它在游戏里看上去是这样的:

Howthislooksingame
提示

不是每个实体纹理都是以相同的方式布局的!你需要进行试验并找出它们的布局是怎样的。

现在就是发挥你创造力的时刻了!你想怎么画苦力怕就怎么画。为了简单,我就给它加一个发带好了。建议使用单像素大小的铅笔工具来绘制像素风的纹理。

Creeperheadband

当你对所画的纹理感到满意时,请以.png的格式保存图片,并且确保文件名为“creeper”。游戏只会匹配有正确文件名和路径的文件。如果你不知道所画纹理对应的文件名/路径,请参照 .minecraft/versions/<版本号>/<版本号>.jar 文件中的文件名/路径。

更改一个方块/物品的模型[]

主条目:模型

有时你可能想更改Minecraft中的模型,下面给出一种简单易上手的方法。

准备材料[]

梯子为例,默认状态下Minecraft中的梯子不是3D模型,假设你想将它升级为3D模型。为此,请执行以下操作:

  1. 在我们的教程资源包文件夹中分别创建assets/minecraft/blockstatesassets/minecraft/models/blockassets/minecraft/models/itemassets/minecraft/textures/block文件夹。
  2. 使用你所选择的文件解压程序打开.minecraft/versions/<版本号>/<版本号>.jar文件,然后提取以下内容到指定位置:
    1. assets/minecraft/blockstates/ladder.json到新创建的blockstates文件夹中。
    2. assets/minecraft/models/block/ladder.json到新创建的models/block文件夹中。
    3. assets/minecraft/models/item/ladder.json到新创建的item文件夹中。
    4. assets/minecraft/textures/block/ladder.png到新创建的textures/block文件夹中。

现在你可以先通过图像编辑器修改梯子的纹理,也可以直接开始编辑梯子的3D模型。

建模[]

我们将使用页首所推荐的3D建模软件Blockbench。双击打开程序,然后按下组合键Ctrl + O以打开文件浏览器,找到并导入在models/block中的ladder.json

替换现有的音效或音乐[]

Changing Music with Resource Pack

替换默认音乐的部分步骤

就像调整默认的模型纹理一样,你可以替换默认的音乐或音效。下面以改变与末影龙战斗时的BGM为例,对具体的方法做出介绍。

查找文件路径[]

与更改纹理类似,我们需要首先找到声音文件所在的路径。

  1. 打开你的.minecraft文件夹,打开“assets”文件夹。再打开“indexes”文件夹,找到对应游戏版本的.json文件(比如1.16.json),用文本编辑器打开它。
  2. 在此文件中,你可以找到Minecraft中的所有声音文件。按下CTRL + F查找需要的声音文件。
    • 此列表包含了所有音乐的文件名。
  3. 声音路径看起来应该是这样的:minecraft/sounds/music/game/end/boss.ogg

导入你的音乐[]

  1. 在你的资源包文件夹中打开assets/minecraft文件夹。
  2. 创建一个名为sounds的新文件夹。
  3. 打开sounds文件夹,根据声音的路径继续创建新文件夹。如果你的声音路径是这样的:minecraft/sounds/music/game/end/boss.ogg,那么你需要创建这些文件夹:minecraft/sounds/music/game/end
  4. 在最后一个文件夹(在此示例中为end)里就可以放入你制作的声音文件了。确保已将文件重命名为与正在替换的文件相同的名称(在此示例中为boss.ogg)。
    • 注意!此文件必须是一个.ogg文件。
    • 背景音乐要用立体声,音乐唱片要用单声道。用音轨编辑器转换。

测试音乐[]

如果一切正常,那么你已成功替换了Minecraft中的声音。若要测试它:

  1. 确保已启用资源包。
    • 如果整个过程中一直在加载了资源包的情况下运行Minecraft。请使用F3 + T重新加载资源包。
  2. 使用/playsound命令来播放声音。在此示例中需输入:/playsound minecraft:music.dragon master @s

添加新的音效或音乐[]

除了修改默认的音乐或音效之外,你还可以添加属于自己的!在本例当中,我们将在不替换任何文件的条件下,添加一个全新的玩家受伤音效。

找到源路径[]

在添加音频之前,你需要知道它在游戏源文件中应该存在的位置。

  • 打开你的.minecraft文件夹,打开“assets”文件夹。再打开“indexes”文件夹,找到对应游戏版本的.json文件(比如1.16.json),用文本编辑器打开它。
  • 在此文件中,你可以找到Minecraft中的所有声音文件。按下CTRL + F查找需要的声音文件。

添加文件夹和音频[]

  1. 在你的资源包文件夹中打开Tutorial_Resource_Pack/assets/minecraft
  2. minecraft文件夹中创建一个叫sounds的文件夹。
    • 如果已经存在这个文件夹的话直接打开就可以。
  3. sounds文件夹中,创建一个和你想要添加的音效或音乐的同类型的音频所在的文件夹。在本例当中,我们创建的是damage
  4. 在这个文件夹中添加音频。
    • 音频文件必须是.ogg格式的。
    • 另外要注意那些已经存在的音频文件。在本例当中,其他的五个音频文件已存在于minecraft/sounds/damage/文件夹内,两个用于从不同高度摔落的情况。(fallbig.oggfallsmall.ogg)剩下的三个是受到伤害时的(hit1.ogghit2.ogg、和hit3.ogg)。因为我们是想添加文件,所以最好不要和这些文件重名。为了简化,这里使用hit4.ogg

修改声音事件[]

由于我们添加了新的音效,所以我们必须修改对应的声音事件,这些事件一般在.sound文件夹中。

  1. 返回你资源包的assets/minecraft文件夹中。
  2. 创建一个文本文件,命名为sounds.json。确保这个文件的后缀是.json而不是其他的。
  3. 根据你的选择,粘贴对应的例子到.json中:
{
  "entity.player.hurt": {
    "sounds": [
      {
        "name": "damage/hit1"
      },
      {
        "name": "damage/hit2"
      },
      {
        "name": "damage/hit3"
      },
      {
        "name": "damage/hit4"
      }
    ],
    "subtitle": "Hurt"
  }
}
  • 上面的代码只适用于这个教程,我们在这里添加了一个新的受伤音效。而如果你想要改变不同的音效,请entity.player.hurt替换为原版sounds.json中所列举的那些音效。
  • 通过在游戏中使用/playsound这个命令,你可以确定所使用的ID是否正确。在本教程当中,使用/playsound minecraft:entity.player.hurt master @s可以帮助确认这一点。
  • 确保你所使用的名字是小写英文字母,否则,这个资源包可能会失效。
  • 副标题subtitle是当音乐播放时会显示的文字,它可以在lang中定义。
  • 正确的.json格式是非常重要的,比如说括号、逗号等等,使用错误的话资源包依旧会失效。

测试你的音频[]

如果你的sounds.json文件中有任何错误,那么你更改的音效将会不起作用,如果发生这种情况,请检查你的代码或者你的文件路径。

添加了一个新的声音后,可按以下步骤进行测试:

  1. 确保加载了资源包。
  2. 如果你已经加载了资源包,你可以按F3 + T以重新加载所有资源包。
  3. 使用/playsound来播放你的声音。输入/playsound minecraft:entity.player.hurt master @s来播放本教程中添加的声音,这可能要多试几次,因为受伤的音效是随机播放的。

添加语言[]

主条目:资源包§语言

你可以通过资源包添加新的语言,假如你的语言代码是“LANG”,并且国家和地区代码是“COUNTRY”。那么pack.mcmeta看起来是这样的:

{
  "pack": {
    "pack_format": 9,
    "description": "Tutorial Resource Pack"
  },
  "language": {
    "LANG_COUNTRY": {
      "name": "Tutorial Language",
      "region": "COUNTRY/REGION NAME",
      "bidirectional": false
    }
  }
}

最后,将assets/minecraft/lang里的LANG_COUNTRY.json放到你的资源包里。进入游戏时,选择此资源包,新语言会出现在语言列表中。

语言

Advertisement