用户:
meis星语查看:2 回复:6 评论:2 创建时间:2022-02-13T20:33:24

第二期 · 配方 - Recipes


Step 5
数据包描述性文件
在第一期教程中
我们编写了pack.mcmeta
这是对于数据包的描述性文件之一
此外
数据包还接受一份名为
pack.png的png图像文件来用做数据包的图标
*可在数据包列表中看到
这两份文件组成了数据包的描述性文件

用灰色涂抹的地方其实是你的存档名字
以后将不会再讲
Step 6
数据包数据性文件 & 命名空间
那
我们有了描述,接下来就要开始正式编写啦
首先,在one(此后我都会这么叫,你们知道是哪个文件夹即可)里面新增一个data文件夹
名字不能变
然后再在data里面新建一个命名空间(名字任意)
我起名为two

在Minecraft中
命名空间的作用很简单
就是区分不同的外部数据
在游戏中按下F3+H打开高级提示框
你便可以看到各个物品的命名空间了
例如
原版物品的命名空间就是minecraft
匠魂模组是tconstruct
食品模组是xlfoodmod
······

命名空间防止了因外部数据造成的冲突
并且有了很好的辨识度
在编写数据包时,命名空间起名要遵循下列规则

此处的空间示例名称为two
在命名空间下,我们可以创建许多数据性文件
每个文件夹分别可以设立子文件夹
它们分别实现了不同功能
而这,也是数据包的主要编写部分
比较常用的是这几个

而这节课,我们要学习这之中最简单同时也是最有趣的
recipes 配方
需要哪一种功能,就只新建对应名称的文件夹
不用哗啦全弄上
例如我们需要用到recipes文件夹
注意:配方不仅仅指代合成,也包括
熔炉烧炼
锻造台
切石机
······
Step 7
有序合成
但是,我们在这个教程只讨论新配方的有序合成
首先,我们先在two内新建一个recipes文件夹
想添加哪种物品的新配方,就起名为
物品.json
例如我想添加苹果的新配方
就起名为apple.json(不要有中文)
当然,不用非要这样(只是为了辨识),只需要后缀名是.json即可
然后,点开这个文件,构思我们需要的合成表格排列
本节课目标
添加苹果的合成机制

在我们添加新配方的时候
要确定所合成物品的配方与原版某个物品的配方不一致
不然会引起冲突
首先我们要来一对大括号当做对象引入
然后在里面放入四个属性
这四个属性的四个键分别是

type 表示这个配方的类别,是单独一个值
因为我们是有序合成,所以是

其中
minecraft:crafting_shaped
这个表示原版中的
工作台有序合成
pattern 的值是一个数组
这是一个新的数据类型

写法
["111","222","333"]
这里以代替符来通过缩进的形式
组成一个类似三格三列的样子
因此
数组中有三组数据
分别代表了工作台格子的上、中、下三行
现在,需要给原料起一个代替符
可以是单独的字母、符号等等
没有原料的地方用空格表示
将代替符按照合成顺序输入
所以我们可以这么写

这里的代替符可以是任何符号
key 这是用来解释我们上面的代替符的
它的值是一个对象,要用嵌套结构
每一条属性分别代替一个代替符
属性的键是你刚才起的
“minecraft:stick(合成图案上的木棍)”
的代替符
因此我们要用“&”为 键
这个属性的值又是嵌套一个对象,但是这个里面就只需要一个属性
item”:“命名空间:物品名称”
“命名空间:物品名称” 也被称作物品的ID
在游戏中按下F3+H打开高级提示框
你便可以看到各个物品的ID了
有几个不同的代替符就写几个属性
然后我们再解释红石的代替符“#”

解释完所有符号,这个属性也就完成了
result 这个是输出合成的结果
又是一个嵌套对象
里面包含

所以,我们最后的json文件就编写完成了

{
"type":"minecraft:shaped",
"pattern":[
" & ",
"###",
"###"
],
"key":{
"$":{
"item":"minecraft:stick"
},
"#":{
"item":"minecraft:redstone"
}
},
"result":{
"item":"minecraft:apple",
"count":1
}
}
保存,回到游戏的聊天栏里输入
/reload
重启数据包
再一次输入
/datapack list
调取数据包列表
如果这个聊天框里只有一个内置数据包
那就很有可能就是在pack.mcmeta这个文件里出问题了

目前我们只学习了有序合成
但是为了课程进度
熔炼、无序合成、锻造、切石等配方需要你们自己去研究了
你们可以参考这个网站上的json格式代换
(网址会被屏蔽,只能发图片)

注:本教程将wiki上的格式进行了统一整理
根据小泠君丶的教程进行改编整理
不喜勿喷,如有侵权,请联系我立刻删除
