开启辅助访问      

站内搜索

搜索
热搜: 下载 1.19 1.20

Minecraft(我的世界)苦力怕论坛

[BE教程] 附加包教程:1.初步准备

发表于 2023-1-7 08:18:47 来自手机 | 显示全部楼层 |阅读模式 IP:天津
本帖最后由 Cat_Anchor 于 2023-6-17 12:52 编辑

由于作者对附加包了解不深,本教程存在一些不足之处,欢迎批评指正。物品教程在第6期,方块教程在第10期,实体教程在第29期。


前言

各位在玩各种附加包时,一定会萌生出一种想法,“我能不能做一个自己的附加包?”如果你看过MinecraftLive,就可能会产生“我上我也行”的念头。这篇教程的作用就是把想象照进现实。
准备

首先,需要准备一个用于制作附加包的工具。在Android平台上,我推荐MT管理器。(因为我只有一个手机)我要重点强调,还要准备一个用起来顺手的、支持像素画布的绘画软件。
准备好这两个软件之后,还要初步认识JSON数据格式和能看懂内容日志。在这里,我将简单叙述json格式。
  1. {} 这个东西叫根对象。大部分json文档里都是以这个括号(或者以这个[])开头和结尾的。
  2. "键":"值" 这个东西叫键值对,键是名称,值是名称对应的内容。
  3. "对象":{"键1":"值1","键2":"值2","键3":"值3",...} 这就是一个对象,它是无序的。
  4. "对象":["值1","值2","值3",...] 这就是一个数组,它是有序的。
  5. true false 这两个,true代表真,false代表假。
  6. 如果在双引号""里面要用双引号时,里面的双引号前面要加上转义符\。由于在这里转义符会被解析,故难以举例。
  7. 转义符不仅能这么用,还有其他用途。\n代表换行,这是最重要的一个。如果你在json文档里的""里需要换行了,用\n表示它。
  8. \t代表一个制表符,与空格的作用大致相同,但是制表符会自动缩进自身的大小以匹配代码。如果代码使用空格进行缩进,不妨改成制表符,这样会在一定程度上压缩文件大小。
  9. // 这是行注释,会以它开始注释一行。
  10. /* */ 这是块注释,会把它们之间的东西全注释掉。
复制代码

(注:欢迎大佬指正错误,谢谢。)

至于错误日志,只要会英文就好,实在不行就用翻译器翻译一下。错误日志的开头一般是[xxx][error],或者[xxx][warning]。前者就是错误,后者就是警告。一个最容易触发的内容日志错误就是故意往你的json文档里造点语法错误,比如不加英文逗号啊,括号不匹配什么的。(所以在实际编写里要避免这些语法错误。)
一个最容易触发的警告就是把你的纹理(尤其是物品纹理)的分辨率搞得很大(大于512*512),一般就会弹出来警告,说这样可能会卡。
建立项目

现在就可以开始了。直接在游戏的com.mojang目录下开发,会省很多时间。打开这个网址,它能帮你定位到com.mojang文件夹。以后的所有操作都在这里进行。找到com.mojang文件夹后,打开。找到development_behavior_packs(行为包文件夹)。进去,随便用英文字母为名字建个文件夹。进入这个文件夹,下文我叫它“行为包根目录”。找到development_resource_packs(资源包文件夹)。进去,随便用英文字母为名字建个文件夹。进入这个文件夹,下文我叫它“资源包根目录”。
建立清单

在行为包根目录下创建一个叫manifest.json的文件,打开,在里面写这些内容:
  1. {
  2.   "format_version": 2,
  3.   "header": {
  4.     "description": "这里写附加包描述",
  5.     "name": "这里写附加包名称",
  6.     "uuid": "这里写uuid,要和其他任何uuid不一样,下文有获取uuid的方法",
  7.     "version": [1, 0, 0], //版本号
  8.     "min_engine_version": [1, 19, 50] //这里决定了附加包内各种东西运作的版本,比如这里写1.19.50意味着要在附加包里用新的execute语法。同时,游戏版本低于这个就无法启动这个附加包。
  9.   },
  10.   "modules": [
  11.     {
  12.       "type": "data", //这里决定了这个附加包到底是什么包,data代表行为包,resources代表资源包
  13.       "uuid": "这里写uuid,要和其他任何uuid不一样,下文有获取uuid的方法",
  14.       "version": [1, 0, 0]
  15.     }
  16.   ]
  17. }
复制代码

