aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/dev/mayaqq/ygasi/util
diff options
context:
space:
mode:
authorMaximusbarcz <maxim.baranek@gmail.com>2023-01-02 18:12:41 +0100
committerMaximusbarcz <maxim.baranek@gmail.com>2023-01-02 18:12:41 +0100
commit255cbe744535466951b8f1699202763520f1fc95 (patch)
treeed97f5fd15ce1a539cfcf2150a23c269e6a2acd4 /src/main/java/dev/mayaqq/ygasi/util
parent730ba6e636d952e9730e3b9bbc035c894dfff25b (diff)
downloadygasi-255cbe744535466951b8f1699202763520f1fc95.tar.gz
ygasi-255cbe744535466951b8f1699202763520f1fc95.tar.bz2
ygasi-255cbe744535466951b8f1699202763520f1fc95.zip
Added some nifty features (like a reset gui and a reset all advancements util)
Diffstat (limited to 'src/main/java/dev/mayaqq/ygasi/util')
-rw-r--r--src/main/java/dev/mayaqq/ygasi/util/YgasiUtils.java23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/main/java/dev/mayaqq/ygasi/util/YgasiUtils.java b/src/main/java/dev/mayaqq/ygasi/util/YgasiUtils.java
index ba3cfc8..1c3b267 100644
--- a/src/main/java/dev/mayaqq/ygasi/util/YgasiUtils.java
+++ b/src/main/java/dev/mayaqq/ygasi/util/YgasiUtils.java
@@ -27,7 +27,26 @@ public class YgasiUtils {
}
}
- public static boolean getAdvancementProgress(ServerPlayerEntity player, String advancement) {
- return player.getAdvancementTracker().getProgress(player.getServer().getAdvancementLoader().get(new Identifier("minecraft", "ygasi/" + advancement))).isDone();
+ public static void revokeAllAdvancements(ServerPlayerEntity player, String namespace ,String path) {
+ if (player.getServer() == null) {
+ return;
+ }
+ ServerAdvancementLoader sal = player.getServer().getAdvancementLoader();
+ PlayerAdvancementTracker tracker = player.getAdvancementTracker();
+
+ for (Advancement advancement : sal.getAdvancements()) {
+ if (advancement.getId().getNamespace().equals(namespace) && advancement.getId().getPath().startsWith(path)) {
+ for (String criterion : advancement.getCriteria().keySet()) {
+ tracker.revokeCriterion(advancement, criterion);
+ }
+ }
+ }
+ }
+
+ public static boolean getAdvancementProgress(ServerPlayerEntity player, String namespace, String path) {
+ if (player.getServer() == null) {
+ return false;
+ }
+ return player.getAdvancementTracker().getProgress(player.getServer().getAdvancementLoader().get(new Identifier(namespace, path))).isDone();
}
} \ No newline at end of file