From 22f322ac82f177319275ddab533fe9496da1a6ef Mon Sep 17 00:00:00 2001 From: PolskiStevek Date: Fri, 28 Feb 2020 18:36:45 +0100 Subject: [PATCH] Added /guard reset, fixed counter. Former-commit-id: bde8adc94c4540bbdd8e697274e0fb8bd1bdf095 --- .../me/ishift/epicguard/bukkit/command/GuardCommand.java | 8 ++++++++ .../me/ishift/epicguard/bukkit/manager/AttackManager.java | 2 +- .../java/me/ishift/epicguard/bukkit/task/AttackTask.java | 6 +----- .../me/ishift/epicguard/bungee/util/BungeeAttack.java | 1 + .../epicguard/universal/check/detection/SpeedCheck.java | 7 +++++++ 5 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/main/java/me/ishift/epicguard/bukkit/command/GuardCommand.java b/src/main/java/me/ishift/epicguard/bukkit/command/GuardCommand.java index ebe42663..b62199f0 100644 --- a/src/main/java/me/ishift/epicguard/bukkit/command/GuardCommand.java +++ b/src/main/java/me/ishift/epicguard/bukkit/command/GuardCommand.java @@ -2,12 +2,14 @@ import me.ishift.epicguard.bukkit.GuardBukkit; import me.ishift.epicguard.bukkit.gui.GuiMain; +import me.ishift.epicguard.bukkit.manager.AttackManager; import me.ishift.epicguard.bukkit.manager.User; import me.ishift.epicguard.bukkit.manager.UserManager; import me.ishift.epicguard.universal.Messages; import me.ishift.epicguard.bukkit.util.server.Updater; import me.ishift.epicguard.universal.Config; import me.ishift.epicguard.universal.StorageManager; +import me.ishift.epicguard.universal.check.detection.SpeedCheck; import me.ishift.epicguard.universal.util.ChatUtil; import me.ishift.epicguard.universal.util.GeoAPI; import org.bukkit.Bukkit; @@ -41,6 +43,7 @@ public boolean onCommand(CommandSender sender, Command c, String s, String[] arg sender.sendMessage(ChatUtil.fix(" &f/" + s + " menu &8- &7Open main plugin GUI.")); sender.sendMessage(ChatUtil.fix(" &f/" + s + " status &8- &7Toggle antibot notifications (titles).")); sender.sendMessage(ChatUtil.fix(" &f/" + s + " reload &8- &7Reload configuration and messages.")); + sender.sendMessage(ChatUtil.fix(" &f/" + s + " reset &8- &7Disabling attack mode and resetting counters.")); sender.sendMessage(ChatUtil.fix(" &f/" + s + " player &8- &7See information about specific player.")); sender.sendMessage(ChatUtil.fix(" &f/" + s + " whitelist &8- &7Add specific adress to the whitelist.")); sender.sendMessage(ChatUtil.fix(" &f/" + s + " blacklist &8- &7Add specific adress to the blacklist.")); @@ -101,6 +104,11 @@ public boolean onCommand(CommandSender sender, Command c, String s, String[] arg } StorageManager.blacklist(args[1]); send(sender, "&7Blacklisted IP: " + args[1]); + } else if (args[0].equalsIgnoreCase("reset")) { + SpeedCheck.reset(); + SpeedCheck.setConnectPerSecond(0); + SpeedCheck.setPingPerSecond(0); + send(sender, "&7Attack counters has been &ccleared&7."); } else { send(sender, "&cCommand not found! Use &6/" + s); } diff --git a/src/main/java/me/ishift/epicguard/bukkit/manager/AttackManager.java b/src/main/java/me/ishift/epicguard/bukkit/manager/AttackManager.java index d26de62c..81c8a3eb 100644 --- a/src/main/java/me/ishift/epicguard/bukkit/manager/AttackManager.java +++ b/src/main/java/me/ishift/epicguard/bukkit/manager/AttackManager.java @@ -43,7 +43,7 @@ public static void handleAttack(AttackType type) { } Bukkit.getScheduler().runTaskLater(GuardBukkit.getInstance(), () -> { - if (SpeedCheck.getConnectPerSecond() < 0 || SpeedCheck.getPingPerSecond() < 0) return; + if (SpeedCheck.getConnectPerSecond() == 0 || SpeedCheck.getPingPerSecond() == 0) return; if (type == AttackType.CONNECT) { SpeedCheck.setConnectPerSecond(SpeedCheck.getConnectPerSecond() - 1); } diff --git a/src/main/java/me/ishift/epicguard/bukkit/task/AttackTask.java b/src/main/java/me/ishift/epicguard/bukkit/task/AttackTask.java index 6aa676ba..1436f54d 100644 --- a/src/main/java/me/ishift/epicguard/bukkit/task/AttackTask.java +++ b/src/main/java/me/ishift/epicguard/bukkit/task/AttackTask.java @@ -8,11 +8,7 @@ public class AttackTask implements Runnable { @Override public void run() { if (SpeedCheck.getPingPerSecond() < Config.pingSpeed && SpeedCheck.getConnectPerSecond() < Config.connectSpeed) { - if (SpeedCheck.isUnderAttack()) { - SpeedCheck.setAttackMode(false); - SecondTask.setTime(0); - SpeedCheck.setTotalBots(0); - } + if (SpeedCheck.isUnderAttack()) SpeedCheck.reset(); } } } diff --git a/src/main/java/me/ishift/epicguard/bungee/util/BungeeAttack.java b/src/main/java/me/ishift/epicguard/bungee/util/BungeeAttack.java index 3e01d45f..47052b30 100644 --- a/src/main/java/me/ishift/epicguard/bungee/util/BungeeAttack.java +++ b/src/main/java/me/ishift/epicguard/bungee/util/BungeeAttack.java @@ -18,6 +18,7 @@ public static void handle(AttackType type) { } ProxyServer.getInstance().getScheduler().schedule(GuardBungee.getInstance(), () -> { + if (SpeedCheck.getConnectPerSecond() == 0 || SpeedCheck.getPingPerSecond() == 0) return; if (type == AttackType.CONNECT) { SpeedCheck.setConnectPerSecond(SpeedCheck.getConnectPerSecond() - 1); } diff --git a/src/main/java/me/ishift/epicguard/universal/check/detection/SpeedCheck.java b/src/main/java/me/ishift/epicguard/universal/check/detection/SpeedCheck.java index 6208aef4..235d0b69 100644 --- a/src/main/java/me/ishift/epicguard/universal/check/detection/SpeedCheck.java +++ b/src/main/java/me/ishift/epicguard/universal/check/detection/SpeedCheck.java @@ -1,5 +1,6 @@ package me.ishift.epicguard.universal.check.detection; +import me.ishift.epicguard.bukkit.task.SecondTask; import me.ishift.epicguard.universal.Config; import me.ishift.epicguard.universal.check.Check; import me.ishift.epicguard.universal.types.Reason; @@ -23,6 +24,12 @@ public boolean perform(String address, String nickname) { return isUnderAttack(); } + public static void reset() { + setAttackMode(false); + SecondTask.setTime(0); + setTotalBots(0); + } + public static int getTotalBots() { return totalBots; }