猫史档案馆


【MC-datapack】Json语法·保姆级教程--02.配方 - Recipes

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


center_image

第二期 · 配方 - Recipes

center_image

center_image

 

Step 5

数据包描述性文件

 

在第一期教程中

我们编写了pack.mcmeta

这是对于数据包的描述性文件之一

 

此外

数据包还接受一份名为

pack.pngpng图像文件来用做数据包的图标

*可在数据包列表中看到

 

这两份文件组成了数据包的描述性文件

center_image

用灰色涂抹的地方其实是你的存档名字

以后将不会再讲

 

Step 6

数据包数据性文件 & 命名空间

 

我们有了描述,接下来就要开始正式编写啦

首先,在one(此后我都会这么叫,你们知道是哪个文件夹即可)里面新增一个data文件夹

名字不能变

然后再在data里面新建一个命名空间(名字任意)

我起名为two

center_image

 

在Minecraft中

命名空间的作用很简单

就是区分不同的外部数据

 

在游戏中按下F3+H打开高级提示框

你便可以看到各个物品的命名空间了

例如

原版物品的命名空间就是minecraft

匠魂模组是tconstruct

食品模组是xlfoodmod

······

 

center_image

 

命名空间防止了因外部数据造成的冲突

并且有了很好的辨识度

 

在编写数据包时,命名空间起名要遵循下列规则

 

center_image

 

此处的空间示例名称为two

在命名空间下,我们可以创建许多数据性文件

每个文件夹分别可以设立子文件夹

它们分别实现了不同功能

而这,也是数据包的主要编写部分

比较常用的是这几个

 

center_image

 

而这节课,我们要学习这之中最简单同时也是最有趣的

recipes  配方

需要哪一种功能,就只新建对应名称的文件夹

不用哗啦全弄上

例如我们需要用到recipes文件夹

注意:配方不仅仅指代合成,也包括

熔炉烧炼

锻造台

切石机

······

 

Step 7

有序合成

 

但是,我们在这个教程只讨论新配方的有序合成

首先,我们先在two内新建一个recipes文件夹

想添加哪种物品的新配方,就起名为

物品.json

例如我想添加苹果的新配方

就起名为apple.json(不要有中文)

当然,不用非要这样(只是为了辨识),只需要后缀名是.json即可

然后,点开这个文件,构思我们需要的合成表格排列

 

本节课目标

添加苹果的合成机制

 

center_image

 

在我们添加新配方的时候

要确定所合成物品的配方与原版某个物品的配方不一致

不然会引起冲突

 

首先我们要来一对大括号当做对象引入

然后在里面放入四个属性

这四个属性的四个键分别是

center_image

 

type 表示这个配方的类别,是单独一个值

因为我们是有序合成,所以是

center_image

其中

minecraft:crafting_shaped

这个表示原版中的

工作台有序合成

 

pattern 的值是一个数组

这是一个新的数据类型

center_image

写法

["111","222","333"]

这里以代替符来通过缩进的形式

组成一个类似三格三列的样子

 

因此

数组中有三组数据

分别代表了工作台格子的上、中、下三行

现在,需要给原料起一个代替符

可以是单独的字母、符号等等

没有原料的地方用空格表示

将代替符按照合成顺序输入

所以我们可以这么写

center_image

 

这里的代替符可以是任何符号

 

key  这是用来解释我们上面的代替符的

它的值是一个对象,要用嵌套结构

每一条属性分别代替一个代替符

 

属性的键是你刚才起的

“minecraft:stick(合成图案上的木棍)”

的代替符

因此我们要用“&”为 键

这个属性的值又是嵌套一个对象,但是这个里面就只需要一个属性

item”:“命名空间:物品名称”

“命名空间:物品名称”  也被称作物品的ID

 

在游戏中按下F3+H打开高级提示框

你便可以看到各个物品的ID了

 

有几个不同的代替符就写几个属性

然后我们再解释红石的代替符“#”

center_image

 

解释完所有符号,这个属性也就完成了

 

result  这个是输出合成的结果

又是一个嵌套对象

里面包含

center_image

 

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

 

center_image

{
    "type":"minecraft:shaped",
    "pattern":[
        " & ",
        "###",
        "###"
    ],
    "key":{
        "$":{
            "item":"minecraft:stick"
        },
        "#":{
            "item":"minecraft:redstone"
        }
    },
    "result":{
        "item":"minecraft:apple",
        "count":1
    }
}

 

保存,回到游戏的聊天栏里输入

/reload

重启数据包

 

再一次输入

/datapack list

调取数据包列表

如果这个聊天框里只有一个内置数据包

那就很有可能就是在pack.mcmeta这个文件里出问题了

 

center_image

 

目前我们只学习了有序合成

但是为了课程进度

熔炼、无序合成、锻造、切石等配方需要你们自己去研究了

你们可以参考这个网站上的json格式代换

(网址会被屏蔽,只能发图片)

 

center_image

 

注:本教程将wiki上的格式进行了统一整理

根据小泠君丶的教程进行改编整理

不喜勿喷,如有侵权,请联系我立刻删除

center_image

 

 






回复

上一页1 页 / 共 1下一页
meis星语meis星语

DD

点赞0


评论


meis星语meis星语

第一期ID:425437

第1.5期ID:425958

center_image

点赞0


评论


伴雪纷飞伴雪纷飞

沙发还是要占占的

点赞1


评论


meis星语meis星语

DD

点赞0


评论


素材喵素材喵

DDDDD

点赞0


评论


meis星语meis星语

dddddd

点赞0


评论