其他分享
首页 > 其他分享> > Minecraft 1.16.5模组开发(三十) 自定义成就系统(advancements)

Minecraft 1.16.5模组开发(三十) 自定义成就系统(advancements)

作者:互联网

我们本次将尝试在模组中加入属于自己的成就系统

1.打开Minecraft成就生成制作网站进行成就的制作

我的世界成就系统制作网站
cr1.png

在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"
                    }
                ]
            }
        }
    }
}
你可以根据需要编写许多成就,与达成成就的不同方法

cr3.png

2.运行游戏进行测试

以我们的物品栏成就为例,当我们拿出了物品,即物品栏中(或手中)出现了为我们的物品时,就判定为成就达成,此时会显示成就达成的情况。

cr4.png

你也可以在主菜单的Advancements对达成的成就进行查看:

cr5.png

OK,下次见~

标签:1.16,成就,自定义,items,advancements,item,re8joymod,物品,root
来源: https://blog.csdn.net/Jay_fearless/article/details/120599483