diff options
author | Maximusbarcz <maxim.baranek@gmail.com> | 2023-01-02 18:12:41 +0100 |
---|---|---|
committer | Maximusbarcz <maxim.baranek@gmail.com> | 2023-01-02 18:12:41 +0100 |
commit | 255cbe744535466951b8f1699202763520f1fc95 (patch) | |
tree | ed97f5fd15ce1a539cfcf2150a23c269e6a2acd4 /src/main/java/dev/mayaqq/ygasi/util | |
parent | 730ba6e636d952e9730e3b9bbc035c894dfff25b (diff) | |
download | ygasi-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.java | 23 |
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 |