diff --git a/Plugins/Mineplex.Core/src/mineplex/core/antihack/AntiHack.java b/Plugins/Mineplex.Core/src/mineplex/core/antihack/AntiHack.java index 34b7f3699..36fc72e4f 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/antihack/AntiHack.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/antihack/AntiHack.java @@ -1,5 +1,6 @@ package mineplex.core.antihack; +import javax.xml.bind.DatatypeConverter; import java.util.Collections; import java.util.HashSet; import java.util.Map; @@ -9,7 +10,11 @@ import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; -import javax.xml.bind.DatatypeConverter; +import net.md_5.bungee.api.ChatColor; +import net.md_5.bungee.api.chat.BaseComponent; +import net.md_5.bungee.api.chat.ClickEvent; +import net.md_5.bungee.api.chat.ComponentBuilder; +import net.md_5.bungee.api.chat.HoverEvent; import org.bukkit.Bukkit; import org.bukkit.entity.Player; @@ -81,11 +86,6 @@ import mineplex.core.punish.PunishClient; import mineplex.core.punish.Punishment; import mineplex.core.punish.PunishmentResponse; import mineplex.serverdata.commands.ServerCommandManager; -import net.md_5.bungee.api.ChatColor; -import net.md_5.bungee.api.chat.BaseComponent; -import net.md_5.bungee.api.chat.ClickEvent; -import net.md_5.bungee.api.chat.ComponentBuilder; -import net.md_5.bungee.api.chat.HoverEvent; @ReflectivelyCreateMiniPlugin public class AntiHack extends MiniPlugin @@ -109,10 +109,10 @@ public class AntiHack extends MiniPlugin public static final Map, AntiHackAction> ACTIONS = ImmutableMap., AntiHackAction>builder() .put(KillauraTypeA.class, new ImmediateBanAction(200)) - //.put(KillauraTypeD.class, new BanwaveAction(1500)) - //.put(KillauraTypeF.class, new BanwaveAction(600)) - .put(Glide.class, new ImmediateBanAction(10000)) - .put(Speed.class, new ImmediateBanAction(10000)) + .put(KillauraTypeD.class, new BanwaveAction(1500)) + .put(KillauraTypeF.class, new BanwaveAction(600)) + .put(Glide.class, new ImmediateBanAction(7500)) + .put(Speed.class, new ImmediateBanAction(7500)) .put(HeadRoll.class, new ImmediateBanAction(2000)) .put(Toggle.class, new ImmediateBanAction(500)) .put(Timer.class, new ImmediateBanAction(10000)) @@ -435,11 +435,6 @@ public class AntiHack extends MiniPlugin @EventHandler public void onHack(PlayerViolationEvent event) { - if (event.getCheckClass() == Toggle.class) - { - return; - } - if (_ignoredChecks.contains(event.getCheckClass())) { return; diff --git a/Plugins/Mineplex.Core/src/mineplex/core/message/ClientMessage.java b/Plugins/Mineplex.Core/src/mineplex/core/message/ClientMessage.java index c27e778fa..64956db8f 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/message/ClientMessage.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/message/ClientMessage.java @@ -6,4 +6,4 @@ public class ClientMessage public String LastAdminTo; public long LastToTime; public int SpamCounter; -} +} \ No newline at end of file diff --git a/Plugins/Mineplex.Core/src/mineplex/core/message/MessageManager.java b/Plugins/Mineplex.Core/src/mineplex/core/message/MessageManager.java index cbb4950e9..0096f0486 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/message/MessageManager.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/message/MessageManager.java @@ -1,5 +1,17 @@ package mineplex.core.message; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.UUID; + +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.Sound; +import org.bukkit.entity.Player; +import org.bukkit.plugin.java.JavaPlugin; +import org.bukkit.scheduler.BukkitRunnable; + import mineplex.core.MiniClientPlugin; import mineplex.core.account.CoreClientManager; import mineplex.core.chat.Chat; @@ -33,18 +45,6 @@ import mineplex.core.punish.Punishment; import mineplex.core.punish.PunishmentSentence; import mineplex.serverdata.commands.AnnouncementCommand; import mineplex.serverdata.commands.ServerCommandManager; -import org.bukkit.Bukkit; -import org.bukkit.ChatColor; -import org.bukkit.Sound; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.bukkit.scheduler.BukkitRunnable; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.UUID; public class MessageManager extends MiniClientPlugin { @@ -263,6 +263,10 @@ public class MessageManager extends MiniClientPlugin // Send UtilPlayer.message(to, C.cGold + "§l" + from.getName() + " > " + to.getName() + C.cYellow + " §l" + message); + if (_punish.GetClient(to.getName()).IsMuted() && _preferences.get(to).isActive(Preference.INFORM_MUTED)) + { + UtilPlayer.message(from, F.main(getName(), F.elem(to.getName()) + " is currently muted and cannot reply to you!")); + } } public void DoMessageAdmin(Player from, Player to, String message) @@ -345,7 +349,8 @@ public class MessageManager extends MiniClientPlugin "Mmm...Steak!", "Poop! Poop everywhere!", "I'm so forgetful. Like I was going to say somethin...wait what were we talking about?", - "Mmm...Steak!" + "Mmm...Steak!", + "#BlameAlex" ); } @@ -359,7 +364,7 @@ public class MessageManager extends MiniClientPlugin if (_randomMessage.isEmpty()) return "meow"; - return _randomMessage.get(UtilMath.r(_randomMessage.size())); + return UtilMath.randomElement(_randomMessage); } public void Help(Player caller) @@ -392,7 +397,7 @@ public class MessageManager extends MiniClientPlugin // Message the sender RedisMessageCallback message = new RedisMessageCallback(globalMessage, true, to.getName(), - C.cPurple + "-> " + toRank + " " + to.getName() + " " + C.cPurple + globalMessage.getMessage()); + C.cPurple + "-> " + toRank + " " + to.getName() + " " + C.cPurple + globalMessage.getMessage(), false); // Inform Admins for (Player staff : UtilServer.getPlayers()) @@ -416,8 +421,7 @@ public class MessageManager extends MiniClientPlugin if (canMessage != null) { - - RedisMessageCallback message = new RedisMessageCallback(globalMessage, false, null, canMessage); + RedisMessageCallback message = new RedisMessageCallback(globalMessage, false, null, canMessage, false); message.publish(); @@ -431,9 +435,11 @@ public class MessageManager extends MiniClientPlugin UtilPlayer.message(to, message); to.playSound(to.getLocation(), Sound.NOTE_PIANO, 2f, 2f); + + boolean informMuted = _punish.GetClient(to.getName()).IsMuted() && _preferences.get(to).isActive(Preference.INFORM_MUTED); // Message the sender - RedisMessageCallback redisMessage = new RedisMessageCallback(globalMessage, false, to.getName(), message); + RedisMessageCallback redisMessage = new RedisMessageCallback(globalMessage, false, to.getName(), message, informMuted); redisMessage.publish(); } @@ -453,6 +459,11 @@ public class MessageManager extends MiniClientPlugin if (target != null) { target.sendMessage(message.getMessage()); + + if (message.informMuted()) + { + UtilPlayer.message(target, F.main(getName(), F.elem(message.getLastReplied()) + " is currently muted and cannot reply to you!")); + } target.playSound(target.getLocation(), Sound.NOTE_PIANO, 2f, 2f); @@ -647,6 +658,6 @@ public class MessageManager extends MiniClientPlugin public PreferencesManager getPreferences() { - return this._preferences; + return _preferences; } -} +} \ No newline at end of file diff --git a/Plugins/Mineplex.Core/src/mineplex/core/message/redis/RedisMessage.java b/Plugins/Mineplex.Core/src/mineplex/core/message/redis/RedisMessage.java index 941ea76e5..2cd47cc02 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/message/redis/RedisMessage.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/message/redis/RedisMessage.java @@ -70,4 +70,4 @@ public class RedisMessage extends ServerCommand { // Utilitizes a callback functionality to seperate dependencies } -} +} \ No newline at end of file diff --git a/Plugins/Mineplex.Core/src/mineplex/core/message/redis/RedisMessageCallback.java b/Plugins/Mineplex.Core/src/mineplex/core/message/redis/RedisMessageCallback.java index 11a634d37..e5218ebe0 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/message/redis/RedisMessageCallback.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/message/redis/RedisMessageCallback.java @@ -12,16 +12,17 @@ public class RedisMessageCallback extends ServerCommand private String _message; private String _setLastMessage; private String _target; - private boolean _staffMessage; + private boolean _staffMessage, _informMuted; private UUID _uuid; - public RedisMessageCallback(RedisMessage globalMessage, boolean staffMessage, String receivedPlayer, String message) + public RedisMessageCallback(RedisMessage globalMessage, boolean staffMessage, String receivedPlayer, String message, boolean informMuted) { _target = globalMessage.getSender(); _message = message; _setLastMessage = receivedPlayer; _uuid = globalMessage.getUUID(); _staffMessage = staffMessage; + _informMuted = informMuted; if (globalMessage.getSendingServer() != null) { @@ -33,6 +34,11 @@ public class RedisMessageCallback extends ServerCommand { return _staffMessage; } + + public boolean informMuted() + { + return _informMuted; + } public String getLastReplied() { @@ -59,4 +65,4 @@ public class RedisMessageCallback extends ServerCommand { // Utilitizes a callback functionality to seperate dependencies } -} +} \ No newline at end of file diff --git a/Plugins/Mineplex.Core/src/mineplex/core/preferences/Preference.java b/Plugins/Mineplex.Core/src/mineplex/core/preferences/Preference.java index 66c0f116c..20fc14901 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/preferences/Preference.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/preferences/Preference.java @@ -48,7 +48,9 @@ public enum Preference PARTY_DISPLAY_INVENTORY_UI(true, PreferenceCategory.SOCIAL, Material.CHEST, "Display Parties GUI"), - RANDOM_MESSAGES(true, PreferenceCategory.USER, Material.COMMAND, "Send random messages", "Got nothing to say? We got you covered!") + RANDOM_MESSAGES(true, PreferenceCategory.USER, Material.COMMAND, "Send Random Messages", "Got nothing to say? We got you covered!"), + + INFORM_MUTED(false, PreferenceCategory.USER, Material.BARRIER, "Inform When Muted", "Inform people who message you if you are muted!") ; private static final Map PREFERENCE_MAP = Maps.newHashMap(); @@ -118,6 +120,4 @@ public enum Preference { return PREFERENCE_MAP.get(id); } - - -} +} \ No newline at end of file diff --git a/Plugins/Mineplex.Hub/src/mineplex/hub/server/ui/ServerGameMenu.java b/Plugins/Mineplex.Hub/src/mineplex/hub/server/ui/ServerGameMenu.java index 8227ede93..501bc687a 100644 --- a/Plugins/Mineplex.Hub/src/mineplex/hub/server/ui/ServerGameMenu.java +++ b/Plugins/Mineplex.Hub/src/mineplex/hub/server/ui/ServerGameMenu.java @@ -178,7 +178,7 @@ public class ServerGameMenu extends ShopPageBase { (_extraValue ? C.cAquaB : C.cWhiteB) + "NEW UPDATES", C.Reset + "", - C.Reset + "Defenders must protect King Sparklez", + C.Reset + "Defenders must protect King Chiss", C.Reset + "from the endless waves of Undead", C.Reset + "until the sun rises!", }, "CS", "Castle_Siege", new SelectCSButton(this)); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/castlesiegenew/CastleSiegeNew.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/castlesiegenew/CastleSiegeNew.java index 40c6b117e..f3c30678c 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/castlesiegenew/CastleSiegeNew.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/castlesiegenew/CastleSiegeNew.java @@ -26,8 +26,12 @@ import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffectType; +import com.mineplex.anticheat.checks.combat.KillauraTypeD; + +import mineplex.core.Managers; import mineplex.core.achievement.Achievement; import mineplex.core.achievement.AchievementCategory; +import mineplex.core.antihack.AntiHack; import mineplex.core.common.util.C; import mineplex.core.common.util.UtilAlg; import mineplex.core.common.util.UtilEnt; @@ -171,6 +175,10 @@ public class CastleSiegeNew extends TeamGame new CompassModule() .register(this); + + // Disable specific GWEN checks for this game + AntiHack antiHack = Managers.get(AntiHack.class); + antiHack.addIgnoredCheck(KillauraTypeD.class); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/castlesiegenew/kits/KitUndeadZombie.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/castlesiegenew/kits/KitUndeadZombie.java index 363bd7c16..8b5ac6ada 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/castlesiegenew/kits/KitUndeadZombie.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/castlesiegenew/kits/KitUndeadZombie.java @@ -76,6 +76,6 @@ public class KitUndeadZombie extends KitCastleSiege int level = getUpgradeLevel(player.getUniqueId()); - player.setMaxHealth(player.getMaxHealth() + level * 2); + player.setMaxHealth(20 + level * 2); } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/quests/DragonEscapeWinQuestTracker.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/quests/DragonEscapeWinQuestTracker.java index b47de5575..80efbbcc3 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/quests/DragonEscapeWinQuestTracker.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/quests/DragonEscapeWinQuestTracker.java @@ -24,6 +24,11 @@ public class DragonEscapeWinQuestTracker extends QuestTracker public void increment(Player player) { + if (!player.isOnline()) + { + return; + } + incrementQuests(player, 1, ((Arcade) UtilServer.getPlugin()).getServerConfig().getServerGroup().getPrefix(), getGame().GetKit(player).GetName() + "Kit", "Parkour"); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/moba/Moba.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/moba/Moba.java index 10ae22e25..ef85ede0e 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/moba/Moba.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/moba/Moba.java @@ -20,6 +20,7 @@ import org.bukkit.event.Listener; import org.bukkit.event.entity.ProjectileHitEvent; import org.bukkit.event.player.PlayerQuitEvent; +import com.mineplex.anticheat.checks.combat.KillauraTypeD; import com.mineplex.anticheat.checks.move.Glide; import com.mineplex.anticheat.checks.move.HeadRoll; import com.mineplex.anticheat.checks.move.Speed; @@ -200,6 +201,7 @@ public class Moba extends TeamGame antiHack.addIgnoredCheck(Speed.class); antiHack.addIgnoredCheck(Glide.class); antiHack.addIgnoredCheck(HeadRoll.class); + antiHack.addIgnoredCheck(KillauraTypeD.class); } protected T registerManager(T listener) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/quest/CollectQuestTracker.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/quest/CollectQuestTracker.java index 9bcc6165e..a67d3b93e 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/quest/CollectQuestTracker.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/quest/CollectQuestTracker.java @@ -1,12 +1,10 @@ package nautilus.game.arcade.quest; -import java.awt.dnd.DragSourceDropEvent; import java.util.ArrayList; import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.Material; -import org.bukkit.block.Block; import org.bukkit.block.Chest; import org.bukkit.block.DoubleChest; import org.bukkit.entity.Player; diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/quest/HitQuestTracker.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/quest/HitQuestTracker.java index 665657a3d..77ad5189a 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/quest/HitQuestTracker.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/quest/HitQuestTracker.java @@ -51,8 +51,6 @@ public class HitQuestTracker extends QuestTracker if (!event.GetReason().contains("Axe Thrower")) return; - System.out.println("Test2"); - incrementQuests(event.GetDamagerPlayer(true), 1, "Player", "Axe", getGame().GetKit(event.GetDamagerPlayer(true)).GetName() + "Kit"); } }