diff options
Diffstat (limited to 'patch-remap/og/net/minecraft/server/AdvancementDataPlayer.patch')
-rw-r--r-- | patch-remap/og/net/minecraft/server/AdvancementDataPlayer.patch | 18 |
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)) { |