aboutsummaryrefslogtreecommitdiffhomepage
path: root/patch-remap/og/net/minecraft/server/AdvancementDataPlayer.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patch-remap/og/net/minecraft/server/AdvancementDataPlayer.patch')
-rw-r--r--patch-remap/og/net/minecraft/server/AdvancementDataPlayer.patch18
1 files changed, 18 insertions, 0 deletions
diff --git a/patch-remap/og/net/minecraft/server/AdvancementDataPlayer.patch b/patch-remap/og/net/minecraft/server/AdvancementDataPlayer.patch
new file mode 100644
index 0000000000..87812ef579
--- /dev/null
+++ b/patch-remap/og/net/minecraft/server/AdvancementDataPlayer.patch
@@ -0,0 +1,18 @@
+--- a/net/minecraft/server/AdvancementDataPlayer.java
++++ b/net/minecraft/server/AdvancementDataPlayer.java
+@@ -196,6 +196,7 @@
+ AdvancementHolder advancementholder = advancementdataworld.get(minecraftkey);
+
+ if (advancementholder == null) {
++ if (!minecraftkey.getNamespace().equals("minecraft")) return; // CraftBukkit
+ AdvancementDataPlayer.LOGGER.warn("Ignored advancement '{}' in progress file {} - it doesn't exist anymore?", minecraftkey, this.playerSavePath);
+ } else {
+ this.startProgress(advancementholder, advancementprogress);
+@@ -227,6 +228,7 @@
+ this.progressChanged.add(advancementholder);
+ flag = true;
+ if (!flag1 && advancementprogress.isDone()) {
++ this.player.level().getCraftServer().getPluginManager().callEvent(new org.bukkit.event.player.PlayerAdvancementDoneEvent(this.player.getBukkitEntity(), advancementholder.toBukkit())); // CraftBukkit
+ advancementholder.value().rewards().grant(this.player);
+ advancementholder.value().display().ifPresent((advancementdisplay) -> {
+ if (advancementdisplay.shouldAnnounceChat() && this.player.level().getGameRules().getBoolean(GameRules.RULE_ANNOUNCE_ADVANCEMENTS)) {