在资源包根目录下创建一个叫manifest.json的文件,打开,在里面写这些内容:
  1. {
  2.   "format_version": 2,
  3.   "header": {
  4.     "description": "这里写附加包描述",
  5.     "name": "这里写附加包名称",
  6.     "uuid": "这里写uuid,要和其他任何uuid不一样,下文有获取uuid的方法",
  7.     "version": [1, 0, 0], //版本号
  8.     "min_engine_version": [1, 19, 50] //同上
  9.   },
  10.   "modules": [
  11.     {
  12.       "type": "resources", //这里决定了这个附加包到底是什么包,resources代表资源包
  13.       "uuid": "这里写uuid,要和其他任何uuid不一样,下文有获取uuid的方法",
  14.       "version": [1, 0, 0]
  15.     }
  16.   ]
  17. }
复制代码

可以在这里获取uuid。
好了,现在你就做好一个最基本的附加包了!打开游戏,你的附加包已经可以被装到存档上了。
这时,你会发现,你的附加包图标是丢失纹理的紫黑方块。把两张png格式的图片重命名为pack_icon.png,扔进行为包根目录和资源包根目录里,这图片就是你的附加包的图标。
示例:

游戏内效果:

你还会发现,即使给存档装了附加包,也没有什么新方块、新物品、新实体啥的。那很正常,你又没有定义任何东西,只是定义了附加包名字、描述和uuid。下期,我们就要向附加包内填充东西了。
假设你还是不懂如何写一个manifest.json,我会放出一个模板,改就完了。
manifest.json (416 Bytes, 下载次数: 87)


第零期 第一期 第二期

评分

参与人数 2铁粒 +20 收起 理由
单线程苯蛋 + 10 学习打卡
B_20 + 10 感谢教程!

查看全部评分

苦力怕论坛,感谢有您~
回复

使用道具 举报

发表于 2023-1-12 13:52:15 来自手机 | 显示全部楼层 IP:湖北省
我觉得非常不错,但有疑问就是…这需要什么语言基础吗?js或者html什么之类的?
2# 2023-1-12 13:52:15 回复 收起回复
苦力怕论坛,感谢有您~
回复 支持

使用道具 举报

 楼主| 发表于 2023-1-12 17:08:51 来自手机 | 显示全部楼层 IP:山西省
Luning 发表于 2023-1-12 13:52
我觉得非常不错,但有疑问就是…这需要什么语言基础吗?js或者html什么之类的? ...

JSON这种语言比较简单,属于轻量级的,不需要特别地学
3# 2023-1-12 17:08:51 回复 收起回复
苦力怕论坛,感谢有您~
回复 支持 1

使用道具 举报

发表于 2023-1-12 18:06:50 来自手机 | 显示全部楼层 IP:广西
大佬,资源包根目录在哪?
4# 2023-1-12 18:06:50 回复 收起回复
苦力怕论坛,感谢有您~
回复 支持

使用道具 举报

发表于 2023-1-12 18:09:56 来自手机 | 显示全部楼层 IP:广西
706046289 发表于 2023-1-12 18:06
大佬,资源包根目录在哪?

眼瞎了,抱歉
5# 2023-1-12 18:09:56 回复 收起回复
苦力怕论坛,感谢有您~
回复 支持

使用道具 举报

发表于 2023-1-13 23:12:15 来自手机 | 显示全部楼层 IP:湖北省
Cat_Anchor 发表于 2023-1-12 17:08
JSON这种语言比较简单,属于轻量级的,不需要特别地学

这样啊…很多地方都要用上来着,看起来也挺简单的,应该文档看得多就大概会了
6# 2023-1-13 23:12:15 回复 收起回复
苦力怕论坛,感谢有您~
回复 支持 1

使用道具 举报

发表于 2023-12-3 13:17:46 来自手机 | 显示全部楼层 IP:江西省
本帖最后由 冰鉴REMIX 于 2023-12-3 13:26 编辑

嗯,有一处"true false"可以译作"允许 禁止"或"开启 关闭",更好理解,同时数据类型不仅data可表示行为包,behavior也是可以的
7# 2023-12-3 13:17:46 回复 收起回复
苦力怕论坛,感谢有您~
回复 支持

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站
关于我们
联系我们
坛史纲要
官方
哔哩哔哩
技术博客
下载
网易版
安卓版
JAVA
反馈
意见建议
教程中心
更多
捐助本站
QQ群
QQ群

QQ群

访问手机版

访问手机版

手机版|小黑屋|系统状态|klpbbs.com

粤公网安备 44200002445329号 | 由 木韩网络 提供云服务 | GMT+8, 2024-5-4 00:20

声明:本站与Mojang以及微软公司没有从属关系

Powered by Discuz! X3.4 粤ICP备2023071842号