Skip to content

Commit 72a1703

Browse files
committed
Move stats saving reset to async
1 parent e9be529 commit 72a1703

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/main/java/world/bentobox/boxed/listeners/AdvancementListener.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@
4545
*/
4646
public class AdvancementListener implements Listener {
4747

48+
private static final Material[] MATS = Material.values();
49+
4850
private final Boxed addon;
4951
private final Advancement netherAdvancement;
5052
private final Advancement netherFortressAdvancement;
@@ -327,7 +329,8 @@ private void grantAdv(User user, List<String> list) {
327329

328330
private void clearAdv(User user) {
329331
// Clear Statistics
330-
Arrays.stream(Statistic.values()).forEach(s -> resetStats(user, s));
332+
Bukkit.getScheduler().runTaskAsynchronously(addon.getPlugin(),
333+
() -> Arrays.stream(Statistic.values()).forEach(s -> resetStats(user, s)));
331334
// Clear advancements
332335
Iterator<Advancement> it = Bukkit.advancementIterator();
333336
while (it.hasNext()) {
@@ -340,8 +343,9 @@ private void clearAdv(User user) {
340343

341344
private void resetStats(User user, Statistic s) {
342345
switch(s.getType()) {
343-
case BLOCK -> Arrays.stream(Material.values()).filter(Material::isBlock).forEach(m -> user.getPlayer().setStatistic(s, m, 0));
344-
case ITEM -> Arrays.stream(Material.values()).filter(Material::isItem).forEach(m -> user.getPlayer().setStatistic(s, m, 0));
346+
case BLOCK ->
347+
Arrays.stream(MATS).filter(Material::isBlock).forEach(m -> user.getPlayer().setStatistic(s, m, 0));
348+
case ITEM -> Arrays.stream(MATS).filter(Material::isItem).forEach(m -> user.getPlayer().setStatistic(s, m, 0));
345349
case ENTITY -> Arrays.stream(EntityType.values()).filter(EntityType::isAlive).forEach(m -> user.getPlayer().setStatistic(s, m, 0));
346350
case UNTYPED -> user.getPlayer().setStatistic(s, 0);
347351
}

0 commit comments

Comments
 (0)