本教程适用于——1.16和1.18,且拥有数据包基础的人员。

本教程来源于wiki,由于wiki是英文的,故在此汉化。

创建一个最基础的机器:

json文件

自定义机器 json 应位于datapacks/<数据包名>/data/<namespace>/machines/my_machine.json。

机器名称应全部小写,不含空格或字母和数字以外的任何其他字符,但可以使用“_”或“/”。

游戏中加载的每台机器都应该有不同的 ID,在上面的示例中,机器 ID 是:namespace:my_machine。

你可以将任意数量的机器放在同一命名空间下,也可以将它们分开。

你还可以使用子文件夹,例如:datapacks/<数据包名>/data/<namespace>/machines/tier1/my_machine.json,那么机器 ID 将是namespace:tier1/my_machine。

请记住,所有机器的 json 都应位于machines文件夹下。


机器特性

机器的 json 有2个必须选择的属性和5个可选的属性。

必选属性

名称:name

说明

这是机器的显示名称,不要和机器的ID搞混淆。该名称会显示在玩家的手中,JEI,或放置在世界上的显示(如The One Probe)。

该名称允许使用minecraft可以显示的字符串。也可以使用lang key或者文本组件用于自定义字体。

例子

//最基础的名称:
"name": "我的机器"

//Lang key
"name": "machine.example.cool"

//文本组件
"name": {
    "text": "我的机器",
    "color": "red"
}

外观:appearance

由于外观自定义过多,请翻阅外观篇的介绍。


可选属性

物品提示:tooltips

说明

当玩家的光标悬停在该机器物品上时,显示出物品提示信息。此提示可以是普通的字符串,或者文本组件。列表中的每个提示都会显示在下一行中。

例子

//基础的提示:
"tooltips": "这是一个很酷的机器"

//列表提示:
"tooltips": ["这是一个很酷的机器", "你应该试试"]

//文本组件
"tooltips": [
    {
        "text": "这是一个很酷的机器",
        "color": "red"
    },
    {
        "text": "你应该试试",
        "bold": true
    }
]

机器组件:components。

GUI:gui。

JEI:jei。

催化剂:catalysts。

这四个由于篇幅过多,因此分割到了不同的教程之中,详情请翻阅组件篇,机器GUI篇,机器JEI篇。


空的机器模板

以下是一个含有所有属性的机器空模板:

{
    "name": "",
    "appearance": {},
    "tooltips": [],
    "components": [],
    "gui": [],
    "jei": [],
    "catalysts": []
}

此外,如果你需要一个完整的机器模板,你可以前往这里翻阅官方基于的基础机器。