When you summon and kill the Ender Dragon in the overworld, the "Free The End" advancement is granted.
How to reproduce
1. Run the command:
/advancement revoke @s only minecraft:end/kill_dragon
2. Run the command:
/summon ender_dragon ~ ~ ~ {Health:1f}
3. Hit the ender dragon
❌ You get the achievement even if you are not in the End.
Code Analysis can be found in the comment by @unknown
Linked issues
Attachments
Comments 6
This is due to the .json for end/killed_dragon does not contain a specific criteria for what dimension it is killed in.
This is customizable with a Datapack if prefered.
//... (comments aren't allowed in json btw lol)
"conditions": {
"entity": [
{
"condition": "minecraft:entity_properties",
"predicate": {
"type": "minecraft:ender_dragon"
},
"entity": "this"
}
]
//missing the following:
// "location": {
// "dimension": "minecraft:the_end"
// }
}
This may be a bug, however it might be good to leave it that way, for if you accidently move it to another dimension and kill it there, you are still freeing anything under the Dragon's influence, and also so you don't need to kill it more times than you may or may not want to in order to get the advancement.
Can confirm in 1.17.1. Steps to reproduce:
1. Type
/advancement revoke @s only minecraft:end/kill_dragon
2. Type
/summon ender_dragon ~ ~ ~ {Health:1f}
3. Hit the ender dragon.
4. ❌ You get the achievement even if you are not in the End.
Hi there!
I can confirm in 1.16.1 as well as snapshot 20w28a.