1
Custom Advancement Help
In my Data Pack, I want to make a new Advancement that goes after the root for Adventure, but before "Is It a Bird?".
I know how to make new Advancements, but how would I put it before a pre-existing one?
Is this even possible? If so how would I do it, and if not what could I do instead?
Any help would be greatly appreciated!
I know how to make new Advancements, but how would I put it before a pre-existing one?
Is this even possible? If so how would I do it, and if not what could I do instead?
Any help would be greatly appreciated!
Create an account or sign in to comment.
5
2
Yes you can, in advancement there is a line ("parent": "minecraft:....), if you want to add your custom advancement after "root/adventure" but before "Is It a Bird" then in your custom advancement you write ("parent": "minecraft:adventure/root"), and in the achievement "Is It a Bird" - "parent":"folder_your_advancement/name_advancement"
For exemple:
Its advancement "Is It a Bird" in folder: minecraft/advancements/adventure/spyglass_at_parrot.json
{
"parent": "minecraft:adventure/root", //change this line to "parent":"folder_your_advancement/name_advancement",
"criteria": {
"spyglass_at_parrot": {
"conditions": {
"item": {
"items": [
"minecraft:spyglass"
]
},
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"type_specific": {
"type": "player",
"looking_at": {
"type": "minecraft:parrot"
}
}
}
}
]
},
"trigger": "minecraft:using_item"
}
},
"display": {
"description": {
"translate": "advancements.adventure.spyglass_at_parrot.description"
},
"icon": {
"item": "minecraft:spyglass"
},
"title": {
"translate": "advancements.adventure.spyglass_at_parrot.title"
}
},
"requirements": [
[
"spyglass_at_parrot"
]
],
"sends_telemetry_event": true
}
For exemple:
Its advancement "Is It a Bird" in folder: minecraft/advancements/adventure/spyglass_at_parrot.json
{
"parent": "minecraft:adventure/root", //change this line to "parent":"folder_your_advancement/name_advancement",
"criteria": {
"spyglass_at_parrot": {
"conditions": {
"item": {
"items": [
"minecraft:spyglass"
]
},
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"type_specific": {
"type": "player",
"looking_at": {
"type": "minecraft:parrot"
}
}
}
}
]
},
"trigger": "minecraft:using_item"
}
},
"display": {
"description": {
"translate": "advancements.adventure.spyglass_at_parrot.description"
},
"icon": {
"item": "minecraft:spyglass"
},
"title": {
"translate": "advancements.adventure.spyglass_at_parrot.title"
}
},
"requirements": [
[
"spyglass_at_parrot"
]
],
"sends_telemetry_event": true
}
2
I tried to do this, but it ended up just making a new "Is It a Bird?" advancement, with the original one still remaining.
2
Are you trying to replace the original one?
If so, im pretty sure you're supposed to put your custom advancement named as the vanilla advancement you're replacing in the 'minecraft' folder inside your datapack
If so, im pretty sure you're supposed to put your custom advancement named as the vanilla advancement you're replacing in the 'minecraft' folder inside your datapack
2
Here's what I want to do. I want to make a new Advancement that goes after the Adventure root, but before "Is It a Bird?".
1
You need to replace the old one to have the new one as a parent.