diff --git a/src/main/java/land/chipmunk/chipmunkmod/modules/SelfCare.java b/src/main/java/land/chipmunk/chipmunkmod/modules/SelfCare.java index c6fbc79..5b5f3b9 100644 --- a/src/main/java/land/chipmunk/chipmunkmod/modules/SelfCare.java +++ b/src/main/java/land/chipmunk/chipmunkmod/modules/SelfCare.java @@ -33,6 +33,7 @@ public class SelfCare implements Listener { private Timer timer; private Timer chatTimer; + private Timer icuTimer; private boolean cspy = false; public boolean hasSkin = false; @@ -67,11 +68,20 @@ public class SelfCare implements Listener { } }; + final TimerTask icuTask = new TimerTask() { + @Override + public void run() { + positionPacketsPerSecond = 0; + } + }; + timer = new Timer(); chatTimer = new Timer(); + icuTimer = new Timer(); timer.schedule(task, interval, interval); chatTimer.schedule(chatTask, chatInterval, chatInterval); + icuTimer.schedule(icuTask, 1000L, 1000L); } public void cleanup() { @@ -83,6 +93,9 @@ public class SelfCare implements Listener { chatTimer.cancel(); chatTimer.purge(); + icuTimer.cancel(); + icuTimer.purge(); + gameMode = -1; hasSkin = false; @@ -112,9 +125,8 @@ public class SelfCare implements Listener { return; } - if (player != null && !player.hasPermissionLevel(2) && opEnabled) { - if (serverHasCommand("op")) networkHandler.sendChatCommand("op @s[type=player]"); - } else if (gameMode != 1 && gamemodeEnabled) networkHandler.sendChatCommand("gamemode creative"); + if (player != null && !player.hasPermissionLevel(2) && opEnabled && serverHasCommand("op")) networkHandler.sendChatCommand("op @s[type=player]"); + else if (gameMode != 1 && gamemodeEnabled) networkHandler.sendChatCommand("gamemode creative"); else if (positionPacketsPerSecond >= 10 && icuEnabled) CommandCore.INSTANCE.run("sudo * icu stop"); } @@ -148,17 +160,6 @@ public class SelfCare implements Listener { public void packetReceived(PlayerPositionLookS2CPacket packet) { if (timer == null) return; - try { - positionPacketsPerSecond++; - - timer.schedule(new TimerTask() { - @Override - public void run() { - positionPacketsPerSecond--; - } - }, 1000); - } catch (Exception e) { - e.printStackTrace(); - } + positionPacketsPerSecond++; } }