diff --git a/paper-server/patches/sources/net/minecraft/server/PlayerAdvancements.java.patch b/paper-server/patches/sources/net/minecraft/server/PlayerAdvancements.java.patch index f503804d79..74ffb0eec1 100644 --- a/paper-server/patches/sources/net/minecraft/server/PlayerAdvancements.java.patch +++ b/paper-server/patches/sources/net/minecraft/server/PlayerAdvancements.java.patch @@ -16,7 +16,17 @@ PlayerAdvancements.LOGGER.warn("Ignored advancement '{}' in progress file {} - it doesn't exist anymore?", minecraftkey, this.playerSavePath); } else { this.startProgress(advancementholder, advancementprogress); -@@ -227,6 +229,7 @@ +@@ -223,10 +225,17 @@ + boolean flag1 = advancementprogress.isDone(); + + if (advancementprogress.grantProgress(criterionName)) { ++ // Paper start - Add PlayerAdvancementCriterionGrantEvent ++ if (!new com.destroystokyo.paper.event.player.PlayerAdvancementCriterionGrantEvent(this.player.getBukkitEntity(), advancement.toBukkit(), criterionName).callEvent()) { ++ advancementprogress.revokeProgress(criterionName); ++ return false; ++ } ++ // Paper end - Add PlayerAdvancementCriterionGrantEvent + this.unregisterListeners(advancement); this.progressChanged.add(advancement); flag = true; if (!flag1 && advancementprogress.isDone()) {