后浪云Minecraft Wiki教程:开始制作[ ]
本文章介绍的是为 Java版制作资源包。关于基岩版上的行为包,请见“
教程/制作行为包”。
此特性为Java版独有。
此条目需要更新。
条目中某些信息可以参照英文版进行翻译更新。
该页面的编辑正在进行中。
讨论
请帮助我们扩充或改进这篇文章。
目录
- 1 开始制作
- 1.1 禁止事项
- 1.2 所需要的工具
- 1.2.1 一个文件解压程序
- 1.2.2 一个文本编辑器
- 1.2.3 一个图像编辑器
- 1.2.4 一个3D模型编辑器
- 1.2.5 一个音轨编辑器
- 2 创建资源包
- 2.1 创建MCMETA文件
- 2.2 pack.mcmeta
- 2.2.1 pack_format
- 2.2.2 description
- 2.3 测试我们的资源包
- 2.3.1 故障排除
- 2.4 包图标
- 3 为资源包添加内容
- 3.1 更改一个实体的纹理
- 3.2 更改一个方块/物品的模型
- 3.2.1 准备材料
- 3.2.2 建模
- 3.3 替换现有的音效或音乐
- 3.3.1 查找文件路径
- 3.3.2 导入你的音乐
- 3.3.3 测试音乐
- 3.4 添加新的音效或音乐
- 3.4.1 找到源路径
- 3.4.2 添加文件夹和音频
- 3.4.3 修改声音事件
- 3.4.4 测试你的音频
- 3.5 添加语言
开始制作[ ]
注意:完成本教程大约需要1至1.5个小时。
资源包可以修改纹理、模型、动画、声音、用户界面和语言。
禁止事项[ ]
在制作及发布资源包时,你不能做任何违反Mojang Studios的Minecraft使用条款的事,包括但不限于:
- 发布Minecraft版本或其修改版本,使得没有从Mojang购买Minecraft的人可以进行游戏。
- 以任何方式发布Minecraft的反编译源代码。
所需要的工具[ ]
完成此教程需要准备以下软件:
一个文件解压程序[ ]
如果你是Windows系统,那么本页面推荐使用WinRAR。
一个文本编辑器[ ]
你可以使用任何一种文本编辑器,但本页面建议你使用集成开发环境(IDE)。Visual Studio Code是一款不错的轻量级IDE,进入链接后并点击Download for <你的系统>
。
一个图像编辑器[ ]
不建议使用微软画图软件,其不支持带有透明度的图像,会让纹理变得很糟糕。
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,可在左上方点击“组织”,弹出下拉菜单中选择“文件夹和搜索选项”,或在菜单栏上点击“工具”,在工具下拉菜单里选择“文件夹选项”;然后在弹出的窗口中切换到“查看”选项卡,找到并取消勾选“隐藏已知文件类型的扩展名”选项,最后点击“确定”应用设置。
如果你使用的是macOS,在文件上右键,选择:“文件”→“显示简介”,点击“名称与扩展名”旁边的箭头来展开,取消勾选“隐藏扩展名”,或在访达界面按⌘ Command + ,打开偏好设置→高级→显示所有文件扩展名
注意:在任何代码里都必须要半角标点符号而不是全角,它们之间一个明显的差别是全角符号通常会自带一个“空格”,这使它们会看起来更宽。
pack.mcmeta[ ]
在你选择的文本编辑器中打开pack.mcmeta
并复制或键入以下内容:
{ "pack": { "pack_format": X, "description": "Tutorial Resource Pack" } }
pack_format
[ ]
你应该根据你的Minecraft版本替换pack_format
后面的X
为以下数值:
1
对应1.6.1(13w24a)至1.8.92
对应1.9(15w31a)至1.10.23
对应1.11(16w32a)至1.12.2(17w47b)4
对应1.13(17w48a)至1.14.4(19w46b)5
对应1.15(1.15-pre1)至1.16.1(1.16.2-pre3)6
对应1.16.2(1.16.2-rc1)至1.16.57
对应1.17(20w45a)至1.17.1(21w38a)8
对应1.18(21w39a)至1.18.29
对应1.19(22w11a)至1.19.211
对应1.19.3快照22w42a至22w44a12
对应1.19.3(22w45a至1.19.4快照23w07a)13
对应1.19.4(1.19.4-pre1至1.20快照23w13a)14
对应1.20快照23w14a至23w16a15
对应1.20(23w17a)至1.20.116
对应1.20.2快照23w31a17
对应1.20.2快照23w32a至1.20.2-pre118
对应1.20.2(1.20.2-pre2)及以上版本
注意:X
为3或更高值(1.11及以上版本)时,资源包内所有文件名只能有小写字母;随着更多游戏版本更新发布,可能会更改或添加X
的值。
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并打开选项,然后单击资源包。如果使用上述代码,你的游戏应该如下所示:
点击完成,等待加载进度页面消失后,你就已经成功将你的资源包加载到Minecraft游戏中了。
另外,在第一次成功加载资源包之后,如果你只在你刚刚加载的资源包基础上做了一些改动,而非引入了新的资源包,可以使用快捷键F3 + T快速重新加载资源包。
故障排除[ ]
如果你没有在游戏中看到包,确保pack.mcmeta是正确的。如果不是,查找缺少的大括号{},逗号冒号:,引号"",或方括号[]。记住,对于每个左大括号、左中括号或前引号,必须有对应的右大括号、右中括号或后引号。
包图标[ ]
如果未指定图标,则包旁边将显示圆石图标。任何图像都可以在此处使用,只要它名为pack.png
。如果pack.png
为非正方形图片,Minecraft会截取其中的方形部分。
为资源包添加内容[ ]
更改一个实体的纹理[ ]
现在我们已经建立了我们的资源包,让我们修改苦力怕的纹理!
但是,在我们开始绘制之前,我们需要设置Minecraft希望资源包位于其中的文件夹结构。为此,请执行以下操作:
- 在我们的教程资源包文件夹中创建assets/minecraft/textures/entity文件夹。
- 使用你所选择的文件解压程序打开.minecraft/versions/<版本号>/<版本号>.jar文件,然后提取assets/minecraft/textures/entity/creeper文件夹到新创建的entity文件夹中。
现在我们有了正常的苦力怕纹理,在你选择的图像编辑器中打开它。应该是这样的:
你可能会察觉到图片太小了,所以请放大以便清晰地观察纹理。在多数图像编辑软件中,你可以按住ctrl并滚动鼠标滚轮来缩放。
- 关于纹理的快速说明
如果你以前从未看过纹理图,上方的图片可能会让你一头雾水。一个形象的解释是这就像用彩纸包裹礼物,不过在这里我们的彩纸是纹理。下方是苦力怕纹理的布局:
标记说明 | |
---|---|
Top | 立方体顶部 |
Bot | 立方体底部 |
Left | 左面 |
Frnt | 前面 |
Rt | 右面 |
Bck | 后面 |
相同颜色的区域朝向相同(比如说,红色区域都是立方体的前面。)
它在游戏里看上去是这样的:
- 提示
不是每个实体纹理都是以相同的方式布局的!你需要进行试验并找出它们的布局是怎样的。
现在就是发挥你创造力的时刻了!你想怎么画苦力怕就怎么画。为了简单,我就给它加一个发带好了。建议使用单像素大小的铅笔工具来绘制像素风的纹理。
当你对所画的纹理感到满意时,请以.png
的格式保存图片,并且确保文件名为“creeper”。游戏只会匹配有正确文件名和路径的文件。如果你不知道所画纹理对应的文件名/路径,请参照 .minecraft/versions/<版本号>/<版本号>.jar 文件中的文件名/路径。
更改一个方块/物品的模型[ ]
主条目: 模型
有时你可能想更改Minecraft中的模型,下面给出一种简单易上手的方法。
准备材料[ ]
以梯子为例,默认状态下Minecraft中的梯子不是3D模型,假设你想将它升级为3D模型。为此,请执行以下操作:
- 在我们的教程资源包文件夹中分别创建assets/minecraft/blockstates、assets/minecraft/models/block、assets/minecraft/models/item、assets/minecraft/textures/block文件夹。
- 使用你所选择的文件解压程序打开.minecraft/versions/<版本号>/<版本号>.jar文件,然后提取以下内容到指定位置:
- assets/minecraft/blockstates/ladder.json到新创建的blockstates文件夹中。
- assets/minecraft/models/block/ladder.json到新创建的models/block文件夹中。
- assets/minecraft/models/item/ladder.json到新创建的item文件夹中。
- assets/minecraft/textures/block/ladder.png到新创建的textures/block文件夹中。
现在你可以先通过图像编辑器修改梯子的纹理,也可以直接开始编辑梯子的3D模型。
建模[ ]
我们将使用页首所推荐的3D建模软件Blockbench。双击打开程序,然后按下组合键Ctrl + O以打开文件浏览器,找到并导入在models/block
中的ladder.json。
替换现有的音效或音乐[ ]
替换默认音乐的部分步骤
就像调整默认的模型纹理一样,你可以替换默认的音乐或音效。下面以改变与末影龙战斗时的BGM为例,对具体的方法做出介绍。
查找文件路径[ ]
与更改纹理类似,我们需要首先找到声音文件所在的路径。
- 打开你的.minecraft文件夹,打开“assets”文件夹。再打开“indexes”文件夹,找到对应游戏版本的
.json
文件(比如1.16.json),用文本编辑器打开它。 - 在此文件中,你可以找到Minecraft中的所有声音文件。按下CTRL + F查找需要的声音文件。
- 此列表包含了所有音乐的文件名。
- 声音路径看起来应该是这样的:
minecraft/sounds/music/game/end/boss.ogg
导入你的音乐[ ]
- 在你的资源包文件夹中打开
assets/minecraft
文件夹。 - 创建一个名为
sounds
的新文件夹。 - 打开
sounds
文件夹,根据声音的路径继续创建新文件夹。如果你的声音路径是这样的:minecraft/sounds/music/game/end/boss.ogg
,那么你需要创建这些文件夹:minecraft/sounds/music/game/end
。 - 在最后一个文件夹(在此示例中为
end
)里就可以放入你制作的声音文件了。确保已将文件重命名为与正在替换的文件相同的名称(在此示例中为boss.ogg
)。- 注意!此文件必须是一个
.ogg
文件。 - 背景音乐要用立体声,音乐唱片要用单声道。用音轨编辑器转换。
- 注意!此文件必须是一个
测试音乐[ ]
如果一切正常,那么你已成功替换了Minecraft中的声音。若要测试它:
- 确保已启用资源包。
- 如果整个过程中一直在加载了资源包的情况下运行Minecraft。请使用F3 + T重新加载资源包。
- 使用
/playsound
命令来播放声音。在此示例中需输入:/playsound minecraft:music.dragon master @s
添加新的音效或音乐[ ]
除了修改默认的音乐或音效之外,你还可以添加属于自己的!在本例当中,我们将在不替换任何文件的条件下,添加一个全新的玩家受伤音效。
找到源路径[ ]
在添加音频之前,你需要知道它在游戏源文件中应该存在的位置。
- 打开你的.minecraft文件夹,打开“assets”文件夹。再打开“indexes”文件夹,找到对应游戏版本的
.json
文件(比如1.16.json),用文本编辑器打开它。 - 在此文件中,你可以找到Minecraft中的所有声音文件。按下CTRL + F查找需要的声音文件。
添加文件夹和音频[ ]
- 在你的资源包文件夹中打开
Tutorial_Resource_Pack/assets/minecraft
。 - 在
minecraft
文件夹中创建一个叫sounds
的文件夹。- 如果已经存在这个文件夹的话直接打开就可以。
- 在
sounds
文件夹中,创建一个和你想要添加的音效或音乐的同类型的音频所在的文件夹。在本例当中,我们创建的是damage
。 - 在这个文件夹中添加音频。
- 音频文件必须是
.ogg
格式的。 - 另外要注意那些已经存在的音频文件。在本例当中,其他的五个音频文件已存在于
minecraft/sounds/damage/
文件夹内,两个用于从不同高度摔落的情况。(fallbig.ogg
和fallsmall.ogg
)剩下的三个是受到伤害时的(hit1.ogg
、hit2.ogg
、和hit3.ogg
)。因为我们是想添加文件,所以最好不要和这些文件重名。为了简化,这里使用hit4.ogg
。
- 音频文件必须是
修改声音事件[ ]
由于我们添加了新的音效,所以我们必须修改对应的声音事件,这些事件一般在.sound
文件夹中。
- 返回你资源包的
assets/minecraft
文件夹中。 - 创建一个文本文件,命名为
sounds.json
。确保这个文件的后缀是.json
而不是其他的。 - 根据你的选择,粘贴对应的例子到
.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
文件中有任何错误,那么你更改的音效将会不起作用,如果发生这种情况,请检查你的代码或者你的文件路径。
添加了一个新的声音后,可按以下步骤进行测试:
- 确保加载了资源包。
- 如果你已经加载了资源包,你可以按F3 + T以重新加载所有资源包。
- 使用
/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
放到你的资源包里。进入游戏时,选择此资源包,新语言会出现在语言列表中。
教程(作下划线标记的教程为中文独有教程) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|