From e888bdc5e9cf46e7f7b4c32eb52f0b219b74b34e Mon Sep 17 00:00:00 2001 From: Ben Woo <30431861+benwoo1110@users.noreply.github.com> Date: Tue, 16 Dec 2025 16:39:03 +0800 Subject: [PATCH] Don't need to track processed criteria during share handling --- .../multiverse/inventories/share/Sharables.java | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/mvplugins/multiverse/inventories/share/Sharables.java b/src/main/java/org/mvplugins/multiverse/inventories/share/Sharables.java index fd017338..f3d8b479 100644 --- a/src/main/java/org/mvplugins/multiverse/inventories/share/Sharables.java +++ b/src/main/java/org/mvplugins/multiverse/inventories/share/Sharables.java @@ -36,6 +36,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; @@ -746,8 +747,7 @@ public void updateProfile(ProfileData profile, Player player) { @Override public boolean updatePlayer(Player player, ProfileData profile) { List advancements = profile.get(ADVANCEMENTS); - Set processedCriteria = new HashSet<>(); - Set completedCriteria = (advancements != null) ? new HashSet<>(advancements) : new HashSet<>(); + Set completedCriteria = (advancements != null) ? new HashSet<>(advancements) : Collections.emptySet(); // Advancements may cause the player to level up, which we don't want to happen int totalExperience = player.getTotalExperience(); @@ -761,17 +761,13 @@ public boolean updatePlayer(Player player, ProfileData profile) { Bukkit.advancementIterator().forEachRemaining(advancement -> { AdvancementProgress advancementProgress = player.getAdvancementProgress(advancement); for (String criteria : advancement.getCriteria()) { - if (processedCriteria.contains(criteria)) { - continue; - } else if (completedCriteria.contains(criteria)) { + if (completedCriteria.contains(criteria)) { advancementProgress.awardCriteria(criteria); } else { advancementProgress.revokeCriteria(criteria); } - processedCriteria.add(criteria); } }); - // Set back the level from before applying the advancements player.setExp(exp); player.setLevel(level);