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

本文指导如何在Minecraft模组中实现成就系统,包括使用成就生成网站制作root和子成就,以及通过物品栏变化触发成就达成条件,并提供测试步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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,下次见~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jay_fearless

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值