From 2cdab061b640219f502d1d76d6e403710b3dfae5 Mon Sep 17 00:00:00 2001 From: Keir Nellyer Date: Fri, 16 Sep 2016 17:40:14 +0100 Subject: [PATCH] PC-886 Move report bans over to punishment gui --- .../src/mineplex/core/punish/Category.java | 1 + .../src/mineplex/core/punish/Punish.java | 66 +++++++++++++- .../mineplex/core/punish/PunishClient.java | 20 +++++ .../src/mineplex/core/punish/Punishment.java | 5 ++ .../core/punish/PunishmentSentence.java | 3 +- .../mineplex/core/punish/UI/PunishPage.java | 15 +++- .../mineplex/core/report/ReportManager.java | 55 ++++++------ .../mineplex/core/report/ReportPlugin.java | 2 - .../core/report/command/ReportCommand.java | 88 +++++++++---------- .../report/command/ReportUnbanCommand.java | 60 ------------- .../core/report/data/ReportRepository.java | 60 ------------- .../src/mineplex/game/clans/Clans.java | 2 +- .../Mineplex.Hub/src/mineplex/hub/Hub.java | 2 +- .../src/nautilus/game/arcade/Arcade.java | 2 +- 14 files changed, 180 insertions(+), 201 deletions(-) delete mode 100644 Plugins/Mineplex.Core/src/mineplex/core/report/command/ReportUnbanCommand.java diff --git a/Plugins/Mineplex.Core/src/mineplex/core/punish/Category.java b/Plugins/Mineplex.Core/src/mineplex/core/punish/Category.java index 17ad36943..9d1a36ca2 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/punish/Category.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/punish/Category.java @@ -8,6 +8,7 @@ public enum Category Hacking, // Illegal Mods Warning, PermMute, + ReportAbuse, // Abusing /report command Other; // Represents perm ban - (or old perm mutes) public static boolean contains(String s) diff --git a/Plugins/Mineplex.Core/src/mineplex/core/punish/Punish.java b/Plugins/Mineplex.Core/src/mineplex/core/punish/Punish.java index 84fead023..69fcedb27 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/punish/Punish.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/punish/Punish.java @@ -1,6 +1,7 @@ package mineplex.core.punish; import java.util.HashMap; +import java.util.logging.Level; import mineplex.core.account.CoreClient; import org.bukkit.Bukkit; @@ -188,8 +189,24 @@ public class Punish extends MiniPlugin _punishClients.put(playerName.toLowerCase(), new PunishClient()); } - final PunishmentSentence sentence = !ban ? PunishmentSentence.Mute : PunishmentSentence.Ban; - + final PunishmentSentence sentence; + + if (ban) + { + sentence = PunishmentSentence.Ban; + } + else + { + if (category == Category.ReportAbuse) + { + sentence = PunishmentSentence.ReportBan; + } + else + { + sentence = PunishmentSentence.Mute; + } + } + final long finalDuration = duration; _repository.Punish(new Callback() @@ -241,6 +258,34 @@ public class Punish extends MiniPlugin informOfPunish(finalPlayerName, F.main(getName(), caller == null ? "Mineplex Anti-Cheat" : caller.getName() + " banned " + finalPlayerName + " for " + durationString + ".")); } } + else if (sentence == PunishmentSentence.ReportBan) + { + if (caller == null) + System.out.println(F.main(getName(), F.elem(caller == null ? "Mineplex Anti-Cheat" : caller.getName()) + " report banned " + F.elem(finalPlayerName) + " because of " + F.elem(reason) + " for " + + durationString + ".")); + + if (!silent) + { + informOfPunish(finalPlayerName, F.main(getName(), caller == null ? "Mineplex Anti-Cheat" : caller.getName() + " report banned " + finalPlayerName + " for " + durationString + ".")); + } + + //Inform + if (player != null) + { + UtilPlayer.message(player, F.main("Punish", F.elem(C.cGray + C.Bold + "Reason: ") + reason)); + player.playSound(player.getLocation(), Sound.CAT_MEOW, 1f, 1f); + } + else + new mineplex.serverdata.commands.PunishCommand(finalPlayerName, false, finalDuration != 0, F.main("Punish", F.elem(C.cGray + C.Bold + "Report Ban Reason: ") + reason)).publish(); + + _repository.LoadPunishClient(finalPlayerName, new Callback() + { + public void run(PunishClientToken token) + { + LoadClient(token); + } + }); + } else { if (caller == null) @@ -306,7 +351,22 @@ public class Punish extends MiniPlugin for (PunishmentToken punishment : token.Punishments) { - client.AddPunishment(Category.valueOf(punishment.Category), new Punishment(punishment.PunishmentId, PunishmentSentence.valueOf(punishment.Sentence), Category.valueOf(punishment.Category), punishment.Reason, punishment.Admin, punishment.Duration, punishment.Severity, punishment.Time + timeDifference, punishment.Active, punishment.Removed, punishment.RemoveAdmin, punishment.RemoveReason)); + Category category; + PunishmentSentence punishmentType; + + // catch if category or punishment type no longer exists + try + { + category = Category.valueOf(punishment.Category); + punishmentType = PunishmentSentence.valueOf(punishment.Sentence); + } + catch(IllegalArgumentException e) + { + getPlugin().getLogger().log(Level.WARNING, "Skipping loading of punishment id " + punishment.PunishmentId + ", invalid category or punishment type."); + continue; + } + + client.AddPunishment(category, new Punishment(punishment.PunishmentId, punishmentType, category, punishment.Reason, punishment.Admin, punishment.Duration, punishment.Severity, punishment.Time + timeDifference, punishment.Active, punishment.Removed, punishment.RemoveAdmin, punishment.RemoveReason)); } _punishClients.put(token.Name.toLowerCase(), client); diff --git a/Plugins/Mineplex.Core/src/mineplex/core/punish/PunishClient.java b/Plugins/Mineplex.Core/src/mineplex/core/punish/PunishClient.java index d23d8fbcf..31bfa90ef 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/punish/PunishClient.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/punish/PunishClient.java @@ -54,6 +54,22 @@ public class PunishClient return false; } + public boolean IsReportBanned() + { + for (List punishments : _punishments.values()) + { + for (Punishment punishment : punishments) + { + if (punishment.IsReportBanned()) + { + return true; + } + } + } + + return false; + } + public Punishment GetPunishment(PunishmentSentence sentence) { for (List punishments : _punishments.values()) @@ -68,6 +84,10 @@ public class PunishClient { return punishment; } + else if (sentence == PunishmentSentence.ReportBan && punishment.IsReportBanned()) + { + return punishment; + } } } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/punish/Punishment.java b/Plugins/Mineplex.Core/src/mineplex/core/punish/Punishment.java index 55c39696b..2f0ed8ef7 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/punish/Punishment.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/punish/Punishment.java @@ -105,6 +105,11 @@ public class Punishment return _punishmentType == PunishmentSentence.Mute && (GetRemaining() > 0 || _hours < 0) && _active; } + public boolean IsReportBanned() + { + return _punishmentType == PunishmentSentence.ReportBan && (GetRemaining() > 0 || _hours < 0) && _active; + } + public long GetRemaining() { return _hours < 0 ? -1 : (long) ((_time + (TimeSpan.HOUR * _hours)) - System.currentTimeMillis()); diff --git a/Plugins/Mineplex.Core/src/mineplex/core/punish/PunishmentSentence.java b/Plugins/Mineplex.Core/src/mineplex/core/punish/PunishmentSentence.java index c4c40afd9..3d52d5e37 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/punish/PunishmentSentence.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/punish/PunishmentSentence.java @@ -3,5 +3,6 @@ package mineplex.core.punish; public enum PunishmentSentence { Ban, - Mute + Mute, + ReportBan } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/punish/UI/PunishPage.java b/Plugins/Mineplex.Core/src/mineplex/core/punish/UI/PunishPage.java index 3de66be8c..e28ddbcfd 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/punish/UI/PunishPage.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/punish/UI/PunishPage.java @@ -55,6 +55,7 @@ public class PunishPage extends CraftInventoryCustom implements Listener private ShopItem _warningButton; private ShopItem _permMuteButton; private ShopItem _permBanButton; + private ShopItem _permReportBanButton; public PunishPage(Punish plugin, Player player, String target, String reason, boolean wasDisguised, String originalName, String disguisedName) { @@ -118,6 +119,7 @@ public class PunishPage extends CraftInventoryCustom implements Listener _warningButton = new ShopItem(Material.PAPER, (byte)0, "Warning", new String[] { }, 1, false, true); _permMuteButton = new ShopItem(Material.EMERALD_BLOCK, (byte)0, "Permanent Mute", new String[] { }, 1, false, true); _permBanButton = new ShopItem(Material.REDSTONE_BLOCK, (byte)0, "Permanent Ban", new String[] { }, 1, false, true); + _permReportBanButton = new ShopItem(Material.ENCHANTED_BOOK, (byte)0, "Permanent Report Ban", new String[] { }, 1, false, true); getInventory().setItem(10, _chatOffenseButton.getHandle()); getInventory().setItem(12, _exploitingButton.getHandle()); @@ -310,6 +312,14 @@ public class PunishPage extends CraftInventoryCustom implements Listener " ", examplePrefixNote + "Must supply detailed reason for Mute." }, 1, false, true), new PunishButton(this, Category.ChatOffense, 4, false, -1)); + + AddButton(26, new ShopItem(Material.ENCHANTED_BOOK, (byte)0, "Permanent Report Ban", new String[] { + ChatColor.RESET + "Report Ban Duration: " + ChatColor.YELLOW + "Permanent", + " ", + examplePrefix + "Abusing Report Feature", + examplePrefixEx + " /report SomeUser THE STAFF HERE SUCK", + examplePrefixEx + " /report SomeUser MINEPLEX IS A F****** PIECE OF S***" + }, 1, false, true), new PunishButton(this, Category.ReportAbuse, 3, false, -1)); } if (_plugin.GetClients().Get(_player).GetRank() == Rank.DEVELOPER || _plugin.GetClients().Get(_player).GetRank() == Rank.JNR_DEV) @@ -372,9 +382,12 @@ public class PunishPage extends CraftInventoryCustom implements Listener case PermMute: button = _permMuteButton.clone(); break; + case ReportAbuse: + button = _permReportBanButton.clone(); + break; case Other: button = _permBanButton.clone(); - break; + break; default: break; } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/report/ReportManager.java b/Plugins/Mineplex.Core/src/mineplex/core/report/ReportManager.java index 1f8bec8df..e2ab240ad 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/report/ReportManager.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/report/ReportManager.java @@ -19,6 +19,7 @@ import org.bukkit.plugin.java.JavaPlugin; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; +import mineplex.core.account.CoreClient; import mineplex.core.account.CoreClientManager; import mineplex.core.chatsnap.SnapshotManager; import mineplex.core.chatsnap.command.PushSnapshotsCommand; @@ -33,6 +34,9 @@ import mineplex.core.common.util.UtilFuture; import mineplex.core.common.util.UtilPlayer; import mineplex.core.incognito.IncognitoManager; import mineplex.core.portal.Portal; +import mineplex.core.punish.Category; +import mineplex.core.punish.Punish; +import mineplex.core.punish.PunishClient; import mineplex.core.report.redis.HandlerNotification; import mineplex.core.report.data.Report; import mineplex.core.report.data.ReportMessage; @@ -56,6 +60,7 @@ public class ReportManager private final SnapshotManager _snapshotManager; private final CoreClientManager _clientManager; private final IncognitoManager _incognitoManager; + private final Punish _punish; private final String _serverName; private final int _serverWeight; @@ -63,12 +68,13 @@ public class ReportManager private final ReportUserRepository _reportUserRepository; public ReportManager(JavaPlugin plugin, SnapshotManager snapshotManager, CoreClientManager clientManager, - IncognitoManager incognitoManager, String serverName, int serverWeight) + IncognitoManager incognitoManager, Punish punish, String serverName, int serverWeight) { _plugin = plugin; _snapshotManager = snapshotManager; _clientManager = clientManager; _incognitoManager = incognitoManager; + _punish = punish; _serverName = serverName; _serverWeight = serverWeight; @@ -264,7 +270,12 @@ public class ReportManager { // if report was marked abusive, check if each of the reporters // should be banned from using the report system - report.getReporterIds().forEach(this::checkAbuseBan); + report.getReporterIds().forEach(reporterId -> + _reportRepository.getAccountUUID(reporterId).thenAccept(reporterUUID -> + { + CoreClient reporterClient = _clientManager.Get(reporterUUID); + checkAbuseBan(reporterClient, reportCloser); + })); } Bukkit.getScheduler().runTask(_plugin, () -> @@ -321,27 +332,25 @@ public class ReportManager * Checks if the account should be banned from using the report system. * If so, a ban will be applied. * - * @param accountId the account to check for a ban + * @param reporter the player who should be banned if threshold is met + * @param handler the handler of the report */ - private void checkAbuseBan(int accountId) + private void checkAbuseBan(CoreClient reporter, Player handler) { - _reportRepository.hasBan(accountId).thenCompose(banned -> + String clientName = reporter.getName(); + PunishClient punishClient = _punish.GetClient(clientName); + boolean reportBanned = punishClient.IsReportBanned(); + + if (!reportBanned) { - if (!banned) + _reportRepository.getResultCount(reporter.getAccountId(), ReportResultType.ABUSIVE).thenAccept(abuseCount -> { - return _reportRepository.getResultCount(accountId, ReportResultType.ABUSIVE).thenCompose(abuseCount -> + if (abuseCount >= ABUSE_BAN_THRESHOLD) { - if (abuseCount >= ABUSE_BAN_THRESHOLD) - { - return _reportRepository.addBan(accountId); - } - - return CompletableFuture.completedFuture(null); - }); - } - - return CompletableFuture.completedFuture(null); - }); + _punish.AddPunishment(clientName, Category.ReportAbuse, "Automatic report ban for reaching abuse threshold.", handler, 3, false, -1); + } + }); + } } /** @@ -416,15 +425,9 @@ public class ReportManager * @param player the player to check if they can report * @return true if the player can report, false if banned */ - public CompletableFuture canReport(Player player) + public boolean canReport(Player player) { - int accountId = _clientManager.Get(player).getAccountId(); - - return _reportRepository.hasBan(accountId).exceptionally(throwable -> - { - _plugin.getLogger().log(Level.SEVERE, "Error fetching user report ban status.", throwable); - return false; - }).thenApply(banned -> !banned); + return !_punish.GetClient(player.getName()).IsReportBanned(); } /** diff --git a/Plugins/Mineplex.Core/src/mineplex/core/report/ReportPlugin.java b/Plugins/Mineplex.Core/src/mineplex/core/report/ReportPlugin.java index d0b319ba7..0a0e1ff18 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/report/ReportPlugin.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/report/ReportPlugin.java @@ -12,7 +12,6 @@ import mineplex.core.report.command.ReportCommand; import mineplex.core.report.command.ReportHandleCommand; import mineplex.core.report.command.ReportInfoCommand; import mineplex.core.report.command.ReportStatsCommand; -import mineplex.core.report.command.ReportUnbanCommand; /** * Main class for this module, handles initialization and disabling of the module. @@ -40,7 +39,6 @@ public class ReportPlugin extends MiniPlugin addCommand(new ReportCloseCommand(this)); addCommand(new ReportStatsCommand(this)); addCommand(new ReportAbortCommand(this)); - addCommand(new ReportUnbanCommand(this)); addCommand(new ReportInfoCommand(this)); } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/report/command/ReportCommand.java b/Plugins/Mineplex.Core/src/mineplex/core/report/command/ReportCommand.java index f4842ba84..100894466 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/report/command/ReportCommand.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/report/command/ReportCommand.java @@ -35,58 +35,56 @@ public class ReportCommand extends CommandBase else { ReportManager reportManager = Plugin.getReportManager(); + boolean canReport = reportManager.canReport(reporter); - reportManager.canReport(reporter).thenCompose(BukkitFuture.accept(canReport -> + if (canReport) { - if (canReport) + if(args == null || args.length < 2) { - if(args == null || args.length < 2) - { - UtilPlayer.message(reporter, F.main(Plugin.getName(), C.cRed + "Invalid Usage: " + F.elem("/" + _aliasUsed + " "))); - } - else - { - CoreClientManager clientManager = _commandCenter.GetClientManager(); - int reporterId = clientManager.getAccountId(reporter); - String playerName = args[0]; - Player suspect = UtilPlayer.searchOnline(reporter, playerName, false); - String reason = F.combine(args, 1, null, false); - - if (suspect != null) - { - // allow developer (iKeirNez) to report himself (for easy testing reasons) - if (suspect == reporter && !reportManager.isDevMode(reporter.getUniqueId())) - { - UtilPlayer.message(reporter, F.main(Plugin.getName(), C.cRed + "You cannot report yourself.")); - } - else - { - CoreClient suspectClient = clientManager.Get(suspect); - new ReportCategoryPage(Plugin, reporter, reporterId, suspectClient, reason).openInventory(); - } - } - else - { - clientManager.loadClientByName(playerName, suspectClient -> - { - if (suspectClient != null) - { - new ReportCategoryPage(Plugin, reporter, reporterId, suspectClient, reason).openInventory(); - } - else - { - UtilPlayer.message(reporter, F.main(Plugin.getName(), C.cRed + "Unable to find player '" - + playerName + "'!")); - } - }); - } - } + UtilPlayer.message(reporter, F.main(Plugin.getName(), C.cRed + "Invalid Usage: " + F.elem("/" + _aliasUsed + " "))); } else { - reporter.sendMessage(C.cRed + "You are banned from using the report command."); + CoreClientManager clientManager = _commandCenter.GetClientManager(); + int reporterId = clientManager.getAccountId(reporter); + String playerName = args[0]; + Player suspect = UtilPlayer.searchOnline(reporter, playerName, false); + String reason = F.combine(args, 1, null, false); + + if (suspect != null) + { + // allow developer (iKeirNez) to report himself (for easy testing reasons) + if (suspect == reporter && !reportManager.isDevMode(reporter.getUniqueId())) + { + UtilPlayer.message(reporter, F.main(Plugin.getName(), C.cRed + "You cannot report yourself.")); + } + else + { + CoreClient suspectClient = clientManager.Get(suspect); + new ReportCategoryPage(Plugin, reporter, reporterId, suspectClient, reason).openInventory(); + } + } + else + { + clientManager.loadClientByName(playerName, suspectClient -> + { + if (suspectClient != null) + { + new ReportCategoryPage(Plugin, reporter, reporterId, suspectClient, reason).openInventory(); + } + else + { + UtilPlayer.message(reporter, F.main(Plugin.getName(), C.cRed + "Unable to find player '" + + playerName + "'!")); + } + }); + } } - })); + } + else + { + UtilPlayer.message(reporter, C.cRed + "You are banned from using the report feature."); + } } } } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/report/command/ReportUnbanCommand.java b/Plugins/Mineplex.Core/src/mineplex/core/report/command/ReportUnbanCommand.java deleted file mode 100644 index 771ab902e..000000000 --- a/Plugins/Mineplex.Core/src/mineplex/core/report/command/ReportUnbanCommand.java +++ /dev/null @@ -1,60 +0,0 @@ -package mineplex.core.report.command; - -import org.bukkit.Bukkit; -import org.bukkit.entity.Player; - -import mineplex.core.command.CommandBase; -import mineplex.core.common.Rank; -import mineplex.core.common.util.C; -import mineplex.core.common.util.F; -import mineplex.core.common.util.UtilPlayer; -import mineplex.core.report.ReportPlugin; -import mineplex.core.report.data.ReportRepository; - -/** - * A temporary command to allow unbanning of users who have abused the report system. - */ -public class ReportUnbanCommand extends CommandBase -{ - public ReportUnbanCommand(ReportPlugin plugin) - { - super(plugin, Rank.MODERATOR, "reportunban", "runban"); - } - - @Override - public void Execute(Player caller, String[] args) - { - if (args != null && args.length == 1) - { - String targetName = args[0]; - Player target = Bukkit.getPlayerExact(targetName); - - if (target != null) - { - ReportRepository repository = Plugin.getReportManager().getReportRepository(); - int targetId = _commandCenter.GetClientManager().getAccountId(target); - - repository.hasBan(targetId).thenAccept(hasBan -> - { - if (hasBan) - { - repository.removeBan(targetId).thenAccept(aVoid -> - UtilPlayer.message(caller, F.main(Plugin.getName(), "Unbanned player from the report system."))); - } - else - { - UtilPlayer.message(caller, F.main(Plugin.getName(), C.cRed + "That player is not banned from using the report system.")); - } - }); - } - else - { - UtilPlayer.message(caller, F.main(Plugin.getName(), C.cRed + "Couldn't find player named: " + F.elem(targetName))); - } - } - else - { - UtilPlayer.message(caller, F.main(Plugin.getName(), C.cRed + "Invalid Usage: " + F.elem("/" + _aliasUsed + " "))); - } - } -} diff --git a/Plugins/Mineplex.Core/src/mineplex/core/report/data/ReportRepository.java b/Plugins/Mineplex.Core/src/mineplex/core/report/data/ReportRepository.java index 4ee81ebaf..91104a4b4 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/report/data/ReportRepository.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/report/data/ReportRepository.java @@ -142,12 +142,6 @@ public class ReportRepository "ORDER BY reports.id DESC\n" + "LIMIT ?;"; - /** BANS **/ - - private static final String CHECK_FOR_BAN = "SELECT accountId FROM reportBans WHERE accountId = ? LIMIT 1;"; - private static final String INSERT_BAN = "INSERT INTO reportBans (accountId) VALUES (?);"; - private static final String REMOVE_BAN = "DELETE FROM reportBans WHERE accountId = ?;"; - private final ReportManager _reportManager; private final Logger _logger; @@ -746,60 +740,6 @@ public class ReportRepository return reportIds; } - public CompletableFuture hasBan(int accountId) - { - return CompletableFuture.supplyAsync(() -> - { - try (Connection connection = DBPool.getAccount().getConnection()) - { - PreparedStatement preparedStatement = connection.prepareStatement(CHECK_FOR_BAN); - preparedStatement.setInt(1, accountId); - ResultSet resultSet = preparedStatement.executeQuery(); - return resultSet.next(); - } - catch (SQLException e) - { - throw new RuntimeException(e); - } - }); - } - - public CompletableFuture addBan(int accountId) - { - return CompletableFuture.supplyAsync(() -> - { - try (Connection connection = DBPool.getAccount().getConnection()) - { - PreparedStatement preparedStatement = connection.prepareStatement(INSERT_BAN); - preparedStatement.setInt(1, accountId); - preparedStatement.execute(); - return null; - } - catch (SQLException e) - { - throw new RuntimeException(e); - } - }); - } - - public CompletableFuture removeBan(int accountId) - { - return CompletableFuture.supplyAsync(() -> - { - try (Connection connection = DBPool.getAccount().getConnection()) - { - PreparedStatement preparedStatement = connection.prepareStatement(REMOVE_BAN); - preparedStatement.setInt(1, accountId); - preparedStatement.execute(); - return null; - } - catch (SQLException e) - { - throw new RuntimeException(e); - } - }); - } - /** * Disposes of cached reports which are cached as a result of this user. * This function is called when a user leaves the server. diff --git a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/Clans.java b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/Clans.java index 562bba495..95612656e 100644 --- a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/Clans.java +++ b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/Clans.java @@ -235,7 +235,7 @@ public class Clans extends JavaPlugin SnapshotManager snapshotManager = new SnapshotManager(this, new SnapshotRepository(serverStatusManager.getCurrentServerName(), getLogger())); new SnapshotPlugin(this, snapshotManager, _clientManager); - new ReportPlugin(this, new ReportManager(this, snapshotManager, _clientManager, incognito, serverStatusManager.getCurrentServerName(), 1)); + new ReportPlugin(this, new ReportManager(this, snapshotManager, _clientManager, incognito, punish, serverStatusManager.getCurrentServerName(), 1)); // Enable custom-gear related managers new CustomTagFix(this, packetHandler); diff --git a/Plugins/Mineplex.Hub/src/mineplex/hub/Hub.java b/Plugins/Mineplex.Hub/src/mineplex/hub/Hub.java index 6eda319da..56a6af3ae 100644 --- a/Plugins/Mineplex.Hub/src/mineplex/hub/Hub.java +++ b/Plugins/Mineplex.Hub/src/mineplex/hub/Hub.java @@ -187,7 +187,7 @@ public class Hub extends JavaPlugin implements IRelation //new Replay(this, packetHandler); SnapshotManager snapshotManager = new SnapshotManager(this, new SnapshotRepository(serverStatusManager.getCurrentServerName(), getLogger())); - ReportManager reportManager = new ReportManager(this, snapshotManager, clientManager, incognito, serverStatusManager.getCurrentServerName(), 3); + ReportManager reportManager = new ReportManager(this, snapshotManager, clientManager, incognito, punish, serverStatusManager.getCurrentServerName(), 3); new SnapshotPlugin(this, snapshotManager, clientManager); new ReportPlugin(this, reportManager); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/Arcade.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/Arcade.java index 67ff5acfc..9e30933a2 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/Arcade.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/Arcade.java @@ -157,7 +157,7 @@ public class Arcade extends JavaPlugin new MessageManager(this, incognito, _clientManager, preferenceManager, ignoreManager, punish, friendManager, chat); SnapshotManager snapshotManager = new SnapshotManager(this, new SnapshotRepository(serverStatusManager.getCurrentServerName(), getLogger())); - ReportManager reportManager = new ReportManager(this, snapshotManager, _clientManager, incognito, serverStatusManager.getCurrentServerName(), 1); + ReportManager reportManager = new ReportManager(this, snapshotManager, _clientManager, incognito, punish, serverStatusManager.getCurrentServerName(), 1); new SnapshotPlugin(this, snapshotManager, _clientManager); new ReportPlugin(this, reportManager);