diff --git a/build-number.txt b/build-number.txt index b3053e31..e681ffd9 100644 --- a/build-number.txt +++ b/build-number.txt @@ -1 +1 @@ -2924 \ No newline at end of file +2925 \ No newline at end of file diff --git a/src/main/java/me/chayapak1/chomens_bot/plugins/FilterManagerPlugin.java b/src/main/java/me/chayapak1/chomens_bot/plugins/FilterManagerPlugin.java index 00e89ec5..d9383b43 100644 --- a/src/main/java/me/chayapak1/chomens_bot/plugins/FilterManagerPlugin.java +++ b/src/main/java/me/chayapak1/chomens_bot/plugins/FilterManagerPlugin.java @@ -11,16 +11,15 @@ import net.kyori.adventure.text.Component; import org.apache.commons.lang3.tuple.Pair; import org.geysermc.mcprotocollib.network.event.session.DisconnectedEvent; -import java.util.Collections; -import java.util.HashMap; import java.util.Map; import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; public class FilterManagerPlugin implements Listener { private final Bot bot; - public final Map list = Collections.synchronizedMap(new HashMap<>()); + public final Map list = new ConcurrentHashMap<>(); public FilterManagerPlugin (final Bot bot) { this.bot = bot; diff --git a/src/main/java/me/chayapak1/chomens_bot/plugins/TickPlugin.java b/src/main/java/me/chayapak1/chomens_bot/plugins/TickPlugin.java index a107fb1b..8c7e2835 100644 --- a/src/main/java/me/chayapak1/chomens_bot/plugins/TickPlugin.java +++ b/src/main/java/me/chayapak1/chomens_bot/plugins/TickPlugin.java @@ -3,10 +3,14 @@ package me.chayapak1.chomens_bot.plugins; import me.chayapak1.chomens_bot.Bot; import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicLong; public class TickPlugin { private final Bot bot; + public final AtomicLong lastTickTime = new AtomicLong(); + public final AtomicLong lastSecondTickTime = new AtomicLong(); + public TickPlugin (final Bot bot) { this.bot = bot; @@ -18,7 +22,7 @@ public class TickPlugin { bot.listener.dispatch(listener -> { try { listener.onAlwaysTick(); - } catch (final Exception e) { + } catch (final Throwable e) { bot.logger.error("Caught exception in an always tick listener!"); bot.logger.error(e); } @@ -29,11 +33,13 @@ public class TickPlugin { bot.listener.dispatch(listener -> { try { listener.onTick(); - } catch (final Exception e) { + } catch (final Throwable e) { bot.logger.error("Caught exception in a tick listener!"); bot.logger.error(e); } }); + + lastTickTime.set(System.currentTimeMillis()); } private void tickSecond () { @@ -42,10 +48,12 @@ public class TickPlugin { bot.listener.dispatch(listener -> { try { listener.onSecondTick(); - } catch (final Exception e) { + } catch (final Throwable e) { bot.logger.error("Caught exception in a second tick listener!"); bot.logger.error(e); } }); + + lastSecondTickTime.set(System.currentTimeMillis()); } }