前言
环境配置
开发环境
您需要安装三个vscode扩展:
- syntax-mcfunction
- Datapack Helper Plus by Spyglass
- Datapack Icons(可选,只是为了让文件夹图标好看一点)
简易使用vscode搭设一个自己的工作区,作为后续数据包开发的文件夹,如下图所示
与此同时,为了便于开发,建议您找到MC的内核jar包,把它拷贝一份放到工作目录下,后续我们如果想要参考官方原版的数据包时会比较方便
数据包结构
首先我们重点关注主体的这三个文件:
- pack.mcmeta 规定了数据包的版本以及介绍,版本号你可以乱写,没有实际作用(1.21.1版本号为48)
- pack.png 必须是一张64x64的图片,否则不予显示(当此图片不存在时会默认展示原石图片)
- data 数据包的主体
data下属子文件夹均为命名空间,命名空间必须是英文小写+下划线的组合;
剩下的数据包划分结构请直接实战学习,建议您在首次开始学习数据包前不要强行记忆所有数据包的格式,我们只求会用就好,后续还会有对应的生成器加快我们的开发速度!
数据包冲突问题
- 当出现命名空间一致的情况,则mc会选择其中的任意一个生效,而其余同名数据包就全部失效
- mc原版数据包的优先级永远是最高的
- 你可以通过重写vanilla实现修改原版数据包提供的初始功能
数据包指令
您需要知道一些在Minecraft客户端下调试数据包的必需指令
/reload
一键重新加载所有的数据包
/datapack disable|enable <datapack_name>
启用或者禁用某一个数据包,注意这里是数据包名称了,而不是命名空间!!!
/datapack list
列出所有数据包
数据包启用
和资源包不一样,数据包仅作用于一个存档内,所以数据包需要放置在存档的datapacks文件夹下,如下位置:
F:\DGames\bakaxl_minecraft\.minecraft\versions\1.21.1\saves\datapack-test-superflat\datapacks\test_datapack
数据包可以直接以文件夹导入或者压缩为zip导入;
导入数据包后运行reload即可载入数据包,下图展示了开启数据包后检测结果
第一个数据包
创建工作空间
首先你需要创建一个新世界,然后去存档文件号saves下找到该世界
世界存档的根目录下会创建一个文件夹datapacks,这里面就存放我们后续开发用到的所有数据包;
打开vscode,选择 文件->将文件夹添加到工作区
,直接把datapacks文件夹作为工作区
然后按照下图格式创建对应的文件夹和文件
根据我们上面数据包原理的介绍,可见我们当前数据包的基本信息如下:
- 数据包名称:test_datapack
- 数据包命名空间:td1
为pack.mcmeta添加内容,因为我们使用MC1.21.1,故format写48
数据包对应MC版本号,去这里查看:点击前往
{
"pack": {
"description": "a simple datapack",
"pack_format": 48
}
}
运行测试
进入游戏,运行指令 datapack list
您即可看到我们的新增数据包以及MC原版内置数据包vanilla