Minecraft 1.16.5模组开发(三十) 自定义成就系统(advancements)
作者:互联网
我们本次将尝试在模组中加入属于自己的成就系统
1.打开Minecraft成就生成制作网站进行成就的制作
在data包下新建advancement文件夹 -> 在文件夹中新建一个我们的成就系统的文件夹(以readvancement为例) -> 在readvancement中新建一个root.json 文件(我们成就系统的根系统成就)
将网站自动生成的脚本粘贴到我们的root.json中。
父成就:
{
"display": {
"icon": {
"item": "re8joymod:bottle1" //物品命名 你的模组名:物品名
},
"title":"Rose Torso.",
"description": "Get the torso flask.",
"background": "re8joymod:textures/items/dhands_block.png", //背景图选择你的图片路径即可
"show_toast": true,
"announce_to_chat": true
},
"criteria": {
"bottle2": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "re8joymod:bottle1"
}
]
}
}
}
}
子成就
子成就需要有一个父成就节点(parent字段),其余与父成就写法类似
子成就代码示例(以armsflask.json为例):
{
"display": {
"icon": {
"item": "re8joymod:bottle3"
},
"title": "Why is the arms?",
"description": "Get the arms flask."
},
"parent": "re8joymod:readventure/root", //增加了父成就节点(有父节点的原因是必须先完成父成就,才能去完成子成就)
"criteria": {
"bottle2": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "re8joymod:bottle3"
}
]
}
}
}
}
你可以根据需要编写许多成就,与达成成就的不同方法
2.运行游戏进行测试
以我们的物品栏成就为例,当我们拿出了物品,即物品栏中(或手中)出现了为我们的物品时,就判定为成就达成,此时会显示成就达成的情况。
你也可以在主菜单的Advancements对达成的成就进行查看:
OK,下次见~
标签:1.16,成就,自定义,items,advancements,item,re8joymod,物品,root 来源: https://blog.csdn.net/Jay_fearless/article/details/120599483