aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorIsaac - The456 <[email protected]>2023-11-19 01:18:48 +0000
committerGitHub <[email protected]>2023-11-18 20:18:48 -0500
commit250388defed6660c57f40733c318ac90b846c264 (patch)
tree86b210c6eb67f605ad4ed9089181497fc7599e6b
parent86117967db2f13c041145dffa6258ee39f07da5d (diff)
downloadPaper-250388defed6660c57f40733c318ac90b846c264.tar.gz
Paper-250388defed6660c57f40733c318ac90b846c264.zip
add getAdvancementProgress() to PlayerAdvancementCriterionGrantEvent (#9865)
this allows for simpler checks for if an advancement would be given to a player, and denying it (as the advancement grant event is non-cancelable)
-rw-r--r--patches/api/0085-Add-PlayerAdvancementCriterionGrantEvent.patch (renamed from patches/api/0085-PlayerAdvancementCriterionGrantEvent.patch)24
-rw-r--r--patches/server/0174-Add-PlayerAdvancementCriterionGrantEvent.patch (renamed from patches/server/0174-PlayerAdvancementCriterionGrantEvent.patch)2
2 files changed, 21 insertions, 5 deletions
diff --git a/patches/api/0085-PlayerAdvancementCriterionGrantEvent.patch b/patches/api/0085-Add-PlayerAdvancementCriterionGrantEvent.patch
index 5e8eaca58a..c974eeae83 100644
--- a/patches/api/0085-PlayerAdvancementCriterionGrantEvent.patch
+++ b/patches/api/0085-Add-PlayerAdvancementCriterionGrantEvent.patch
@@ -1,18 +1,20 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Fri, 19 Jan 2018 08:15:14 -0600
-Subject: [PATCH] PlayerAdvancementCriterionGrantEvent
+Subject: [PATCH] Add PlayerAdvancementCriterionGrantEvent
+Co-authored-by: The456gamer <[email protected]>
diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerAdvancementCriterionGrantEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerAdvancementCriterionGrantEvent.java
new file mode 100644
-index 0000000000000000000000000000000000000000..bb8d7c959cdea4b66455a49e74804ea4b126620d
+index 0000000000000000000000000000000000000000..9e43739404814781ede832ec5931cd2d963fff19
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerAdvancementCriterionGrantEvent.java
-@@ -0,0 +1,63 @@
+@@ -0,0 +1,78 @@
+package com.destroystokyo.paper.event.player;
+
+import org.bukkit.advancement.Advancement;
++import org.bukkit.advancement.AdvancementProgress;
+import org.bukkit.entity.Player;
+import org.bukkit.event.Cancellable;
+import org.bukkit.event.HandlerList;
@@ -20,18 +22,21 @@ index 0000000000000000000000000000000000000000..bb8d7c959cdea4b66455a49e74804ea4
+import org.jetbrains.annotations.NotNull;
+
+/**
-+ * Called when a player is granted a criteria in an advancement.
++ * Called after a player is granted a criteria in an advancement.
++ * If cancelled the criteria will be revoked.
+ */
+public class PlayerAdvancementCriterionGrantEvent extends PlayerEvent implements Cancellable {
+ private static final HandlerList handlers = new HandlerList();
+ @NotNull private final Advancement advancement;
+ @NotNull private final String criterion;
++ @NotNull private final AdvancementProgress advancementProgress;
+ private boolean cancel = false;
+
+ public PlayerAdvancementCriterionGrantEvent(@NotNull Player who, @NotNull Advancement advancement, @NotNull String criterion) {
+ super(who);
+ this.advancement = advancement;
+ this.criterion = criterion;
++ this.advancementProgress = who.getAdvancementProgress(advancement);
+ }
+
+ /**
@@ -58,6 +63,17 @@ index 0000000000000000000000000000000000000000..bb8d7c959cdea4b66455a49e74804ea4
+ return cancel;
+ }
+
++ /**
++ * Gets the current AdvancementProgress.
++ * See {@link PlayerAdvancementCriterionGrantEvent}
++ *
++ * @return advancement progress
++ */
++ @NotNull
++ public AdvancementProgress getAdvancementProgress() {
++ return advancementProgress;
++ }
++
+ public void setCancelled(boolean cancel) {
+ this.cancel = cancel;
+ }
diff --git a/patches/server/0174-PlayerAdvancementCriterionGrantEvent.patch b/patches/server/0174-Add-PlayerAdvancementCriterionGrantEvent.patch
index 3a419b951e..4ac554554f 100644
--- a/patches/server/0174-PlayerAdvancementCriterionGrantEvent.patch
+++ b/patches/server/0174-Add-PlayerAdvancementCriterionGrantEvent.patch
@@ -1,7 +1,7 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Fri, 19 Jan 2018 08:15:29 -0600
-Subject: [PATCH] PlayerAdvancementCriterionGrantEvent
+Subject: [PATCH] Add PlayerAdvancementCriterionGrantEvent
diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java