From df62e69da1a8b1819df07a7f53cbb063ec5c3311 Mon Sep 17 00:00:00 2001 From: TealNerd Date: Tue, 12 Dec 2017 15:55:14 -0600 Subject: [PATCH 1/7] Allow for custom names in civchat --- pom.xml | 2 +- .../civcraft/mc/civchat2/CivChat2Manager.java | 26 +++++++++++++++---- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index 5166ea8..7d3359c 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ vg.civcraft.mc.civchat2 CivChat2 jar - 1.5.0 + 1.5.1 CivChat2 https://github.com/DevotedMC/CivChat2 diff --git a/src/vg/civcraft/mc/civchat2/CivChat2Manager.java b/src/vg/civcraft/mc/civchat2/CivChat2Manager.java index ebd314f..f890cd6 100644 --- a/src/vg/civcraft/mc/civchat2/CivChat2Manager.java +++ b/src/vg/civcraft/mc/civchat2/CivChat2Manager.java @@ -4,6 +4,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Set; import java.util.UUID; @@ -49,6 +50,8 @@ public class CivChat2Manager { protected static final GroupManager GM = NameAPI.getGroupManager(); private String defaultColor; + + private static Map customNames = new HashMap(); public CivChat2Manager(CivChat2 pluginInstance) { @@ -125,12 +128,13 @@ public void sendPrivateMsg(Player sender, Player receiver, String chatMessage) { StringBuilder sb = new StringBuilder(); - String senderName = sender.getName(); - String receiverName = receiver.getName(); + String senderName = customNames.containsKey(sender.getUniqueId()) ? customNames.get(sender.getUniqueId()) : sender.getDisplayName(); + String receiverName = customNames.containsKey(receiver.getUniqueId()) ? customNames.get(receiver.getUniqueId()) : receiver.getDisplayName(); String senderMessage = sb.append(ChatColor.LIGHT_PURPLE) .append("To ") .append(receiverName) + .append(ChatColor.LIGHT_PURPLE) .append(": ") .append(chatMessage) .toString(); @@ -139,6 +143,7 @@ public void sendPrivateMsg(Player sender, Player receiver, String chatMessage) { String receiverMessage = sb.append(ChatColor.LIGHT_PURPLE) .append("From ") .append(senderName) + .append(ChatColor.LIGHT_PURPLE) .append(": ") .append(chatMessage) .toString(); @@ -226,7 +231,10 @@ public void broadcastMessage(Player sender, String chatMessage, String messageFo if (receiverDistance <= range) { ChatColor newColor = ChatColor.valueOf(config.getColorAtDistance(receiverDistance)); newColor = newColor != null ? newColor : color; - receiver.sendMessage(String.format(messageFormat, newColor + NameAPI.getCurrentName(sender.getUniqueId()), + + String senderName = customNames.containsKey(sender.getUniqueId()) ? customNames.get(sender.getUniqueId()) : sender.getDisplayName(); + + receiver.sendMessage(String.format(messageFormat, newColor + senderName, newColor + chatMessage)); } } @@ -334,8 +342,8 @@ public void sendGroupMsg(Player sender, Group group, String message) { } } - String formatted = parse(ChatStrings.chatGroupMessage, group.getName(), sender.getName(), message); - String senderName = NameAPI.getCurrentName(sender.getUniqueId()); + String senderName = customNames.containsKey(sender.getUniqueId()) ? customNames.get(sender.getUniqueId()) : sender.getDisplayName(); + String formatted = parse(ChatStrings.chatGroupMessage, group.getName(), senderName, message); for (Player receiver : members) { if (DBM.isIgnoringGroup(receiver.getUniqueId(), group.getName())) { @@ -387,4 +395,12 @@ public String parse(String text, Object... args) { return TextUtil.parse(text, args); } + + public static void removeCustomName(UUID player) { + customNames.remove(player); + } + + public static void setCustomName(UUID player, String name) { + customNames.put(player, name); + } } From 58f5c2e417697038cf5f4bd9ec389f189116600d Mon Sep 17 00:00:00 2001 From: TealNerd Date: Fri, 29 Dec 2017 19:29:02 -0600 Subject: [PATCH 2/7] fix npe with colored names --- src/vg/civcraft/mc/civchat2/CivChat2Manager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vg/civcraft/mc/civchat2/CivChat2Manager.java b/src/vg/civcraft/mc/civchat2/CivChat2Manager.java index f890cd6..335b6d1 100644 --- a/src/vg/civcraft/mc/civchat2/CivChat2Manager.java +++ b/src/vg/civcraft/mc/civchat2/CivChat2Manager.java @@ -163,10 +163,10 @@ public void sendPrivateMsg(Player sender, Player receiver, String chatMessage) { sender.sendMessage(parse(ChatStrings.chatPlayerAfk)); return; // Player is ignoring the sender - } else if (DBM.isIgnoringPlayer(receiverName, senderName)) { + } else if (DBM.isIgnoringPlayer(receiver.getName(), sender.getName())) { sender.sendMessage(parse(ChatStrings.chatPlayerIgnoringYou)); return; - } else if (DBM.isIgnoringPlayer(senderName, receiverName)) { + } else if (DBM.isIgnoringPlayer(sender.getName(), receiver.getName())) { sender.sendMessage(parse(ChatStrings.chatNeedToUnignore, receiverName)); return; } From 4404dd1746e17f83019b2003c1618b76eb7a55fd Mon Sep 17 00:00:00 2001 From: Maxopoly Date: Sat, 10 Mar 2018 06:06:25 +0100 Subject: [PATCH 3/7] 1.12 version sync --- pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 7d3359c..15b7db9 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ vg.civcraft.mc.civchat2 CivChat2 jar - 1.5.1 + 1.5.2 CivChat2 https://github.com/DevotedMC/CivChat2 @@ -41,13 +41,13 @@ vg.civcraft.mc.namelayer NameLayer - 2.11.0 + 2.11.1 provided vg.civcraft.mc.civmodcore CivModCore - 1.6.0 + 1.6.2 provided From 5779885e28d5e13f7516edd57de76fd6fdb13365 Mon Sep 17 00:00:00 2001 From: Alexander Date: Sun, 5 Aug 2018 15:38:31 +0100 Subject: [PATCH 4/7] 1) Allows players to use `/exit ` in the same way as they can `/g ` 2) Updated the POM to use the CivClassic Jenkins 3) Major gitignore upgrade. --- .gitignore | 170 +++++++++++++++++- pom.xml | 4 +- src/vg/civcraft/mc/civchat2/ChatStrings.java | 2 + .../mc/civchat2/command/commands/Exit.java | 31 +++- 4 files changed, 196 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 201cb06..e13f2c4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,171 @@ + +# Created by https://www.gitignore.io/api/java,linux,macos,windows,intellij + +*.bat /target/ -/bin/ -.settings/* .classpath +.settings/** .project +.idea +*.iml + +### Intellij ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +### Intellij Patch ### +# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 + +# *.iml +# modules.xml +# .idea/misc.xml +# *.ipr + +# Sonarlint plugin +.idea/sonarlint + +### Java ### +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +### Linux ### +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### Windows ### +# Windows thumbnail cache files +Thumbs.db +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + + +# End of https://www.gitignore.io/api/java,linux,macos,windows,intellij \ No newline at end of file diff --git a/pom.xml b/pom.xml index 72510ce..a10315c 100644 --- a/pom.xml +++ b/pom.xml @@ -62,8 +62,8 @@ https://hub.spigotmc.org/nexus/content/groups/public/ - devoted-repo - https://build.devotedmc.com/plugin/repository/everything/ + civ-jenkins + http://test.civclassic.com:8080/plugin/repository/everything/ diff --git a/src/vg/civcraft/mc/civchat2/ChatStrings.java b/src/vg/civcraft/mc/civchat2/ChatStrings.java index 423196c..e98ce77 100644 --- a/src/vg/civcraft/mc/civchat2/ChatStrings.java +++ b/src/vg/civcraft/mc/civchat2/ChatStrings.java @@ -2,6 +2,8 @@ public class ChatStrings { + public final static String localChatFormat = "<%1$s> %2$s"; + public final static String chatPlayerIsOffline = "That player is offline."; public final static String chatNoOneToReplyTo = "You have no one to reply to."; diff --git a/src/vg/civcraft/mc/civchat2/command/commands/Exit.java b/src/vg/civcraft/mc/civchat2/command/commands/Exit.java index 57da972..fbd3d19 100644 --- a/src/vg/civcraft/mc/civchat2/command/commands/Exit.java +++ b/src/vg/civcraft/mc/civchat2/command/commands/Exit.java @@ -2,27 +2,44 @@ import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; import vg.civcraft.mc.civchat2.ChatStrings; +import vg.civcraft.mc.civchat2.CivChat2; import vg.civcraft.mc.civchat2.command.ChatCommand; +import java.util.HashSet; +import java.util.Set; + +import static vg.civcraft.mc.civchat2.ChatStrings.localChatFormat; + public class Exit extends ChatCommand { public Exit(String name) { - super(name); setIdentifier("exit"); setDescription("Moves to global chat"); - setUsage("/exit"); + setUsage("/exit "); setErrorOnTooManyArgs(false); setSenderMustBePlayer(true); } @Override public boolean execute(CommandSender sender, String[] args) { - - chatMan.removeChannel(player()); - chatMan.removeGroupChat(player()); - msg(ChatStrings.chatMovedToGlobal); - return true; + if (args.length == 0) { + chatMan.removeChannel(player()); + chatMan.removeGroupChat(player()); + msg(ChatStrings.chatMovedToGlobal); + return true; + } + else { + StringBuilder chatMsg = new StringBuilder(); + for (int i = 0; i < args.length; i++) { + chatMsg.append(args[i]); + chatMsg.append(" "); + } + Set players = new HashSet<>(CivChat2.getInstance().getServer().getOnlinePlayers()); + chatMan.broadcastMessage(player(), chatMsg.toString(), localChatFormat, players); + return true; + } } } From 1f10c72525dd0daece27c5249d8500dc7a042b2d Mon Sep 17 00:00:00 2001 From: Maxopoly Date: Sat, 27 Apr 2019 15:59:41 +0200 Subject: [PATCH 5/7] Make project structure maven conform --- pom.xml | 16 +++++++++++----- .../vg/civcraft/mc/civchat2/ChatStrings.java | 0 .../java}/vg/civcraft/mc/civchat2/CivChat2.java | 0 .../vg/civcraft/mc/civchat2/CivChat2Manager.java | 0 .../mc/civchat2/command/ChatCommand.java | 0 .../civchat2/command/CivChat2CommandHandler.java | 0 .../mc/civchat2/command/commands/Afk.java | 0 .../mc/civchat2/command/commands/Exit.java | 0 .../mc/civchat2/command/commands/GroupChat.java | 0 .../mc/civchat2/command/commands/Ignore.java | 0 .../civchat2/command/commands/IgnoreGroup.java | 0 .../mc/civchat2/command/commands/IgnoreList.java | 0 .../mc/civchat2/command/commands/Reply.java | 0 .../mc/civchat2/command/commands/Tell.java | 0 .../civcraft/mc/civchat2/database/Database.java | 0 .../mc/civchat2/database/DatabaseManager.java | 0 .../mc/civchat2/event/GlobalChatEvent.java | 0 .../mc/civchat2/event/GroupChatEvent.java | 0 .../mc/civchat2/event/PrivateMessageEvent.java | 0 .../mc/civchat2/listeners/CivChat2Listener.java | 0 .../mc/civchat2/utility/CivChat2Config.java | 0 .../mc/civchat2/utility/CivChat2Executor.java | 0 .../mc/civchat2/utility/CivChat2FileLogger.java | 0 .../mc/civchat2/utility/CivChat2Log.java | 0 config.yml => src/main/resources/config.yml | 0 log4j2.xml => src/main/resources/log4j2.xml | 0 plugin.yml => src/main/resources/plugin.yml | 0 27 files changed, 11 insertions(+), 5 deletions(-) rename src/{ => main/java}/vg/civcraft/mc/civchat2/ChatStrings.java (100%) rename src/{ => main/java}/vg/civcraft/mc/civchat2/CivChat2.java (100%) rename src/{ => main/java}/vg/civcraft/mc/civchat2/CivChat2Manager.java (100%) rename src/{ => main/java}/vg/civcraft/mc/civchat2/command/ChatCommand.java (100%) rename src/{ => main/java}/vg/civcraft/mc/civchat2/command/CivChat2CommandHandler.java (100%) rename src/{ => main/java}/vg/civcraft/mc/civchat2/command/commands/Afk.java (100%) rename src/{ => main/java}/vg/civcraft/mc/civchat2/command/commands/Exit.java (100%) rename src/{ => main/java}/vg/civcraft/mc/civchat2/command/commands/GroupChat.java (100%) rename src/{ => main/java}/vg/civcraft/mc/civchat2/command/commands/Ignore.java (100%) rename src/{ => main/java}/vg/civcraft/mc/civchat2/command/commands/IgnoreGroup.java (100%) rename src/{ => main/java}/vg/civcraft/mc/civchat2/command/commands/IgnoreList.java (100%) rename src/{ => main/java}/vg/civcraft/mc/civchat2/command/commands/Reply.java (100%) rename src/{ => main/java}/vg/civcraft/mc/civchat2/command/commands/Tell.java (100%) rename src/{ => main/java}/vg/civcraft/mc/civchat2/database/Database.java (100%) rename src/{ => main/java}/vg/civcraft/mc/civchat2/database/DatabaseManager.java (100%) rename src/{ => main/java}/vg/civcraft/mc/civchat2/event/GlobalChatEvent.java (100%) rename src/{ => main/java}/vg/civcraft/mc/civchat2/event/GroupChatEvent.java (100%) rename src/{ => main/java}/vg/civcraft/mc/civchat2/event/PrivateMessageEvent.java (100%) rename src/{ => main/java}/vg/civcraft/mc/civchat2/listeners/CivChat2Listener.java (100%) rename src/{ => main/java}/vg/civcraft/mc/civchat2/utility/CivChat2Config.java (100%) rename src/{ => main/java}/vg/civcraft/mc/civchat2/utility/CivChat2Executor.java (100%) rename src/{ => main/java}/vg/civcraft/mc/civchat2/utility/CivChat2FileLogger.java (100%) rename src/{ => main/java}/vg/civcraft/mc/civchat2/utility/CivChat2Log.java (100%) rename config.yml => src/main/resources/config.yml (100%) rename log4j2.xml => src/main/resources/log4j2.xml (100%) rename plugin.yml => src/main/resources/plugin.yml (100%) diff --git a/pom.xml b/pom.xml index a10315c..7912bba 100644 --- a/pom.xml +++ b/pom.xml @@ -1,4 +1,5 @@ - 4.0.0 @@ -17,17 +18,22 @@ - ${basedir}/src ${basedir} - *.yml License.txt true + + ${basedir}/src/main/resources + + *.yml + + true + @@ -51,8 +57,8 @@ provided - org.apache.logging.log4j - log4j-core + org.apache.logging.log4j + log4j-core 2.7 diff --git a/src/vg/civcraft/mc/civchat2/ChatStrings.java b/src/main/java/vg/civcraft/mc/civchat2/ChatStrings.java similarity index 100% rename from src/vg/civcraft/mc/civchat2/ChatStrings.java rename to src/main/java/vg/civcraft/mc/civchat2/ChatStrings.java diff --git a/src/vg/civcraft/mc/civchat2/CivChat2.java b/src/main/java/vg/civcraft/mc/civchat2/CivChat2.java similarity index 100% rename from src/vg/civcraft/mc/civchat2/CivChat2.java rename to src/main/java/vg/civcraft/mc/civchat2/CivChat2.java diff --git a/src/vg/civcraft/mc/civchat2/CivChat2Manager.java b/src/main/java/vg/civcraft/mc/civchat2/CivChat2Manager.java similarity index 100% rename from src/vg/civcraft/mc/civchat2/CivChat2Manager.java rename to src/main/java/vg/civcraft/mc/civchat2/CivChat2Manager.java diff --git a/src/vg/civcraft/mc/civchat2/command/ChatCommand.java b/src/main/java/vg/civcraft/mc/civchat2/command/ChatCommand.java similarity index 100% rename from src/vg/civcraft/mc/civchat2/command/ChatCommand.java rename to src/main/java/vg/civcraft/mc/civchat2/command/ChatCommand.java diff --git a/src/vg/civcraft/mc/civchat2/command/CivChat2CommandHandler.java b/src/main/java/vg/civcraft/mc/civchat2/command/CivChat2CommandHandler.java similarity index 100% rename from src/vg/civcraft/mc/civchat2/command/CivChat2CommandHandler.java rename to src/main/java/vg/civcraft/mc/civchat2/command/CivChat2CommandHandler.java diff --git a/src/vg/civcraft/mc/civchat2/command/commands/Afk.java b/src/main/java/vg/civcraft/mc/civchat2/command/commands/Afk.java similarity index 100% rename from src/vg/civcraft/mc/civchat2/command/commands/Afk.java rename to src/main/java/vg/civcraft/mc/civchat2/command/commands/Afk.java diff --git a/src/vg/civcraft/mc/civchat2/command/commands/Exit.java b/src/main/java/vg/civcraft/mc/civchat2/command/commands/Exit.java similarity index 100% rename from src/vg/civcraft/mc/civchat2/command/commands/Exit.java rename to src/main/java/vg/civcraft/mc/civchat2/command/commands/Exit.java diff --git a/src/vg/civcraft/mc/civchat2/command/commands/GroupChat.java b/src/main/java/vg/civcraft/mc/civchat2/command/commands/GroupChat.java similarity index 100% rename from src/vg/civcraft/mc/civchat2/command/commands/GroupChat.java rename to src/main/java/vg/civcraft/mc/civchat2/command/commands/GroupChat.java diff --git a/src/vg/civcraft/mc/civchat2/command/commands/Ignore.java b/src/main/java/vg/civcraft/mc/civchat2/command/commands/Ignore.java similarity index 100% rename from src/vg/civcraft/mc/civchat2/command/commands/Ignore.java rename to src/main/java/vg/civcraft/mc/civchat2/command/commands/Ignore.java diff --git a/src/vg/civcraft/mc/civchat2/command/commands/IgnoreGroup.java b/src/main/java/vg/civcraft/mc/civchat2/command/commands/IgnoreGroup.java similarity index 100% rename from src/vg/civcraft/mc/civchat2/command/commands/IgnoreGroup.java rename to src/main/java/vg/civcraft/mc/civchat2/command/commands/IgnoreGroup.java diff --git a/src/vg/civcraft/mc/civchat2/command/commands/IgnoreList.java b/src/main/java/vg/civcraft/mc/civchat2/command/commands/IgnoreList.java similarity index 100% rename from src/vg/civcraft/mc/civchat2/command/commands/IgnoreList.java rename to src/main/java/vg/civcraft/mc/civchat2/command/commands/IgnoreList.java diff --git a/src/vg/civcraft/mc/civchat2/command/commands/Reply.java b/src/main/java/vg/civcraft/mc/civchat2/command/commands/Reply.java similarity index 100% rename from src/vg/civcraft/mc/civchat2/command/commands/Reply.java rename to src/main/java/vg/civcraft/mc/civchat2/command/commands/Reply.java diff --git a/src/vg/civcraft/mc/civchat2/command/commands/Tell.java b/src/main/java/vg/civcraft/mc/civchat2/command/commands/Tell.java similarity index 100% rename from src/vg/civcraft/mc/civchat2/command/commands/Tell.java rename to src/main/java/vg/civcraft/mc/civchat2/command/commands/Tell.java diff --git a/src/vg/civcraft/mc/civchat2/database/Database.java b/src/main/java/vg/civcraft/mc/civchat2/database/Database.java similarity index 100% rename from src/vg/civcraft/mc/civchat2/database/Database.java rename to src/main/java/vg/civcraft/mc/civchat2/database/Database.java diff --git a/src/vg/civcraft/mc/civchat2/database/DatabaseManager.java b/src/main/java/vg/civcraft/mc/civchat2/database/DatabaseManager.java similarity index 100% rename from src/vg/civcraft/mc/civchat2/database/DatabaseManager.java rename to src/main/java/vg/civcraft/mc/civchat2/database/DatabaseManager.java diff --git a/src/vg/civcraft/mc/civchat2/event/GlobalChatEvent.java b/src/main/java/vg/civcraft/mc/civchat2/event/GlobalChatEvent.java similarity index 100% rename from src/vg/civcraft/mc/civchat2/event/GlobalChatEvent.java rename to src/main/java/vg/civcraft/mc/civchat2/event/GlobalChatEvent.java diff --git a/src/vg/civcraft/mc/civchat2/event/GroupChatEvent.java b/src/main/java/vg/civcraft/mc/civchat2/event/GroupChatEvent.java similarity index 100% rename from src/vg/civcraft/mc/civchat2/event/GroupChatEvent.java rename to src/main/java/vg/civcraft/mc/civchat2/event/GroupChatEvent.java diff --git a/src/vg/civcraft/mc/civchat2/event/PrivateMessageEvent.java b/src/main/java/vg/civcraft/mc/civchat2/event/PrivateMessageEvent.java similarity index 100% rename from src/vg/civcraft/mc/civchat2/event/PrivateMessageEvent.java rename to src/main/java/vg/civcraft/mc/civchat2/event/PrivateMessageEvent.java diff --git a/src/vg/civcraft/mc/civchat2/listeners/CivChat2Listener.java b/src/main/java/vg/civcraft/mc/civchat2/listeners/CivChat2Listener.java similarity index 100% rename from src/vg/civcraft/mc/civchat2/listeners/CivChat2Listener.java rename to src/main/java/vg/civcraft/mc/civchat2/listeners/CivChat2Listener.java diff --git a/src/vg/civcraft/mc/civchat2/utility/CivChat2Config.java b/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Config.java similarity index 100% rename from src/vg/civcraft/mc/civchat2/utility/CivChat2Config.java rename to src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Config.java diff --git a/src/vg/civcraft/mc/civchat2/utility/CivChat2Executor.java b/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Executor.java similarity index 100% rename from src/vg/civcraft/mc/civchat2/utility/CivChat2Executor.java rename to src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Executor.java diff --git a/src/vg/civcraft/mc/civchat2/utility/CivChat2FileLogger.java b/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2FileLogger.java similarity index 100% rename from src/vg/civcraft/mc/civchat2/utility/CivChat2FileLogger.java rename to src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2FileLogger.java diff --git a/src/vg/civcraft/mc/civchat2/utility/CivChat2Log.java b/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Log.java similarity index 100% rename from src/vg/civcraft/mc/civchat2/utility/CivChat2Log.java rename to src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Log.java diff --git a/config.yml b/src/main/resources/config.yml similarity index 100% rename from config.yml rename to src/main/resources/config.yml diff --git a/log4j2.xml b/src/main/resources/log4j2.xml similarity index 100% rename from log4j2.xml rename to src/main/resources/log4j2.xml diff --git a/plugin.yml b/src/main/resources/plugin.yml similarity index 100% rename from plugin.yml rename to src/main/resources/plugin.yml From 080a713818f4557d7ac8221932d522cd1fd0dfcf Mon Sep 17 00:00:00 2001 From: Maxopoly Date: Sat, 27 Apr 2019 16:02:40 +0200 Subject: [PATCH 6/7] Reformat project --- pom.xml | 8 +- .../civcraft/mc/civchat2/CivChat2Manager.java | 113 +++++++++--------- .../mc/civchat2/command/ChatCommand.java | 4 +- .../command/CivChat2CommandHandler.java | 5 +- .../mc/civchat2/command/commands/Exit.java | 15 ++- .../civchat2/command/commands/GroupChat.java | 3 +- .../mc/civchat2/command/commands/Ignore.java | 2 +- .../command/commands/IgnoreGroup.java | 2 +- .../mc/civchat2/command/commands/Reply.java | 2 +- .../mc/civchat2/command/commands/Tell.java | 2 +- .../mc/civchat2/database/DatabaseManager.java | 11 +- .../mc/civchat2/event/GlobalChatEvent.java | 6 +- .../mc/civchat2/event/GroupChatEvent.java | 6 +- .../civchat2/event/PrivateMessageEvent.java | 6 +- .../civchat2/listeners/CivChat2Listener.java | 28 +++-- .../mc/civchat2/utility/CivChat2Config.java | 5 +- .../mc/civchat2/utility/CivChat2Executor.java | 1 + .../civchat2/utility/CivChat2FileLogger.java | 18 +-- 18 files changed, 125 insertions(+), 112 deletions(-) diff --git a/pom.xml b/pom.xml index 7912bba..f300787 100644 --- a/pom.xml +++ b/pom.xml @@ -41,19 +41,19 @@ org.spigotmc spigot-api - 1.12-R0.1-SNAPSHOT + 1.13.2-R0.1-SNAPSHOT provided vg.civcraft.mc.namelayer NameLayer - 2.11.1 + 2.12.0 provided vg.civcraft.mc.civmodcore CivModCore - 1.6.2 + 1.7.4 provided @@ -69,7 +69,7 @@ civ-jenkins - http://test.civclassic.com:8080/plugin/repository/everything/ + http://build.devotedmc.com/plugin/repository/everything/ diff --git a/src/main/java/vg/civcraft/mc/civchat2/CivChat2Manager.java b/src/main/java/vg/civcraft/mc/civchat2/CivChat2Manager.java index 335b6d1..3c72e9d 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/CivChat2Manager.java +++ b/src/main/java/vg/civcraft/mc/civchat2/CivChat2Manager.java @@ -50,7 +50,7 @@ public class CivChat2Manager { protected static final GroupManager GM = NameAPI.getGroupManager(); private String defaultColor; - + private static Map customNames = new HashMap(); public CivChat2Manager(CivChat2 pluginInstance) { @@ -61,16 +61,16 @@ public CivChat2Manager(CivChat2 pluginInstance) { DBM = instance.getDatabaseManager(); defaultColor = config.getDefaultColor(); chatChannels = new HashMap(); - groupChatChannels = new HashMap(); + groupChatChannels = new HashMap(); replyList = new HashMap(); afkPlayers = new HashSet(); } - /** * Gets the channel for player to player chat - * @param name Player name of the channel - * @return Returns a String of channel name, null if doesn't exist + * + * @param name Player name of the channel + * @return Returns a String of channel name, null if doesn't exist */ public UUID getChannel(Player player) { @@ -81,7 +81,8 @@ public UUID getChannel(Player player) { /** * Removes the channel from the channel storage - * @param name Player Name of the channel + * + * @param name Player Name of the channel * */ public void removeChannel(Player player) { @@ -92,10 +93,11 @@ public void removeChannel(Player player) { } /** - * Adds a channel for player to player chat, if player1 is - * currently in a chatChannel this will overwrite it - * @param player1 Sender's name - * @param player2 Receiver's name + * Adds a channel for player to player chat, if player1 is currently in a + * chatChannel this will overwrite it + * + * @param player1 Sender's name + * @param player2 Receiver's name */ public void addChatChannel(Player player1, Player player2) { @@ -113,8 +115,9 @@ public void addChatChannel(Player player1, Player player2) { /** * Method to Send private message between to players - * @param sender Player sending the message - * @param receiver Player Receiving the message + * + * @param sender Player sending the message + * @param receiver Player Receiving the message * @param chatMessage Message to send from sender to receive */ public void sendPrivateMsg(Player sender, Player receiver, String chatMessage) { @@ -128,42 +131,29 @@ public void sendPrivateMsg(Player sender, Player receiver, String chatMessage) { StringBuilder sb = new StringBuilder(); - String senderName = customNames.containsKey(sender.getUniqueId()) ? customNames.get(sender.getUniqueId()) : sender.getDisplayName(); - String receiverName = customNames.containsKey(receiver.getUniqueId()) ? customNames.get(receiver.getUniqueId()) : receiver.getDisplayName(); + String senderName = customNames.containsKey(sender.getUniqueId()) ? customNames.get(sender.getUniqueId()) + : sender.getDisplayName(); + String receiverName = customNames.containsKey(receiver.getUniqueId()) ? customNames.get(receiver.getUniqueId()) + : receiver.getDisplayName(); - String senderMessage = sb.append(ChatColor.LIGHT_PURPLE) - .append("To ") - .append(receiverName) - .append(ChatColor.LIGHT_PURPLE) - .append(": ") - .append(chatMessage) - .toString(); + String senderMessage = sb.append(ChatColor.LIGHT_PURPLE).append("To ").append(receiverName) + .append(ChatColor.LIGHT_PURPLE).append(": ").append(chatMessage).toString(); sb.delete(0, sb.length()); - String receiverMessage = sb.append(ChatColor.LIGHT_PURPLE) - .append("From ") - .append(senderName) - .append(ChatColor.LIGHT_PURPLE) - .append(": ") - .append(chatMessage) - .toString(); + String receiverMessage = sb.append(ChatColor.LIGHT_PURPLE).append("From ").append(senderName) + .append(ChatColor.LIGHT_PURPLE).append(": ").append(chatMessage).toString(); sb.delete(0, sb.length()); - CivChat2.debugmessage(sb.append("ChatManager.sendPrivateMsg Sender: " ) - .append( senderName) - .append(" receiver: ") - .append( receiverName) - .append( " Message: ") - .append(chatMessage) - .toString()); + CivChat2.debugmessage(sb.append("ChatManager.sendPrivateMsg Sender: ").append(senderName).append(" receiver: ") + .append(receiverName).append(" Message: ").append(chatMessage).toString()); sb.delete(0, sb.length()); if (isPlayerAfk(receiver)) { receiver.sendMessage(receiverMessage); sender.sendMessage(parse(ChatStrings.chatPlayerAfk)); return; - // Player is ignoring the sender - } else if (DBM.isIgnoringPlayer(receiver.getName(), sender.getName())) { + // Player is ignoring the sender + } else if (DBM.isIgnoringPlayer(receiver.getName(), sender.getName())) { sender.sendMessage(parse(ChatStrings.chatPlayerIgnoringYou)); return; } else if (DBM.isIgnoringPlayer(sender.getName(), receiver.getName())) { @@ -180,9 +170,10 @@ public void sendPrivateMsg(Player sender, Player receiver, String chatMessage) { /** * Method to broadcast a message in global chat - * @param sender Player who sent the message + * + * @param sender Player who sent the message * @param chatMessage Message to send - * @param recipients Players in range to receive the message + * @param recipients Players in range to receive the message */ public void broadcastMessage(Player sender, String chatMessage, String messageFormat, Set recipients) { @@ -213,10 +204,7 @@ public void broadcastMessage(Player sender, String chatMessage, String messageFo int above = y - height; int newRange = (int) (range + (range * (scale * above))); range = newRange; - CivChat2.debugmessage(sb.append("New chatrange = [" ) - .append(range) - .append("]") - .toString()); + CivChat2.debugmessage(sb.append("New chatrange = [").append(range).append("]").toString()); sb.delete(0, sb.length()); } @@ -231,11 +219,13 @@ public void broadcastMessage(Player sender, String chatMessage, String messageFo if (receiverDistance <= range) { ChatColor newColor = ChatColor.valueOf(config.getColorAtDistance(receiverDistance)); newColor = newColor != null ? newColor : color; - - String senderName = customNames.containsKey(sender.getUniqueId()) ? customNames.get(sender.getUniqueId()) : sender.getDisplayName(); - - receiver.sendMessage(String.format(messageFormat, newColor + senderName, - newColor + chatMessage)); + + String senderName = customNames.containsKey(sender.getUniqueId()) + ? customNames.get(sender.getUniqueId()) + : sender.getDisplayName(); + + receiver.sendMessage( + String.format(messageFormat, newColor + senderName, newColor + chatMessage)); } } receivers.add(receiver.getName()); @@ -247,6 +237,7 @@ public void broadcastMessage(Player sender, String chatMessage, String messageFo /** * Gets whether a player is AFK + * * @param player The player to check * @return true if the player is AFK */ @@ -259,6 +250,7 @@ public boolean isPlayerAfk(Player player) { /** * Sets the AFK status of a player + * * @param player The player to change * @return The player AFK status */ @@ -276,6 +268,7 @@ public boolean setPlayerAfk(Player player, boolean afkStatus) { /** * Gets the player to send reply to + * * @param sender the person sending reply command * @return the UUID of the person to reply to, null if none */ @@ -288,7 +281,8 @@ public UUID getPlayerReply(Player sender) { /** * Add a player to the replyList - * @param player The player using the reply command. + * + * @param player The player using the reply command. * @param replyPlayer The the player that will receive the reply */ public void addPlayerReply(Player player, Player replyPlayer) { @@ -301,7 +295,8 @@ public void addPlayerReply(Player player, Player replyPlayer) { /** * Method to add a group chat channel - * @param name Player sending the message + * + * @param name Player sending the message * @param group Group sending the message to */ public void addGroupChat(Player player, Group group) { @@ -314,8 +309,9 @@ public void addGroupChat(Player player, Group group) { /** * Method to send a message to a group - * @param name sender sending the message - * @param group Group to send the message too + * + * @param name sender sending the message + * @param group Group to send the message too * @param groupMsg Message to send to the group */ public void sendGroupMsg(Player sender, Group group, String message) { @@ -336,13 +332,14 @@ public void sendGroupMsg(Player sender, Group group, String message) { for (UUID uuid : membersUUID) { // Only add online players to members Player toAdd = Bukkit.getPlayer(uuid); - if (toAdd != null && toAdd.isOnline() && NameAPI.getGroupManager().hasAccess( - group, toAdd.getUniqueId(), PermissionType.getPermission("READ_CHAT"))) { + if (toAdd != null && toAdd.isOnline() && NameAPI.getGroupManager().hasAccess(group, toAdd.getUniqueId(), + PermissionType.getPermission("READ_CHAT"))) { members.add(toAdd); } } - String senderName = customNames.containsKey(sender.getUniqueId()) ? customNames.get(sender.getUniqueId()) : sender.getDisplayName(); + String senderName = customNames.containsKey(sender.getUniqueId()) ? customNames.get(sender.getUniqueId()) + : sender.getDisplayName(); String formatted = parse(ChatStrings.chatGroupMessage, group.getName(), senderName, message); for (Player receiver : members) { @@ -365,6 +362,7 @@ public void sendGroupMsg(Player sender, Group group, String message) { /** * Method to remove player from a group chat + * * @param player The player to remove from chat */ public void removeGroupChat(Player player) { @@ -376,6 +374,7 @@ public void removeGroupChat(Player player) { /** * Method to get the group player is currently chatting in + * * @param name Players name * @return Group they are currently chatting in */ @@ -395,11 +394,11 @@ public String parse(String text, Object... args) { return TextUtil.parse(text, args); } - + public static void removeCustomName(UUID player) { customNames.remove(player); } - + public static void setCustomName(UUID player, String name) { customNames.put(player, name); } diff --git a/src/main/java/vg/civcraft/mc/civchat2/command/ChatCommand.java b/src/main/java/vg/civcraft/mc/civchat2/command/ChatCommand.java index d77a8c2..c2c12bc 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/command/ChatCommand.java +++ b/src/main/java/vg/civcraft/mc/civchat2/command/ChatCommand.java @@ -77,7 +77,7 @@ protected String getRealName(String name) { protected List findPlayers(String pattern) { List players = new ArrayList(); - for (Player p: Bukkit.getOnlinePlayers()) { + for (Player p : Bukkit.getOnlinePlayers()) { if (p.getName().toLowerCase().startsWith(pattern.toLowerCase())) { players.add(p.getName()); } @@ -90,7 +90,7 @@ protected List findGroups(String pattern) { List groupsToReturn = new ArrayList(); GroupManager gm = NameAPI.getGroupManager(); List groups = gm.getAllGroupNames(player().getUniqueId()); - for (String group:groups) { + for (String group : groups) { if (group.toLowerCase().startsWith(pattern.toLowerCase())) { groupsToReturn.add(group); } diff --git a/src/main/java/vg/civcraft/mc/civchat2/command/CivChat2CommandHandler.java b/src/main/java/vg/civcraft/mc/civchat2/command/CivChat2CommandHandler.java index e12d042..685e6da 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/command/CivChat2CommandHandler.java +++ b/src/main/java/vg/civcraft/mc/civchat2/command/CivChat2CommandHandler.java @@ -1,6 +1,6 @@ package vg.civcraft.mc.civchat2.command; -import vg.civcraft.mc.civmodcore.command.CommandHandler; +import vg.civcraft.mc.civchat2.command.commands.Afk; import vg.civcraft.mc.civchat2.command.commands.Exit; import vg.civcraft.mc.civchat2.command.commands.GroupChat; import vg.civcraft.mc.civchat2.command.commands.Ignore; @@ -8,10 +8,11 @@ import vg.civcraft.mc.civchat2.command.commands.IgnoreList; import vg.civcraft.mc.civchat2.command.commands.Reply; import vg.civcraft.mc.civchat2.command.commands.Tell; -import vg.civcraft.mc.civchat2.command.commands.Afk; +import vg.civcraft.mc.civmodcore.command.CommandHandler; public class CivChat2CommandHandler extends CommandHandler { + @Override public void registerCommands() { addCommands(new Tell("tell")); diff --git a/src/main/java/vg/civcraft/mc/civchat2/command/commands/Exit.java b/src/main/java/vg/civcraft/mc/civchat2/command/commands/Exit.java index fbd3d19..f8d4d29 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/command/commands/Exit.java +++ b/src/main/java/vg/civcraft/mc/civchat2/command/commands/Exit.java @@ -1,17 +1,17 @@ package vg.civcraft.mc.civchat2.command.commands; -import org.bukkit.command.CommandSender; +import static vg.civcraft.mc.civchat2.ChatStrings.localChatFormat; +import java.util.HashSet; +import java.util.Set; + +import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; + import vg.civcraft.mc.civchat2.ChatStrings; import vg.civcraft.mc.civchat2.CivChat2; import vg.civcraft.mc.civchat2.command.ChatCommand; -import java.util.HashSet; -import java.util.Set; - -import static vg.civcraft.mc.civchat2.ChatStrings.localChatFormat; - public class Exit extends ChatCommand { public Exit(String name) { @@ -30,8 +30,7 @@ public boolean execute(CommandSender sender, String[] args) { chatMan.removeGroupChat(player()); msg(ChatStrings.chatMovedToGlobal); return true; - } - else { + } else { StringBuilder chatMsg = new StringBuilder(); for (int i = 0; i < args.length; i++) { chatMsg.append(args[i]); diff --git a/src/main/java/vg/civcraft/mc/civchat2/command/commands/GroupChat.java b/src/main/java/vg/civcraft/mc/civchat2/command/commands/GroupChat.java index 8bb8102..f511ba0 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/command/commands/GroupChat.java +++ b/src/main/java/vg/civcraft/mc/civchat2/command/commands/GroupChat.java @@ -56,7 +56,8 @@ public boolean execute(CommandSender sender, String[] args) { msg(ChatStrings.chatGroupNotFound); return true; } - if (!NameAPI.getGroupManager().hasAccess(group, player().getUniqueId(), PermissionType.getPermission("WRITE_CHAT"))) { + if (!NameAPI.getGroupManager().hasAccess(group, player().getUniqueId(), + PermissionType.getPermission("WRITE_CHAT"))) { msg(ChatStrings.chatGroupNoPerms); return true; } diff --git a/src/main/java/vg/civcraft/mc/civchat2/command/commands/Ignore.java b/src/main/java/vg/civcraft/mc/civchat2/command/commands/Ignore.java index ebbf014..86cfc11 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/command/commands/Ignore.java +++ b/src/main/java/vg/civcraft/mc/civchat2/command/commands/Ignore.java @@ -42,7 +42,7 @@ public boolean execute(CommandSender sender, String[] args) { logger.debug(debugMessage); msg(ChatStrings.chatNowIgnoring, ignoreName); return true; - // Player removed from the list + // Player removed from the list } else { DBM.removeIgnoredPlayer(name, ignoreName); String debugMessage = "Player un-ignored another Player, Player: " + name + " IgnoredPlayer: " + ignoreName; diff --git a/src/main/java/vg/civcraft/mc/civchat2/command/commands/IgnoreGroup.java b/src/main/java/vg/civcraft/mc/civchat2/command/commands/IgnoreGroup.java index 1e95714..8389d4b 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/command/commands/IgnoreGroup.java +++ b/src/main/java/vg/civcraft/mc/civchat2/command/commands/IgnoreGroup.java @@ -42,7 +42,7 @@ public boolean execute(CommandSender sender, String[] args) { msg(ChatStrings.chatMovedToGlobal); } return true; - // Player removed from the list + // Player removed from the list } else { DBM.removeIgnoredGroup(name, ignore); String debugMessage = "Player un-ignored Group, Player: " + name + " Group: " + ignore; diff --git a/src/main/java/vg/civcraft/mc/civchat2/command/commands/Reply.java b/src/main/java/vg/civcraft/mc/civchat2/command/commands/Reply.java index f8e0a2e..72287cc 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/command/commands/Reply.java +++ b/src/main/java/vg/civcraft/mc/civchat2/command/commands/Reply.java @@ -49,7 +49,7 @@ public boolean execute(CommandSender sender, String[] args) { if (args.length > 0) { StringBuilder sb = new StringBuilder(); - for (String s: args) { + for (String s : args) { sb.append(s + " "); } chatMan.sendPrivateMsg(player, receiver, sb.toString()); diff --git a/src/main/java/vg/civcraft/mc/civchat2/command/commands/Tell.java b/src/main/java/vg/civcraft/mc/civchat2/command/commands/Tell.java index 8f740f8..337c52c 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/command/commands/Tell.java +++ b/src/main/java/vg/civcraft/mc/civchat2/command/commands/Tell.java @@ -40,7 +40,7 @@ public boolean execute(CommandSender sender, String[] args) { return true; } - if (! (receiver.isOnline())) { + if (!(receiver.isOnline())) { msg(ChatStrings.chatPlayerIsOffline); logger.debug(parse(ChatStrings.chatPlayerIsOffline)); return true; diff --git a/src/main/java/vg/civcraft/mc/civchat2/database/DatabaseManager.java b/src/main/java/vg/civcraft/mc/civchat2/database/DatabaseManager.java index df2eb7b..a315244 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/database/DatabaseManager.java +++ b/src/main/java/vg/civcraft/mc/civchat2/database/DatabaseManager.java @@ -68,11 +68,9 @@ public boolean isValidConnection() { private void executeDatabaseStatements() { - db.execute("create table if not exists PlayersIgnoreList(" - + "player varchar(36) not null," + db.execute("create table if not exists PlayersIgnoreList(" + "player varchar(36) not null," + "ignoredPlayer varchar(36) not null);"); - db.execute("create table if not exists GroupsIgnoreList(" - + "player varchar(36) not null," + db.execute("create table if not exists GroupsIgnoreList(" + "player varchar(36) not null," + "ignoredGroup varchar(255) not null);"); } @@ -128,7 +126,8 @@ public void loadIgnoredPlayersList() { try { ResultSet rs = loadIgnoredPlayersList.executeQuery(); while (rs.next()) { - addIgnoredPlayerToMap(UUID.fromString(rs.getString("player")), UUID.fromString(rs.getString("ignoredPlayer"))); + addIgnoredPlayerToMap(UUID.fromString(rs.getString("player")), + UUID.fromString(rs.getString("ignoredPlayer"))); } } catch (SQLException e) { e.printStackTrace(); @@ -264,7 +263,7 @@ public boolean addIgnoredGroup(UUID playerUUID, String group) { return true; } - public boolean addIgnoredGroup(String player, String group) { + public boolean addIgnoredGroup(String player, String group) { try { return addIgnoredGroup(NameAPI.getUUID(player), group); diff --git a/src/main/java/vg/civcraft/mc/civchat2/event/GlobalChatEvent.java b/src/main/java/vg/civcraft/mc/civchat2/event/GlobalChatEvent.java index 7c4e56d..a2d02a5 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/event/GlobalChatEvent.java +++ b/src/main/java/vg/civcraft/mc/civchat2/event/GlobalChatEvent.java @@ -26,6 +26,7 @@ public GlobalChatEvent(final Player player, final String message, final String f /** * Gets the chat message + * * @return The chat message */ public String getMessage() { @@ -36,12 +37,12 @@ public String getMessage() { @Override public HandlerList getHandlers() { - return handlers; + return handlers; } public static HandlerList getHandlerList() { - return handlers; + return handlers; } @Override @@ -58,6 +59,7 @@ public void setCancelled(boolean cancelled) { /** * Gets the format to use to display this chat message. + * * @return The message format */ public String getFormat() { diff --git a/src/main/java/vg/civcraft/mc/civchat2/event/GroupChatEvent.java b/src/main/java/vg/civcraft/mc/civchat2/event/GroupChatEvent.java index 0f12c00..d62657d 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/event/GroupChatEvent.java +++ b/src/main/java/vg/civcraft/mc/civchat2/event/GroupChatEvent.java @@ -25,6 +25,7 @@ public GroupChatEvent(final Player player, final String groupName, final String /** * Gets the group name + * * @return The group name */ public String getGroup() { @@ -34,6 +35,7 @@ public String getGroup() { /** * Gets the chat message + * * @return The chat message */ public String getMessage() { @@ -44,12 +46,12 @@ public String getMessage() { @Override public HandlerList getHandlers() { - return handlers; + return handlers; } public static HandlerList getHandlerList() { - return handlers; + return handlers; } @Override diff --git a/src/main/java/vg/civcraft/mc/civchat2/event/PrivateMessageEvent.java b/src/main/java/vg/civcraft/mc/civchat2/event/PrivateMessageEvent.java index bf7b683..1722463 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/event/PrivateMessageEvent.java +++ b/src/main/java/vg/civcraft/mc/civchat2/event/PrivateMessageEvent.java @@ -25,6 +25,7 @@ public PrivateMessageEvent(final Player player, final Player receiver, final Str /** * Gets the message receiver + * * @return The message receiver */ public Player getReceiver() { @@ -34,6 +35,7 @@ public Player getReceiver() { /** * Gets the chat message + * * @return The chat message */ public String getMessage() { @@ -44,12 +46,12 @@ public String getMessage() { @Override public HandlerList getHandlers() { - return handlers; + return handlers; } public static HandlerList getHandlerList() { - return handlers; + return handlers; } @Override diff --git a/src/main/java/vg/civcraft/mc/civchat2/listeners/CivChat2Listener.java b/src/main/java/vg/civcraft/mc/civchat2/listeners/CivChat2Listener.java index ddb6ff1..0e5f45e 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/listeners/CivChat2Listener.java +++ b/src/main/java/vg/civcraft/mc/civchat2/listeners/CivChat2Listener.java @@ -68,18 +68,21 @@ public void onPlayerKick(PlayerKickEvent playerKickEvent) { public void PlayerChatEvent(final AsyncPlayerChatEvent asyncPlayerChatEvent) { asyncPlayerChatEvent.setCancelled(true); - // This needs to be done sync to avoid a rare deadlock due to minecraft internals + // This needs to be done sync to avoid a rare deadlock due to minecraft + // internals new BukkitRunnable() { - @Override - public void run() { + @Override + public void run() { String chatMessage = asyncPlayerChatEvent.getMessage(); Player sender = asyncPlayerChatEvent.getPlayer(); UUID chatChannel = chatman.getChannel(sender); Group groupChat = chatman.getGroupChatting(sender); - CivChat2.debugmessage(String.format("ChatEvent properties: chatMessage =[ %s ], sender = [ %s ], chatChannel = [ %s ], groupchatting = [ %s ];", chatMessage, sender.getName(), chatChannel, groupChat)); + CivChat2.debugmessage(String.format( + "ChatEvent properties: chatMessage =[ %s ], sender = [ %s ], chatChannel = [ %s ], groupchatting = [ %s ];", + chatMessage, sender.getName(), chatChannel, groupChat)); if (chatChannel != null) { StringBuilder sb = new StringBuilder(); Player receiver = Bukkit.getPlayer(chatChannel); @@ -90,8 +93,8 @@ public void run() { } else { chatman.removeChannel(sender); String offlineMessage = sb.append(ChatColor.GOLD) - .append( "The player you were chatting with has gone offline,") - .append(" you have been moved to regular chat").toString(); + .append("The player you were chatting with has gone offline,") + .append(" you have been moved to regular chat").toString(); sb.delete(0, sb.length()); sender.sendMessage(offlineMessage); return; @@ -99,18 +102,21 @@ public void run() { } if (groupChat != null) { // Player is group chatting - if (NameAPI.getGroupManager().hasAccess(groupChat, sender.getUniqueId(), PermissionType.getPermission("WRITE_CHAT"))) { + if (NameAPI.getGroupManager().hasAccess(groupChat, sender.getUniqueId(), + PermissionType.getPermission("WRITE_CHAT"))) { chatman.sendGroupMsg(sender, groupChat, chatMessage); return; - // Player lost perm to write in the chat + // Player lost perm to write in the chat } else { chatman.removeGroupChat(sender); - sender.sendMessage(ChatColor.RED + "You have been removed from groupchat because you were removed from the group or lost the permission required to groupchat"); + sender.sendMessage(ChatColor.RED + + "You have been removed from groupchat because you were removed from the group or lost the permission required to groupchat"); } } CivChat2.debugmessage("PlayerChatEvent calling chatman.broadcastMessage()"); - chatman.broadcastMessage(sender, chatMessage, asyncPlayerChatEvent.getFormat(), asyncPlayerChatEvent.getRecipients()); - } + chatman.broadcastMessage(sender, chatMessage, asyncPlayerChatEvent.getFormat(), + asyncPlayerChatEvent.getRecipients()); + } }.runTask(CivChat2.getInstance()); } } diff --git a/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Config.java b/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Config.java index cf9199e..d98dcb4 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Config.java +++ b/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Config.java @@ -1,10 +1,11 @@ package vg.civcraft.mc.civchat2.utility; -import org.bukkit.configuration.file.FileConfiguration; -import org.bukkit.configuration.ConfigurationSection; import java.util.Map; import java.util.TreeMap; +import org.bukkit.configuration.ConfigurationSection; +import org.bukkit.configuration.file.FileConfiguration; + public class CivChat2Config { private static FileConfiguration config; diff --git a/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Executor.java b/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Executor.java index c1337f9..9027067 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Executor.java +++ b/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Executor.java @@ -24,6 +24,7 @@ public CivChat2Executor(CivChat2 instance) { this.logger = CivChat2.getCivChat2Log(); } + @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { ChatColor sayChat = ChatColor.valueOf(config.getOpChatColor()); diff --git a/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2FileLogger.java b/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2FileLogger.java index 6b3d3fd..1687f87 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2FileLogger.java +++ b/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2FileLogger.java @@ -21,9 +21,9 @@ public void logGlobalMessage(Player sender, String message, Set recivers String reciversNames = getPlayersNames(recivers); Location playerLocation = sender.getLocation(); String messageToLog = String.format( - "Sender: [%s], Message: [%s], Location: [%d, %d, %d], Channel: [GLOBAL], Recivers: [%s]", - sender.getName(), message, playerLocation.getBlockX(), playerLocation.getBlockY(), - playerLocation.getBlockZ(), reciversNames); + "Sender: [%s], Message: [%s], Location: [%d, %d, %d], Channel: [GLOBAL], Recivers: [%s]", + sender.getName(), message, playerLocation.getBlockX(), playerLocation.getBlockY(), + playerLocation.getBlockZ(), reciversNames); logger.info(messageToLog); } @@ -31,9 +31,9 @@ public void logPrivateMessage(Player sender, String message, String reciverName) Location playerLocation = sender.getLocation(); String messageToLog = String.format( - "Sender: [%s], Message: [%s], Location: [%d, %d, %d], Channel: [PRIVATE], Reciver: [%s]", - sender.getName(), message, playerLocation.getBlockX(), playerLocation.getBlockY(), - playerLocation.getBlockZ(), reciverName); + "Sender: [%s], Message: [%s], Location: [%d, %d, %d], Channel: [PRIVATE], Reciver: [%s]", + sender.getName(), message, playerLocation.getBlockX(), playerLocation.getBlockY(), + playerLocation.getBlockZ(), reciverName); logger.info(messageToLog); } @@ -42,9 +42,9 @@ public void logGroupMessage(Player sender, String message, String groupName, Set String reciversNames = getPlayersNames(recivers); Location playerLocation = sender.getLocation(); String messageToLog = String.format( - "Sender: [%s], Message: [%s], Location: [%d, %d, %d], Channel: [GROUP], GroupName: [%s], Recivers: [%s]", - sender.getName(), message, playerLocation.getBlockX(), playerLocation.getBlockY(), - playerLocation.getBlockZ(), groupName, reciversNames); + "Sender: [%s], Message: [%s], Location: [%d, %d, %d], Channel: [GROUP], GroupName: [%s], Recivers: [%s]", + sender.getName(), message, playerLocation.getBlockX(), playerLocation.getBlockY(), + playerLocation.getBlockZ(), groupName, reciversNames); logger.info(messageToLog); } From a8c8d4640e34d2bcf314fcb3e000f2579a6c32ba Mon Sep 17 00:00:00 2001 From: Maxopoly Date: Sat, 27 Apr 2019 22:23:41 +0200 Subject: [PATCH 7/7] Update to 1.13 --- pom.xml | 2 +- .../vg/civcraft/mc/civchat2/CivChat2.java | 127 ++++-------------- .../civcraft/mc/civchat2/CivChat2Manager.java | 70 +++++----- .../mc/civchat2/command/ChatCommand.java | 100 -------------- .../command/CivChat2CommandHandler.java | 27 ---- .../mc/civchat2/command/commands/Afk.java | 34 ----- .../mc/civchat2/command/commands/Exit.java | 44 ------ .../civchat2/command/commands/GroupChat.java | 124 ----------------- .../mc/civchat2/command/commands/Ignore.java | 63 --------- .../command/commands/IgnoreGroup.java | 63 --------- .../mc/civchat2/command/commands/Reply.java | 67 --------- .../mc/civchat2/command/commands/Tell.java | 88 ------------ .../vg/civcraft/mc/civchat2/commands/Afk.java | 33 +++++ .../civcraft/mc/civchat2/commands/Exit.java | 46 +++++++ .../mc/civchat2/commands/GroupChat.java | 119 ++++++++++++++++ .../civcraft/mc/civchat2/commands/Ignore.java | 48 +++++++ .../mc/civchat2/commands/IgnoreGroup.java | 55 ++++++++ .../{command => }/commands/IgnoreList.java | 47 +++---- .../civcraft/mc/civchat2/commands/Reply.java | 60 +++++++++ .../civcraft/mc/civchat2/commands/Tell.java | 82 +++++++++++ .../{DatabaseManager.java => CivChatDAO.java} | 85 +----------- .../civchat2/listeners/CivChat2Listener.java | 15 +-- .../mc/civchat2/utility/CivChat2Config.java | 26 +--- .../mc/civchat2/utility/CivChat2Executor.java | 2 +- .../mc/civchat2/utility/CivChat2Log.java | 3 +- src/main/resources/plugin.yml | 99 +++++++++++--- 26 files changed, 618 insertions(+), 911 deletions(-) delete mode 100644 src/main/java/vg/civcraft/mc/civchat2/command/ChatCommand.java delete mode 100644 src/main/java/vg/civcraft/mc/civchat2/command/CivChat2CommandHandler.java delete mode 100644 src/main/java/vg/civcraft/mc/civchat2/command/commands/Afk.java delete mode 100644 src/main/java/vg/civcraft/mc/civchat2/command/commands/Exit.java delete mode 100644 src/main/java/vg/civcraft/mc/civchat2/command/commands/GroupChat.java delete mode 100644 src/main/java/vg/civcraft/mc/civchat2/command/commands/Ignore.java delete mode 100644 src/main/java/vg/civcraft/mc/civchat2/command/commands/IgnoreGroup.java delete mode 100644 src/main/java/vg/civcraft/mc/civchat2/command/commands/Reply.java delete mode 100644 src/main/java/vg/civcraft/mc/civchat2/command/commands/Tell.java create mode 100644 src/main/java/vg/civcraft/mc/civchat2/commands/Afk.java create mode 100644 src/main/java/vg/civcraft/mc/civchat2/commands/Exit.java create mode 100644 src/main/java/vg/civcraft/mc/civchat2/commands/GroupChat.java create mode 100644 src/main/java/vg/civcraft/mc/civchat2/commands/Ignore.java create mode 100644 src/main/java/vg/civcraft/mc/civchat2/commands/IgnoreGroup.java rename src/main/java/vg/civcraft/mc/civchat2/{command => }/commands/IgnoreList.java (50%) create mode 100644 src/main/java/vg/civcraft/mc/civchat2/commands/Reply.java create mode 100644 src/main/java/vg/civcraft/mc/civchat2/commands/Tell.java rename src/main/java/vg/civcraft/mc/civchat2/database/{DatabaseManager.java => CivChatDAO.java} (76%) diff --git a/pom.xml b/pom.xml index f300787..5a911c6 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ vg.civcraft.mc.civchat2 CivChat2 jar - 1.6.0 + 1.7.0 CivChat2 https://github.com/DevotedMC/CivChat2 diff --git a/src/main/java/vg/civcraft/mc/civchat2/CivChat2.java b/src/main/java/vg/civcraft/mc/civchat2/CivChat2.java index 5febc58..9335ac8 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/CivChat2.java +++ b/src/main/java/vg/civcraft/mc/civchat2/CivChat2.java @@ -1,21 +1,13 @@ package vg.civcraft.mc.civchat2; -import java.io.File; import java.util.LinkedList; -import java.util.List; -import org.bukkit.command.Command; -import org.bukkit.command.CommandSender; - -import vg.civcraft.mc.civchat2.command.CivChat2CommandHandler; -import vg.civcraft.mc.civchat2.database.DatabaseManager; +import vg.civcraft.mc.civchat2.database.CivChatDAO; import vg.civcraft.mc.civchat2.listeners.CivChat2Listener; import vg.civcraft.mc.civchat2.utility.CivChat2Config; import vg.civcraft.mc.civchat2.utility.CivChat2FileLogger; import vg.civcraft.mc.civchat2.utility.CivChat2Log; -import vg.civcraft.mc.civchat2.CivChat2Manager; import vg.civcraft.mc.civmodcore.ACivMod; -import vg.civcraft.mc.civmodcore.command.CommandHandler; import vg.civcraft.mc.namelayer.GroupManager.PlayerType; import vg.civcraft.mc.namelayer.permission.PermissionType; @@ -27,80 +19,49 @@ public class CivChat2 extends ACivMod { private static CivChat2 instance; - private static CivChat2Log log_; - - private static boolean groupsEnabled; - - private static CivChat2Config config_; - - private static CivChat2Manager chatMan; - + private CivChat2Log log; + private CivChat2Config config; + private CivChat2Manager chatMan; private CivChat2Listener chatListener; - private CivChat2FileLogger fileLog; + private CivChatDAO databaseManager; - private DatabaseManager DBM; - + @Override public void onEnable() { - - // onEnable stuff - StringBuilder sb = new StringBuilder(); + super.onEnable(); instance = this; - config_ = new CivChat2Config(); - config_.setConfigOptions(getConfig()); - if (!new File(sb.append(this.getDataFolder()).append("config.yml").toString()).exists()) { - // config.yml does not exist, save the default - this.saveDefaultConfig(); - } - sb.delete(0, sb.length()); - config_.getDebug(); - log_ = new CivChat2Log(); - log_.initializeLogger(instance); + saveDefaultConfig(); + reloadConfig(); + config = new CivChat2Config(getConfig()); + log = new CivChat2Log(); + log.initializeLogger(instance); fileLog = new CivChat2FileLogger(); - DBM = new DatabaseManager(); + databaseManager = new CivChatDAO(); chatMan = new CivChat2Manager(instance); - groupsEnabled = config_.getGroupsEnabled(); - log_.info(sb.append("groupsEnabled is set to: ") - .append(groupsEnabled) - .toString()); - sb.delete(0, sb.length()); - log_.debug("Debug Enabled"); - handle = new CivChat2CommandHandler(); - handle.registerCommands(); - + log.debug("Debug Enabled"); chatListener = new CivChat2Listener(chatMan); registerNameLayerPermissions(); - registerEvents(); + registerCivChatEvents(); } + @Override public void onDisable() { - - // onDisable stuff } public CivChat2Manager getCivChat2Manager() { - - return CivChat2.chatMan; + return chatMan; } - public static boolean debugEnabled() { - - return config_.getDebug(); + public boolean debugEnabled() { + return config.getDebug(); } - public static void debugmessage(String msg) { - - log_.debug(msg); + public CivChat2Log getCivChat2Log() { + return log; } - public static CivChat2Log getCivChat2Log() { - - return log_; - } - - public void registerEvents() { - - getServer().getPluginManager().registerEvents(chatListener, instance); + private void registerCivChatEvents() { + getServer().getPluginManager().registerEvents(chatListener, this); } @SuppressWarnings("unchecked") @@ -115,60 +76,24 @@ public void registerNameLayerPermissions() { PermissionType.registerPermission("WRITE_CHAT", (LinkedList) memberAndAbove.clone()); } - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - - return handle.execute(sender, cmd, args); - } - - public CommandHandler getCivChat2CommandHandler() { - - return handle; - } - - public static void warningMessage(String errorMsg) { - - log_.warning(errorMsg); - } - - public static void infoMessage(String infoMsg) { - - log_.info(infoMsg); - } - public static CivChat2 getInstance() { - return instance; } - public static void severeMessage(String severeMsg) { - - log_.severe(severeMsg); - } - public CivChat2Config getPluginConfig() { - - return config_; + return config; } public CivChat2FileLogger getCivChat2FileLogger() { - return fileLog; } - public DatabaseManager getDatabaseManager() { - - return this.DBM; + public CivChatDAO getDatabaseManager() { + return this.databaseManager; } @Override protected String getPluginName() { - return "CivChat2"; } - - @Override - public List onTabComplete(CommandSender sender, Command cmd, String alias, String[] args) { - - return handle == null ? null : handle.complete(sender, cmd, args); - } } diff --git a/src/main/java/vg/civcraft/mc/civchat2/CivChat2Manager.java b/src/main/java/vg/civcraft/mc/civchat2/CivChat2Manager.java index 3c72e9d..d8a9a7a 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/CivChat2Manager.java +++ b/src/main/java/vg/civcraft/mc/civchat2/CivChat2Manager.java @@ -13,7 +13,7 @@ import org.bukkit.Location; import org.bukkit.entity.Player; -import vg.civcraft.mc.civchat2.database.DatabaseManager; +import vg.civcraft.mc.civchat2.database.CivChatDAO; import vg.civcraft.mc.civchat2.event.GlobalChatEvent; import vg.civcraft.mc.civchat2.event.GroupChatEvent; import vg.civcraft.mc.civchat2.event.PrivateMessageEvent; @@ -34,7 +34,7 @@ public class CivChat2Manager { private CivChat2 instance; - private DatabaseManager DBM; + private CivChatDAO DBM; // chatChannels in hashmap with (Player 1 name, player 2 name) private HashMap chatChannels; @@ -51,7 +51,7 @@ public class CivChat2Manager { private String defaultColor; - private static Map customNames = new HashMap(); + private static Map customNames = new HashMap<>(); public CivChat2Manager(CivChat2 pluginInstance) { @@ -60,10 +60,10 @@ public CivChat2Manager(CivChat2 pluginInstance) { chatLog = instance.getCivChat2FileLogger(); DBM = instance.getDatabaseManager(); defaultColor = config.getDefaultColor(); - chatChannels = new HashMap(); - groupChatChannels = new HashMap(); - replyList = new HashMap(); - afkPlayers = new HashSet(); + chatChannels = new HashMap<>(); + groupChatChannels = new HashMap<>(); + replyList = new HashMap<>(); + afkPlayers = new HashSet<>(); } /** @@ -106,10 +106,8 @@ public void addChatChannel(Player player1, Player player2) { if (getChannel(player1) != null) { chatChannels.put(player1.getUniqueId(), player2.getUniqueId()); - CivChat2.debugmessage("addChatChannel adding channel for P1: " + player1 + " P2: " + player2); } else { chatChannels.put(player1.getUniqueId(), player2.getUniqueId()); - CivChat2.debugmessage("addChatChannel adding channel for P1: " + player1 + " P2: " + player2); } } @@ -128,9 +126,7 @@ public void sendPrivateMsg(Player sender, Player receiver, String chatMessage) { if (event.isCancelled()) { return; } - StringBuilder sb = new StringBuilder(); - String senderName = customNames.containsKey(sender.getUniqueId()) ? customNames.get(sender.getUniqueId()) : sender.getDisplayName(); String receiverName = customNames.containsKey(receiver.getUniqueId()) ? customNames.get(receiver.getUniqueId()) @@ -138,29 +134,22 @@ public void sendPrivateMsg(Player sender, Player receiver, String chatMessage) { String senderMessage = sb.append(ChatColor.LIGHT_PURPLE).append("To ").append(receiverName) .append(ChatColor.LIGHT_PURPLE).append(": ").append(chatMessage).toString(); - sb.delete(0, sb.length()); - + sb = new StringBuilder(); String receiverMessage = sb.append(ChatColor.LIGHT_PURPLE).append("From ").append(senderName) .append(ChatColor.LIGHT_PURPLE).append(": ").append(chatMessage).toString(); - sb.delete(0, sb.length()); - - CivChat2.debugmessage(sb.append("ChatManager.sendPrivateMsg Sender: ").append(senderName).append(" receiver: ") - .append(receiverName).append(" Message: ").append(chatMessage).toString()); - sb.delete(0, sb.length()); if (isPlayerAfk(receiver)) { receiver.sendMessage(receiverMessage); sender.sendMessage(parse(ChatStrings.chatPlayerAfk)); return; // Player is ignoring the sender - } else if (DBM.isIgnoringPlayer(receiver.getName(), sender.getName())) { + } else if (DBM.isIgnoringPlayer(receiver.getUniqueId(), sender.getUniqueId())) { sender.sendMessage(parse(ChatStrings.chatPlayerIgnoringYou)); return; - } else if (DBM.isIgnoringPlayer(sender.getName(), receiver.getName())) { + } else if (DBM.isIgnoringPlayer(sender.getUniqueId(), receiver.getUniqueId())) { sender.sendMessage(parse(ChatStrings.chatNeedToUnignore, receiverName)); return; } - CivChat2.debugmessage("Sending private chat message"); chatLog.logPrivateMessage(sender, chatMessage, receiver.getName()); replyList.put(receiver.getUniqueId(), sender.getUniqueId()); replyList.put(sender.getUniqueId(), receiver.getUniqueId()); @@ -200,17 +189,15 @@ public void broadcastMessage(Player sender, String chatMessage, String messageFo // Do height check // Player is above chat increase range if (y > height) { - CivChat2.debugmessage("Player is above Y chat increase range"); int above = y - height; int newRange = (int) (range + (range * (scale * above))); range = newRange; - CivChat2.debugmessage(sb.append("New chatrange = [").append(range).append("]").toString()); sb.delete(0, sb.length()); } ChatColor color = ChatColor.valueOf(defaultColor); - Set receivers = new HashSet(); + Set receivers = new HashSet<>(); // Loop through players and send to those that are close enough for (Player receiver : recipients) { if (!DBM.isIgnoringPlayer(receiver.getUniqueId(), sender.getUniqueId())) { @@ -242,9 +229,7 @@ public void broadcastMessage(Player sender, String chatMessage, String messageFo * @return true if the player is AFK */ public boolean isPlayerAfk(Player player) { - Guard.ArgumentNotNull(player, "player"); - return afkPlayers.contains(player.getUniqueId()); } @@ -255,7 +240,6 @@ public boolean isPlayerAfk(Player player) { * @return The player AFK status */ public boolean setPlayerAfk(Player player, boolean afkStatus) { - Guard.ArgumentNotNull(player, "player"); if (afkStatus) { @@ -266,6 +250,22 @@ public boolean setPlayerAfk(Player player, boolean afkStatus) { return afkStatus; } + /** + * Toggles the AFK status of a player + * + * @param player Player to toggle state for + * @return Whether afk is turned on afterwards + */ + public boolean togglePlayerAfk(Player player) { + Guard.ArgumentNotNull(player, "player"); + if (afkPlayers.contains(player.getUniqueId())) { + afkPlayers.remove(player.getUniqueId()); + return false; + } + afkPlayers.add(player.getUniqueId()); + return true; + } + /** * Gets the player to send reply to * @@ -273,9 +273,7 @@ public boolean setPlayerAfk(Player player, boolean afkStatus) { * @return the UUID of the person to reply to, null if none */ public UUID getPlayerReply(Player sender) { - Guard.ArgumentNotNull(sender, "sender"); - return replyList.get(sender.getUniqueId()); } @@ -327,7 +325,7 @@ public void sendGroupMsg(Player sender, Group group, String message) { return; } - List members = new ArrayList(); + List members = new ArrayList<>(); List membersUUID = group.getAllMembers(); for (UUID uuid : membersUUID) { // Only add online players to members @@ -346,13 +344,13 @@ public void sendGroupMsg(Player sender, Group group, String message) { if (DBM.isIgnoringGroup(receiver.getUniqueId(), group.getName())) { continue; } - if (DBM.isIgnoringPlayer(receiver.getName(), senderName)) { + if (DBM.isIgnoringPlayer(receiver.getUniqueId(), sender.getUniqueId())) { continue; } receiver.sendMessage(formatted); } - Set players = new HashSet(); + Set players = new HashSet<>(); for (UUID uuid : membersUUID) { players.add(NameAPI.getCurrentName(uuid)); } @@ -394,12 +392,4 @@ public String parse(String text, Object... args) { return TextUtil.parse(text, args); } - - public static void removeCustomName(UUID player) { - customNames.remove(player); - } - - public static void setCustomName(UUID player, String name) { - customNames.put(player, name); - } } diff --git a/src/main/java/vg/civcraft/mc/civchat2/command/ChatCommand.java b/src/main/java/vg/civcraft/mc/civchat2/command/ChatCommand.java deleted file mode 100644 index c2c12bc..0000000 --- a/src/main/java/vg/civcraft/mc/civchat2/command/ChatCommand.java +++ /dev/null @@ -1,100 +0,0 @@ -package vg.civcraft.mc.civchat2.command; - -import java.util.ArrayList; -import java.util.List; - -import org.bukkit.Bukkit; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import vg.civcraft.mc.civchat2.CivChat2; -import vg.civcraft.mc.civchat2.CivChat2Manager; -import vg.civcraft.mc.civchat2.database.DatabaseManager; -import vg.civcraft.mc.civchat2.utility.CivChat2Log; -import vg.civcraft.mc.civmodcore.command.PlayerCommand; -import vg.civcraft.mc.namelayer.GroupManager; -import vg.civcraft.mc.namelayer.NameAPI; -import vg.civcraft.mc.namelayer.group.Group; - -public abstract class ChatCommand extends PlayerCommand { - - protected CivChat2 plugin = CivChat2.getInstance(); - - protected CivChat2Manager chatMan = plugin.getCivChat2Manager(); - - protected CivChat2Log logger = CivChat2.getCivChat2Log(); - - protected DatabaseManager DBM = plugin.getDatabaseManager(); - - public ChatCommand(String name) { - - super(name); - setArguments(0, 0); - } - - @Override - public List tabComplete(CommandSender arg0, String[] arg1) { - - return null; - } - - protected Player argAsPlayer(int index) { - - try { - return Bukkit.getPlayer(NameAPI.getUUID(getArgs()[index].trim())); - } catch (Exception ex) { - return null; - } - } - - protected Group argAsGroup(int index) { - - try { - return GroupManager.getGroup(getArgs()[index].trim()); - } catch (Exception ex) { - return null; - } - } - - protected String getRealName(Player player) { - - try { - return NameAPI.getCurrentName(player.getUniqueId()); - } catch (Exception ex) { - return null; - } - } - - protected String getRealName(String name) { - - try { - return NameAPI.getCurrentName(NameAPI.getUUID(name)); - } catch (Exception ex) { - return null; - } - } - - protected List findPlayers(String pattern) { - - List players = new ArrayList(); - for (Player p : Bukkit.getOnlinePlayers()) { - if (p.getName().toLowerCase().startsWith(pattern.toLowerCase())) { - players.add(p.getName()); - } - } - return players; - } - - protected List findGroups(String pattern) { - - List groupsToReturn = new ArrayList(); - GroupManager gm = NameAPI.getGroupManager(); - List groups = gm.getAllGroupNames(player().getUniqueId()); - for (String group : groups) { - if (group.toLowerCase().startsWith(pattern.toLowerCase())) { - groupsToReturn.add(group); - } - } - return groupsToReturn; - } -} diff --git a/src/main/java/vg/civcraft/mc/civchat2/command/CivChat2CommandHandler.java b/src/main/java/vg/civcraft/mc/civchat2/command/CivChat2CommandHandler.java deleted file mode 100644 index 685e6da..0000000 --- a/src/main/java/vg/civcraft/mc/civchat2/command/CivChat2CommandHandler.java +++ /dev/null @@ -1,27 +0,0 @@ -package vg.civcraft.mc.civchat2.command; - -import vg.civcraft.mc.civchat2.command.commands.Afk; -import vg.civcraft.mc.civchat2.command.commands.Exit; -import vg.civcraft.mc.civchat2.command.commands.GroupChat; -import vg.civcraft.mc.civchat2.command.commands.Ignore; -import vg.civcraft.mc.civchat2.command.commands.IgnoreGroup; -import vg.civcraft.mc.civchat2.command.commands.IgnoreList; -import vg.civcraft.mc.civchat2.command.commands.Reply; -import vg.civcraft.mc.civchat2.command.commands.Tell; -import vg.civcraft.mc.civmodcore.command.CommandHandler; - -public class CivChat2CommandHandler extends CommandHandler { - - @Override - public void registerCommands() { - - addCommands(new Tell("tell")); - addCommands(new Afk("afk")); - addCommands(new Reply("reply")); - addCommands(new GroupChat("groupc")); - addCommands(new Ignore("ignore")); - addCommands(new IgnoreGroup("ignoregroup")); - addCommands(new IgnoreList("ignorelist")); - addCommands(new Exit("exit")); - } -} diff --git a/src/main/java/vg/civcraft/mc/civchat2/command/commands/Afk.java b/src/main/java/vg/civcraft/mc/civchat2/command/commands/Afk.java deleted file mode 100644 index 0ffa842..0000000 --- a/src/main/java/vg/civcraft/mc/civchat2/command/commands/Afk.java +++ /dev/null @@ -1,34 +0,0 @@ -package vg.civcraft.mc.civchat2.command.commands; - -import org.bukkit.command.CommandSender; - -import vg.civcraft.mc.civchat2.ChatStrings; -import vg.civcraft.mc.civchat2.command.ChatCommand; - -public class Afk extends ChatCommand { - - public Afk(String name) { - - super(name); - setIdentifier("afk"); - setDescription("Sets your afk status."); - setUsage("/afk"); - setErrorOnTooManyArgs(false); - setSenderMustBePlayer(true); - } - - @Override - public boolean execute(CommandSender sender, String[] args) { - - Boolean isAfk = chatMan.setPlayerAfk(player(), !chatMan.isPlayerAfk(player())); - - if (isAfk) { - msg(ChatStrings.chatAfk); - } else { - msg(ChatStrings.chatNotAfk); - } - logger.debug(String.format("Player %s changed afk status to %s.", getRealName(player()), isAfk.toString())); - - return true; - } -} diff --git a/src/main/java/vg/civcraft/mc/civchat2/command/commands/Exit.java b/src/main/java/vg/civcraft/mc/civchat2/command/commands/Exit.java deleted file mode 100644 index f8d4d29..0000000 --- a/src/main/java/vg/civcraft/mc/civchat2/command/commands/Exit.java +++ /dev/null @@ -1,44 +0,0 @@ -package vg.civcraft.mc.civchat2.command.commands; - -import static vg.civcraft.mc.civchat2.ChatStrings.localChatFormat; - -import java.util.HashSet; -import java.util.Set; - -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import vg.civcraft.mc.civchat2.ChatStrings; -import vg.civcraft.mc.civchat2.CivChat2; -import vg.civcraft.mc.civchat2.command.ChatCommand; - -public class Exit extends ChatCommand { - - public Exit(String name) { - super(name); - setIdentifier("exit"); - setDescription("Moves to global chat"); - setUsage("/exit "); - setErrorOnTooManyArgs(false); - setSenderMustBePlayer(true); - } - - @Override - public boolean execute(CommandSender sender, String[] args) { - if (args.length == 0) { - chatMan.removeChannel(player()); - chatMan.removeGroupChat(player()); - msg(ChatStrings.chatMovedToGlobal); - return true; - } else { - StringBuilder chatMsg = new StringBuilder(); - for (int i = 0; i < args.length; i++) { - chatMsg.append(args[i]); - chatMsg.append(" "); - } - Set players = new HashSet<>(CivChat2.getInstance().getServer().getOnlinePlayers()); - chatMan.broadcastMessage(player(), chatMsg.toString(), localChatFormat, players); - return true; - } - } -} diff --git a/src/main/java/vg/civcraft/mc/civchat2/command/commands/GroupChat.java b/src/main/java/vg/civcraft/mc/civchat2/command/commands/GroupChat.java deleted file mode 100644 index f511ba0..0000000 --- a/src/main/java/vg/civcraft/mc/civchat2/command/commands/GroupChat.java +++ /dev/null @@ -1,124 +0,0 @@ -package vg.civcraft.mc.civchat2.command.commands; - -import java.util.List; - -import org.bukkit.command.CommandSender; - -import vg.civcraft.mc.civchat2.ChatStrings; -import vg.civcraft.mc.civchat2.command.ChatCommand; -import vg.civcraft.mc.namelayer.GroupManager; -import vg.civcraft.mc.namelayer.NameAPI; -import vg.civcraft.mc.namelayer.group.Group; -import vg.civcraft.mc.namelayer.permission.PermissionType; - -public class GroupChat extends ChatCommand { - - public GroupChat(String name) { - - super(name); - setIdentifier("groupc"); - setDescription("Joins a group chat"); - setUsage("/groupc "); - setErrorOnTooManyArgs(false); - setSenderMustBePlayer(true); - } - - @Override - public boolean execute(CommandSender sender, String[] args) { - - GroupManager gm = NameAPI.getGroupManager(); - boolean isGroupChatting = true; - logger.debug("chatMan = [" + chatMan.toString() + "]"); - if (chatMan.getGroupChatting(player()) == null) { - isGroupChatting = false; - } - Group group; - boolean defGroup = false; - if (args.length < 1) { - // Check if player is in groupchat and move them to normal chat - if (isGroupChatting) { - msg(ChatStrings.chatMovedToGlobal); - chatMan.removeGroupChat(player()); - return true; - } else { - String grpName = gm.getDefaultGroup(player().getUniqueId()); - if (grpName != null) { - group = GroupManager.getGroup(grpName); - defGroup = true; - } else { - return false; - } - } - } else { - group = argAsGroup(0); - } - if (group == null) { - msg(ChatStrings.chatGroupNotFound); - return true; - } - if (!NameAPI.getGroupManager().hasAccess(group, player().getUniqueId(), - PermissionType.getPermission("WRITE_CHAT"))) { - msg(ChatStrings.chatGroupNoPerms); - return true; - } - if (plugin.getDatabaseManager().isIgnoringGroup(sender.getName(), group.getName())) { - msg(ChatStrings.chatNeedToUnignore, group.getName()); - return true; - } - if (args.length == 1) { - if (isGroupChatting) { - // Player already groupchatting check if it's this group - Group curGroup = chatMan.getGroupChatting(player()); - if (curGroup == group) { - msg(ChatStrings.chatGroupAlreadyChatting); - return true; - } else { - msg(ChatStrings.chatGroupNowChattingIn, group.getName()); - chatMan.removeGroupChat(player()); - chatMan.addGroupChat(player(), group); - return true; - } - } else { - msg(ChatStrings.chatGroupNowChattingIn, group.getName()); - if (chatMan.getChannel(player()) != null) { - chatMan.removeChannel(player()); - } - chatMan.addGroupChat(player(), group); - return true; - } - } else if (args.length > 1) { - StringBuilder chatMsg = new StringBuilder(); - for (int i = defGroup ? 0 : 1; i < args.length; i++) { - chatMsg.append(args[i]); - chatMsg.append(" "); - } - if (isGroupChatting) { - // Player already groupchatting check if it's this group - Group curGroup = chatMan.getGroupChatting(player()); - if (curGroup == group) { - chatMan.sendGroupMsg(player(), group, chatMsg.toString()); - return true; - } else { - chatMan.sendGroupMsg(player(), group, chatMsg.toString()); - return true; - } - } else { - if (chatMan.getChannel(player()) != null) { - chatMan.removeChannel(player()); - } - chatMan.sendGroupMsg(player(), group, chatMsg.toString()); - return true; - } - } - return false; - } - - @Override - public List tabComplete(CommandSender arg0, String[] arg1) { - - if (arg1.length == 0) { - return null; - } - return findGroups(arg1[0]); - } -} diff --git a/src/main/java/vg/civcraft/mc/civchat2/command/commands/Ignore.java b/src/main/java/vg/civcraft/mc/civchat2/command/commands/Ignore.java deleted file mode 100644 index 86cfc11..0000000 --- a/src/main/java/vg/civcraft/mc/civchat2/command/commands/Ignore.java +++ /dev/null @@ -1,63 +0,0 @@ -package vg.civcraft.mc.civchat2.command.commands; - -import java.util.List; - -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import vg.civcraft.mc.civchat2.ChatStrings; -import vg.civcraft.mc.civchat2.command.ChatCommand; - -public class Ignore extends ChatCommand { - - public Ignore(String name) { - - super(name); - setIdentifier("ignore"); - setDescription("Toggles ignoring a player"); - setUsage("/ignore "); - setArguments(1, 1); - setSenderMustBePlayer(true); - } - - @Override - public boolean execute(CommandSender sender, String[] args) { - - Player ignore = argAsPlayer(0); - if (ignore == null) { - msg(ChatStrings.chatPlayerNotFound); - return true; - } - - String ignoreName = getRealName(ignore); - String name = getRealName(player()); - if (ignoreName == name) { - msg(ChatStrings.chatCantIgnoreSelf); - return true; - } - // Player added to the list - if (!DBM.isIgnoringPlayer(name, ignoreName)) { - DBM.addIgnoredPlayer(name, ignoreName); - String debugMessage = "Player ignored another Player, Player: " + name + " IgnoredPlayer: " + ignoreName; - logger.debug(debugMessage); - msg(ChatStrings.chatNowIgnoring, ignoreName); - return true; - // Player removed from the list - } else { - DBM.removeIgnoredPlayer(name, ignoreName); - String debugMessage = "Player un-ignored another Player, Player: " + name + " IgnoredPlayer: " + ignoreName; - logger.debug(debugMessage); - msg(ChatStrings.chatStoppedIgnoring, ignoreName); - return true; - } - } - - @Override - public List tabComplete(CommandSender sender, String[] args) { - - if (args.length != 1) { - return null; - } - return findPlayers(args[0]); - } -} diff --git a/src/main/java/vg/civcraft/mc/civchat2/command/commands/IgnoreGroup.java b/src/main/java/vg/civcraft/mc/civchat2/command/commands/IgnoreGroup.java deleted file mode 100644 index 8389d4b..0000000 --- a/src/main/java/vg/civcraft/mc/civchat2/command/commands/IgnoreGroup.java +++ /dev/null @@ -1,63 +0,0 @@ -package vg.civcraft.mc.civchat2.command.commands; - -import java.util.List; - -import org.bukkit.command.CommandSender; - -import vg.civcraft.mc.civchat2.ChatStrings; -import vg.civcraft.mc.civchat2.command.ChatCommand; -import vg.civcraft.mc.namelayer.group.Group; - -public class IgnoreGroup extends ChatCommand { - - public IgnoreGroup(String name) { - - super(name); - setIdentifier("ignoregroup"); - setDescription("Toggles ignoring a group"); - setUsage("/ignoregroup "); - setArguments(1, 1); - setSenderMustBePlayer(true); - } - - @Override - public boolean execute(CommandSender sender, String[] args) { - - Group group = argAsGroup(0); - // No player exists with that name - if (group == null) { - msg(ChatStrings.chatGroupNotFound); - return true; - } - String ignore = group.getName(); - String name = getRealName(player()); - // Player added to the list - if (!DBM.isIgnoringGroup(name, ignore)) { - DBM.addIgnoredGroup(name, ignore); - String debugMessage = "Player ignored Group, Player: " + name + " Group: " + ignore; - logger.debug(debugMessage); - msg(ChatStrings.chatNowIgnoring, ignore); - if (group.equals(chatMan.getGroupChatting(player()))) { - chatMan.removeGroupChat(player()); - msg(ChatStrings.chatMovedToGlobal); - } - return true; - // Player removed from the list - } else { - DBM.removeIgnoredGroup(name, ignore); - String debugMessage = "Player un-ignored Group, Player: " + name + " Group: " + ignore; - logger.debug(debugMessage); - msg(ChatStrings.chatStoppedIgnoring, ignore); - return true; - } - } - - @Override - public List tabComplete(CommandSender arg0, String[] arg1) { - - if (arg1.length != 1) { - return null; - } - return findGroups(arg1[0]); - } -} diff --git a/src/main/java/vg/civcraft/mc/civchat2/command/commands/Reply.java b/src/main/java/vg/civcraft/mc/civchat2/command/commands/Reply.java deleted file mode 100644 index 72287cc..0000000 --- a/src/main/java/vg/civcraft/mc/civchat2/command/commands/Reply.java +++ /dev/null @@ -1,67 +0,0 @@ -package vg.civcraft.mc.civchat2.command.commands; - -import java.util.UUID; - -import org.bukkit.Bukkit; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import vg.civcraft.mc.civchat2.ChatStrings; -import vg.civcraft.mc.civchat2.CivChat2; -import vg.civcraft.mc.civchat2.command.ChatCommand; - -public class Reply extends ChatCommand { - - public Reply(String name) { - - super(name); - setIdentifier("reply"); - setDescription("Replies to a private message"); - setUsage("/reply "); - setSenderMustBePlayer(true); - setErrorOnTooManyArgs(false); - } - - @Override - public boolean execute(CommandSender sender, String[] args) { - - Player player = (Player) sender; - String senderName = player.getName(); - UUID receiverUUID = chatMan.getPlayerReply(player); - - Player receiver = Bukkit.getPlayer(receiverUUID); - if (receiver == null) { - msg(ChatStrings.chatNoOneToReplyTo); - return true; - } - - if (!(receiver.isOnline())) { - msg(ChatStrings.chatPlayerIsOffline); - logger.debug(parse(ChatStrings.chatPlayerIsOffline)); - return true; - } - - if (player.getName().equals(receiver.getName())) { - CivChat2.warningMessage("Reply Command, Player Replying to themself??? Player: [" + senderName + "]"); - msg(ChatStrings.chatCantMessageSelf); - return true; - } - - if (args.length > 0) { - StringBuilder sb = new StringBuilder(); - for (String s : args) { - sb.append(s + " "); - } - chatMan.sendPrivateMsg(player, receiver, sb.toString()); - return true; - } else if (args.length == 0) { - // Player to chat with reply user - chatMan.removeChannel(player()); - chatMan.addChatChannel(player(), receiver); - msg(ChatStrings.chatNowChattingWith, receiver.getName()); - return true; - } - - return false; - } -} diff --git a/src/main/java/vg/civcraft/mc/civchat2/command/commands/Tell.java b/src/main/java/vg/civcraft/mc/civchat2/command/commands/Tell.java deleted file mode 100644 index 337c52c..0000000 --- a/src/main/java/vg/civcraft/mc/civchat2/command/commands/Tell.java +++ /dev/null @@ -1,88 +0,0 @@ -package vg.civcraft.mc.civchat2.command.commands; - -import java.util.List; -import java.util.UUID; - -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import vg.civcraft.mc.civchat2.ChatStrings; -import vg.civcraft.mc.civchat2.command.ChatCommand; - -public class Tell extends ChatCommand { - - public Tell(String name) { - super(name); - setIdentifier("tell"); - setDescription("Sends a private message to another player"); - setUsage("/tell "); - setSenderMustBePlayer(true); - setErrorOnTooManyArgs(false); - } - - @Override - public boolean execute(CommandSender sender, String[] args) { - - if (args.length == 0) { - UUID chattingWith = chatMan.getChannel(player()); - if (chattingWith != null) { - chatMan.removeChannel(player()); - msg(ChatStrings.chatRemovedFromChat); - } else { - msg(ChatStrings.chatNotInPrivateChat); - } - return true; - } - - Player receiver = argAsPlayer(0); - if (receiver == null) { - msg(ChatStrings.chatPlayerNotFound); - return true; - } - - if (!(receiver.isOnline())) { - msg(ChatStrings.chatPlayerIsOffline); - logger.debug(parse(ChatStrings.chatPlayerIsOffline)); - return true; - } - - if (player().equals(receiver)) { - msg(ChatStrings.chatCantMessageSelf); - return true; - } - - if (args.length >= 2) { - // Player and message - StringBuilder builder = new StringBuilder(); - for (int x = 1; x < args.length; x++) { - builder.append(args[x] + " "); - } - - chatMan.sendPrivateMsg(player(), receiver, builder.toString()); - return true; - } else if (args.length == 1) { - if (DBM.isIgnoringPlayer(player().getUniqueId(), receiver.getUniqueId())) { - msg(ChatStrings.chatNeedToUnignore, getRealName(receiver)); - return true; - } - - if (DBM.isIgnoringPlayer(receiver.getUniqueId(), player().getUniqueId())) { - msg(ChatStrings.chatPlayerIgnoringYou); - return true; - } - chatMan.addChatChannel(player(), receiver); - msg(ChatStrings.chatNowChattingWith, getRealName(receiver)); - return true; - } - return false; - } - - @Override - public List tabComplete(CommandSender sender, String[] args) { - - if (args.length != 1) { - return null; - } - return findPlayers(args[0]); - } -} diff --git a/src/main/java/vg/civcraft/mc/civchat2/commands/Afk.java b/src/main/java/vg/civcraft/mc/civchat2/commands/Afk.java new file mode 100644 index 0000000..2f4818f --- /dev/null +++ b/src/main/java/vg/civcraft/mc/civchat2/commands/Afk.java @@ -0,0 +1,33 @@ +package vg.civcraft.mc.civchat2.commands; + +import java.util.LinkedList; +import java.util.List; + +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +import vg.civcraft.mc.civchat2.ChatStrings; +import vg.civcraft.mc.civchat2.CivChat2; +import vg.civcraft.mc.civmodcore.command.CivCommand; +import vg.civcraft.mc.civmodcore.command.StandaloneCommand; + +@CivCommand(id = "afk") +public class Afk extends StandaloneCommand { + + @Override + public boolean execute(CommandSender sender, String[] args) { + Player player = (Player) sender; + boolean isAfk = CivChat2.getInstance().getCivChat2Manager().togglePlayerAfk(player); + if (isAfk) { + player.sendMessage(ChatStrings.chatAfk); + } else { + player.sendMessage(ChatStrings.chatNotAfk); + } + return true; + } + + @Override + public List tabComplete(CommandSender sender, String[] args) { + return new LinkedList<>(); + } +} diff --git a/src/main/java/vg/civcraft/mc/civchat2/commands/Exit.java b/src/main/java/vg/civcraft/mc/civchat2/commands/Exit.java new file mode 100644 index 0000000..c3f5d8a --- /dev/null +++ b/src/main/java/vg/civcraft/mc/civchat2/commands/Exit.java @@ -0,0 +1,46 @@ +package vg.civcraft.mc.civchat2.commands; + +import static vg.civcraft.mc.civchat2.ChatStrings.localChatFormat; + +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Set; + +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +import vg.civcraft.mc.civchat2.ChatStrings; +import vg.civcraft.mc.civchat2.CivChat2; +import vg.civcraft.mc.civchat2.CivChat2Manager; +import vg.civcraft.mc.civmodcore.command.CivCommand; +import vg.civcraft.mc.civmodcore.command.StandaloneCommand; + +@CivCommand(id = "exit") +public class Exit extends StandaloneCommand { + + @Override + public boolean execute(CommandSender sender, String[] args) { + CivChat2Manager chatMan = CivChat2.getInstance().getCivChat2Manager(); + Player player = (Player) sender; + if (args.length == 0) { + chatMan.removeChannel(player); + chatMan.removeGroupChat(player); + player.sendMessage(ChatStrings.chatMovedToGlobal); + return true; + } + StringBuilder chatMsg = new StringBuilder(); + for (int i = 0; i < args.length; i++) { + chatMsg.append(args[i]); + chatMsg.append(" "); + } + Set players = new HashSet<>(CivChat2.getInstance().getServer().getOnlinePlayers()); + chatMan.broadcastMessage(player, chatMsg.toString(), localChatFormat, players); + return true; + } + + @Override + public List tabComplete(CommandSender sender, String[] args) { + return new LinkedList<>(); + } +} diff --git a/src/main/java/vg/civcraft/mc/civchat2/commands/GroupChat.java b/src/main/java/vg/civcraft/mc/civchat2/commands/GroupChat.java new file mode 100644 index 0000000..4155a55 --- /dev/null +++ b/src/main/java/vg/civcraft/mc/civchat2/commands/GroupChat.java @@ -0,0 +1,119 @@ +package vg.civcraft.mc.civchat2.commands; + +import java.util.List; + +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +import vg.civcraft.mc.civchat2.ChatStrings; +import vg.civcraft.mc.civchat2.CivChat2; +import vg.civcraft.mc.civchat2.CivChat2Manager; +import vg.civcraft.mc.civmodcore.command.CivCommand; +import vg.civcraft.mc.civmodcore.command.StandaloneCommand; +import vg.civcraft.mc.namelayer.GroupManager; +import vg.civcraft.mc.namelayer.NameAPI; +import vg.civcraft.mc.namelayer.command.TabCompleters.GroupTabCompleter; +import vg.civcraft.mc.namelayer.group.Group; +import vg.civcraft.mc.namelayer.permission.PermissionType; + +@CivCommand(id = "groupc") +public class GroupChat extends StandaloneCommand { + + @Override + public boolean execute(CommandSender sender, String[] args) { + CivChat2Manager chatMan = CivChat2.getInstance().getCivChat2Manager(); + Player player = (Player) sender; + GroupManager gm = NameAPI.getGroupManager(); + boolean isGroupChatting = true; + if (chatMan.getGroupChatting(player) == null) { + isGroupChatting = false; + } + Group group; + boolean defGroup = false; + if (args.length < 1) { + // Check if player is in groupchat and move them to normal chat + if (isGroupChatting) { + player.sendMessage(ChatStrings.chatMovedToGlobal); + chatMan.removeGroupChat(player); + return true; + } else { + String grpName = gm.getDefaultGroup(player.getUniqueId()); + if (grpName != null) { + group = GroupManager.getGroup(grpName); + defGroup = true; + } else { + return false; + } + } + } else { + group = GroupManager.getGroup(args[0]); + } + if (group == null) { + player.sendMessage(ChatStrings.chatGroupNotFound); + return true; + } + if (!NameAPI.getGroupManager().hasAccess(group, player.getUniqueId(), + PermissionType.getPermission("WRITE_CHAT"))) { + player.sendMessage(ChatStrings.chatGroupNoPerms); + return true; + } + if (CivChat2.getInstance().getDatabaseManager().isIgnoringGroup(player.getUniqueId(), group.getName())) { + player.sendMessage(String.format(ChatStrings.chatNeedToUnignore, group.getName())); + return true; + } + if (args.length == 1) { + if (isGroupChatting) { + // Player already groupchatting check if it's this group + Group curGroup = chatMan.getGroupChatting(player); + if (curGroup == group) { + player.sendMessage(ChatStrings.chatGroupAlreadyChatting); + return true; + } else { + player.sendMessage(String.format(ChatStrings.chatGroupNowChattingIn, group.getName())); + chatMan.removeGroupChat(player); + chatMan.addGroupChat(player, group); + return true; + } + } else { + player.sendMessage(String.format(ChatStrings.chatGroupNowChattingIn, group.getName())); + if (chatMan.getChannel(player) != null) { + chatMan.removeChannel(player); + } + chatMan.addGroupChat(player, group); + return true; + } + } else if (args.length > 1) { + StringBuilder chatMsg = new StringBuilder(); + for (int i = defGroup ? 0 : 1; i < args.length; i++) { + chatMsg.append(args[i]); + chatMsg.append(" "); + } + if (isGroupChatting) { + // Player already groupchatting check if it's this group + Group curGroup = chatMan.getGroupChatting(player); + if (curGroup == group) { + chatMan.sendGroupMsg(player, group, chatMsg.toString()); + return true; + } else { + chatMan.sendGroupMsg(player, group, chatMsg.toString()); + return true; + } + } else { + if (chatMan.getChannel(player) != null) { + chatMan.removeChannel(player); + } + chatMan.sendGroupMsg(player, group, chatMsg.toString()); + return true; + } + } + return false; + } + + @Override + public List tabComplete(CommandSender sender, String[] args) { + if (args.length == 0) { + return GroupTabCompleter.complete(null, PermissionType.getPermission("WRITE_CHAT"), (Player) sender); + } + return GroupTabCompleter.complete(args[0], PermissionType.getPermission("WRITE_CHAT"), (Player) sender); + } +} diff --git a/src/main/java/vg/civcraft/mc/civchat2/commands/Ignore.java b/src/main/java/vg/civcraft/mc/civchat2/commands/Ignore.java new file mode 100644 index 0000000..f2a4b44 --- /dev/null +++ b/src/main/java/vg/civcraft/mc/civchat2/commands/Ignore.java @@ -0,0 +1,48 @@ +package vg.civcraft.mc.civchat2.commands; + +import java.util.List; + +import org.bukkit.Bukkit; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +import vg.civcraft.mc.civchat2.ChatStrings; +import vg.civcraft.mc.civchat2.CivChat2; +import vg.civcraft.mc.civchat2.database.CivChatDAO; +import vg.civcraft.mc.civmodcore.command.CivCommand; +import vg.civcraft.mc.civmodcore.command.StandaloneCommand; + +@CivCommand(id = "ignore") +public class Ignore extends StandaloneCommand { + + @Override + public boolean execute(CommandSender sender, String[] args) { + Player player = (Player) sender; + Player ignoredPlayer = Bukkit.getServer().getPlayer(args [0]); + if (ignoredPlayer == null) { + player.sendMessage(ChatStrings.chatPlayerNotFound); + return true; + } + if (player == ignoredPlayer) { + player.sendMessage(ChatStrings.chatCantIgnoreSelf); + return true; + } + CivChatDAO db = CivChat2.getInstance().getDatabaseManager(); + if (!db.isIgnoringPlayer(player.getUniqueId(), ignoredPlayer.getUniqueId())) { + // Player added to the list + db.addIgnoredPlayer(player.getUniqueId(), ignoredPlayer.getUniqueId()); + player.sendMessage(String.format(ChatStrings.chatNowIgnoring, ignoredPlayer.getDisplayName())); + return true; + } else { + // Player removed from the list + db.removeIgnoredPlayer(player.getUniqueId(), ignoredPlayer.getUniqueId()); + player.sendMessage(String.format(ChatStrings.chatStoppedIgnoring, ignoredPlayer.getDisplayName())); + return true; + } + } + + @Override + public List tabComplete(CommandSender sender, String[] args) { + return null; + } +} diff --git a/src/main/java/vg/civcraft/mc/civchat2/commands/IgnoreGroup.java b/src/main/java/vg/civcraft/mc/civchat2/commands/IgnoreGroup.java new file mode 100644 index 0000000..77ce017 --- /dev/null +++ b/src/main/java/vg/civcraft/mc/civchat2/commands/IgnoreGroup.java @@ -0,0 +1,55 @@ +package vg.civcraft.mc.civchat2.commands; + +import java.util.List; + +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +import vg.civcraft.mc.civchat2.ChatStrings; +import vg.civcraft.mc.civchat2.CivChat2; +import vg.civcraft.mc.civchat2.CivChat2Manager; +import vg.civcraft.mc.civchat2.database.CivChatDAO; +import vg.civcraft.mc.civmodcore.command.CivCommand; +import vg.civcraft.mc.civmodcore.command.StandaloneCommand; +import vg.civcraft.mc.namelayer.GroupManager; +import vg.civcraft.mc.namelayer.command.TabCompleters.GroupTabCompleter; +import vg.civcraft.mc.namelayer.group.Group; +import vg.civcraft.mc.namelayer.permission.PermissionType; + +@CivCommand(id = "ignore") +public class IgnoreGroup extends StandaloneCommand { + + @Override + public boolean execute(CommandSender sender, String[] args) { + Group group = GroupManager.getGroup(args [0]); + Player player = (Player) sender; + if (group == null) { + player.sendMessage(ChatStrings.chatGroupNotFound); + return true; + } + String ignore = group.getName(); + CivChatDAO db = CivChat2.getInstance().getDatabaseManager(); + if (!db.isIgnoringGroup(player.getUniqueId(), ignore)) { + db.addIgnoredGroup(player.getUniqueId(), ignore); + CivChat2Manager chatMan = CivChat2.getInstance().getCivChat2Manager(); + player.sendMessage(String.format(ChatStrings.chatNowIgnoring, ignore)); + if (group.equals(chatMan.getGroupChatting(player))) { + chatMan.removeGroupChat(player); + player.sendMessage(ChatStrings.chatMovedToGlobal); + } + return true; + } else { + db.removeIgnoredGroup(player.getUniqueId(), ignore); + player.sendMessage(String.format(ChatStrings.chatStoppedIgnoring, ignore)); + return true; + } + } + + @Override + public List tabComplete(CommandSender sender, String[] args) { + if (args.length == 0) { + return GroupTabCompleter.complete(null, PermissionType.getPermission("READ_CHAT"), (Player) sender); + } + return GroupTabCompleter.complete(args [0], PermissionType.getPermission("READ_CHAT"), (Player) sender); + } +} diff --git a/src/main/java/vg/civcraft/mc/civchat2/command/commands/IgnoreList.java b/src/main/java/vg/civcraft/mc/civchat2/commands/IgnoreList.java similarity index 50% rename from src/main/java/vg/civcraft/mc/civchat2/command/commands/IgnoreList.java rename to src/main/java/vg/civcraft/mc/civchat2/commands/IgnoreList.java index 3a34481..278f475 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/command/commands/IgnoreList.java +++ b/src/main/java/vg/civcraft/mc/civchat2/commands/IgnoreList.java @@ -1,36 +1,32 @@ -package vg.civcraft.mc.civchat2.command.commands; +package vg.civcraft.mc.civchat2.commands; +import java.util.LinkedList; import java.util.List; import java.util.UUID; import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; import vg.civcraft.mc.civchat2.ChatStrings; -import vg.civcraft.mc.civchat2.command.ChatCommand; +import vg.civcraft.mc.civchat2.CivChat2; +import vg.civcraft.mc.civchat2.database.CivChatDAO; +import vg.civcraft.mc.civmodcore.command.CivCommand; +import vg.civcraft.mc.civmodcore.command.StandaloneCommand; import vg.civcraft.mc.namelayer.NameAPI; -public class IgnoreList extends ChatCommand { - - public IgnoreList(String name) { - - super(name); - setIdentifier("ignorelist"); - setDescription("Lists the players & groups you are ignoring"); - setUsage("/ignorelist"); - setArguments(0, 0); - setSenderMustBePlayer(true); - setErrorOnTooManyArgs(false); - } +@CivCommand(id = "ignorelist") +public class IgnoreList extends StandaloneCommand { @Override public boolean execute(CommandSender sender, String[] args) { - - List players = DBM.getIgnoredPlayers(player().getUniqueId()); - List groups = DBM.getIgnoredGroups(player().getUniqueId()); + Player player = (Player) sender; + CivChatDAO db = CivChat2.getInstance().getDatabaseManager(); + List players = db.getIgnoredPlayers(player.getUniqueId()); + List groups = db.getIgnoredGroups(player.getUniqueId()); // No players ignored - if (players == null || players.size() == 0) { - msg(ChatStrings.chatNotIgnoringAnyPlayers); + if (players == null || players.isEmpty()) { + player.sendMessage(ChatStrings.chatNotIgnoringAnyPlayers); } else { StringBuilder sb = new StringBuilder(); sb.append("Ignored Players: \n"); @@ -45,12 +41,12 @@ public boolean execute(CommandSender sender, String[] args) { if (msg.endsWith(", ")) { msg = msg.substring(0, msg.length() - 2); } - msg(msg); + player.sendMessage(msg); } // No groups ignored - if (groups == null || groups.size() == 0) { - msg(ChatStrings.chatNotIgnoringAnyGroups); + if (groups == null || groups.isEmpty()) { + player.sendMessage(ChatStrings.chatNotIgnoringAnyGroups); return true; } else { StringBuilder sb = new StringBuilder(); @@ -63,8 +59,13 @@ public boolean execute(CommandSender sender, String[] args) { if (msg.endsWith(", ")) { msg = msg.substring(0, msg.length() - 2); } - msg(msg); + player.sendMessage(msg); return true; } } + + @Override + public List tabComplete(CommandSender sender, String[] args) { + return new LinkedList<>(); + } } diff --git a/src/main/java/vg/civcraft/mc/civchat2/commands/Reply.java b/src/main/java/vg/civcraft/mc/civchat2/commands/Reply.java new file mode 100644 index 0000000..ff53f77 --- /dev/null +++ b/src/main/java/vg/civcraft/mc/civchat2/commands/Reply.java @@ -0,0 +1,60 @@ +package vg.civcraft.mc.civchat2.commands; + +import java.util.List; +import java.util.UUID; + +import org.bukkit.Bukkit; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +import vg.civcraft.mc.civchat2.ChatStrings; +import vg.civcraft.mc.civchat2.CivChat2; +import vg.civcraft.mc.civchat2.CivChat2Manager; +import vg.civcraft.mc.civmodcore.command.CivCommand; +import vg.civcraft.mc.civmodcore.command.StandaloneCommand; + +@CivCommand(id = "reply") +public class Reply extends StandaloneCommand { + + @Override + public boolean execute(CommandSender sender, String[] args) { + Player player = (Player) sender; + CivChat2Manager chatMan = CivChat2.getInstance().getCivChat2Manager(); + UUID receiverUUID = chatMan.getPlayerReply(player); + + Player receiver = Bukkit.getPlayer(receiverUUID); + if (receiver == null) { + player.sendMessage(ChatStrings.chatNoOneToReplyTo); + return true; + } + + if (!(receiver.isOnline())) { + player.sendMessage(ChatStrings.chatPlayerIsOffline); + return true; + } + + if (player.getUniqueId().equals(receiver.getUniqueId())) { + player.sendMessage(ChatStrings.chatCantMessageSelf); + return true; + } + + if (args.length > 0) { + StringBuilder sb = new StringBuilder(); + for (String s : args) { + sb.append(s + " "); + } + chatMan.sendPrivateMsg(player, receiver, sb.toString()); + return true; + } + // Player to chat with reply user + chatMan.removeChannel(player); + chatMan.addChatChannel(player, receiver); + player.sendMessage(String.format(ChatStrings.chatNowChattingWith, receiver.getName())); + return true; + } + + @Override + public List tabComplete(CommandSender sender, String[] args) { + return null; + } +} diff --git a/src/main/java/vg/civcraft/mc/civchat2/commands/Tell.java b/src/main/java/vg/civcraft/mc/civchat2/commands/Tell.java new file mode 100644 index 0000000..fb3b988 --- /dev/null +++ b/src/main/java/vg/civcraft/mc/civchat2/commands/Tell.java @@ -0,0 +1,82 @@ +package vg.civcraft.mc.civchat2.commands; + +import java.util.List; +import java.util.UUID; + +import org.bukkit.Bukkit; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +import vg.civcraft.mc.civchat2.ChatStrings; +import vg.civcraft.mc.civchat2.CivChat2; +import vg.civcraft.mc.civchat2.CivChat2Manager; +import vg.civcraft.mc.civchat2.database.CivChatDAO; +import vg.civcraft.mc.civmodcore.command.CivCommand; +import vg.civcraft.mc.civmodcore.command.StandaloneCommand; + +@CivCommand(id = "tell") +public class Tell extends StandaloneCommand { + + @Override + public boolean execute(CommandSender sender, String[] args) { + CivChat2Manager chatMan = CivChat2.getInstance().getCivChat2Manager(); + Player player = (Player) sender; + if (args.length == 0) { + UUID chattingWith = chatMan.getChannel(player); + if (chattingWith != null) { + chatMan.removeChannel(player); + player.sendMessage(ChatStrings.chatRemovedFromChat); + } else { + player.sendMessage(ChatStrings.chatNotInPrivateChat); + } + return true; + } + + Player receiver = Bukkit.getPlayer(args [0]); + if (receiver == null) { + player.sendMessage(ChatStrings.chatPlayerNotFound); + return true; + } + + if (!(receiver.isOnline())) { + player.sendMessage(ChatStrings.chatPlayerIsOffline); + return true; + } + + if (player == receiver) { + player.sendMessage(ChatStrings.chatCantMessageSelf); + return true; + } + + if (args.length >= 2) { + // Player and message + StringBuilder builder = new StringBuilder(); + for (int x = 1; x < args.length; x++) { + builder.append(args[x] + " "); + } + + chatMan.sendPrivateMsg(player, receiver, builder.toString()); + return true; + } else if (args.length == 1) { + CivChatDAO db = CivChat2.getInstance().getDatabaseManager(); + if (db.isIgnoringPlayer(player.getUniqueId(), receiver.getUniqueId())) { + player.sendMessage(String.format(ChatStrings.chatNeedToUnignore, receiver.getDisplayName())); + return true; + } + + if (db.isIgnoringPlayer(receiver.getUniqueId(), player.getUniqueId())) { + player.sendMessage(ChatStrings.chatPlayerIgnoringYou); + return true; + } + chatMan.addChatChannel(player, receiver); + player.sendMessage(String.format(ChatStrings.chatNowChattingWith, receiver.getDisplayName())); + return true; + } + return false; + } + + @Override + public List tabComplete(CommandSender sender, String[] args) { + return null; + } +} diff --git a/src/main/java/vg/civcraft/mc/civchat2/database/DatabaseManager.java b/src/main/java/vg/civcraft/mc/civchat2/database/CivChatDAO.java similarity index 76% rename from src/main/java/vg/civcraft/mc/civchat2/database/DatabaseManager.java rename to src/main/java/vg/civcraft/mc/civchat2/database/CivChatDAO.java index a315244..7892076 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/database/DatabaseManager.java +++ b/src/main/java/vg/civcraft/mc/civchat2/database/CivChatDAO.java @@ -11,22 +11,18 @@ import vg.civcraft.mc.civchat2.CivChat2; import vg.civcraft.mc.civchat2.utility.CivChat2Config; -import vg.civcraft.mc.civchat2.utility.CivChat2Log; -import vg.civcraft.mc.namelayer.NameAPI; -public class DatabaseManager { +public class CivChatDAO { private CivChat2 plugin = CivChat2.getInstance(); private CivChat2Config config = plugin.getPluginConfig(); - private CivChat2Log logger = CivChat2.getCivChat2Log(); - private Database db; - private HashMap> ignoredPlayers = new HashMap>(); + private HashMap> ignoredPlayers = new HashMap<>(); - private HashMap> ignoredGroups = new HashMap>(); + private HashMap> ignoredGroups = new HashMap<>(); private String addIgnoredPlayer; @@ -44,7 +40,7 @@ public class DatabaseManager { private String loadIgnoredGroupsList; - public DatabaseManager() { + public CivChatDAO() { if (!isValidConnection()) { return; @@ -101,7 +97,7 @@ private boolean addIgnoredPlayerToMap(UUID playerUUID, UUID ignoredPlayerUUID) { } ignoredPlayers.get(playerUUID).add(ignoredPlayerUUID); } else { - List ignoredPlayersList = new ArrayList(); + List ignoredPlayersList = new ArrayList<>(); ignoredPlayersList.add(ignoredPlayerUUID); ignoredPlayers.put(playerUUID, ignoredPlayersList); } @@ -190,22 +186,12 @@ public boolean addIgnoredPlayer(UUID playerUUID, UUID ignoredPlayerUUID) { return true; } - public boolean addIgnoredPlayer(String player, String ignoredPlayer) { - - try { - return addIgnoredPlayer(NameAPI.getUUID(player), NameAPI.getUUID(ignoredPlayer)); - } catch (NullPointerException e) { - logger.warning("Error while trying to ignore a player: Player does not exist."); - return false; - } - } - public List getIgnoredPlayers(UUID playerUUID) { if (ignoredPlayers.containsKey(playerUUID)) { return ignoredPlayers.get(playerUUID); } - List ignoredPlayersList = new LinkedList(); + List ignoredPlayersList = new LinkedList<>(); PreparedStatement getIgnoredPlayers = db.prepareStatement(this.getIgnoredPlayers); try { getIgnoredPlayers.setString(1, playerUUID.toString()); @@ -236,17 +222,7 @@ public boolean removeIgnoredPlayer(UUID playerUUID, UUID ignoredPlayerUUID) { } return true; } - - public boolean removeIgnoredPlayer(String player, String ignoredPlayer) { - - try { - return removeIgnoredPlayer(NameAPI.getUUID(player), NameAPI.getUUID(ignoredPlayer)); - } catch (NullPointerException e) { - logger.warning("Error while trying to unignore a player: Player does not exist."); - return false; - } - } - + public boolean addIgnoredGroup(UUID playerUUID, String group) { if (!addIgnoredGroupToMap(playerUUID, group)) { @@ -263,16 +239,6 @@ public boolean addIgnoredGroup(UUID playerUUID, String group) { return true; } - public boolean addIgnoredGroup(String player, String group) { - - try { - return addIgnoredGroup(NameAPI.getUUID(player), group); - } catch (NullPointerException e) { - logger.warning("Error while trying to ignore a group: Playeror group does not exist."); - return false; - } - } - public List getIgnoredGroups(UUID playerUUID) { if (ignoredGroups.containsKey(playerUUID)) { @@ -310,50 +276,13 @@ public boolean removeIgnoredGroup(UUID playerUUID, String group) { return true; } - public boolean removeIgnoredGroup(String player, String group) { - - try { - return removeIgnoredGroup(NameAPI.getUUID(player), group); - } catch (NullPointerException e) { - logger.warning("Error while trying to unignore a group: Playeror group does not exist."); - return false; - } - } - public boolean isIgnoringPlayer(UUID playerUUID, UUID ignoredPlayerUUID) { return getIgnoredPlayers(playerUUID).contains(ignoredPlayerUUID); } - public boolean isIgnoringPlayer(String player, String ignoredPlayer) { - - return isIgnoringPlayer(NameAPI.getUUID(player), NameAPI.getUUID(ignoredPlayer)); - } - public boolean isIgnoringGroup(UUID playerUUID, String group) { return getIgnoredGroups(playerUUID).contains(group); } - - public boolean isIgnoringGroup(String player, String group) { - - return isIgnoringGroup(NameAPI.getUUID(player), group); - } - - public void processMercuryInfo(String[] message) { - - if (message[0].equalsIgnoreCase("ignore")) { - if (message[1].equalsIgnoreCase("player")) { - addIgnoredPlayerToMap(UUID.fromString(message[2]), UUID.fromString(message[3])); - } else { - addIgnoredGroupToMap(UUID.fromString(message[2]), message[3]); - } - } else if (message[0].equalsIgnoreCase("unignore")) { - if (message[1].equalsIgnoreCase("player")) { - removeIgnoredPlayerFromMap(UUID.fromString(message[2]), UUID.fromString(message[3])); - } else { - removeIgnoredGroupFromMap(UUID.fromString(message[2]), message[3]); - } - } - } } diff --git a/src/main/java/vg/civcraft/mc/civchat2/listeners/CivChat2Listener.java b/src/main/java/vg/civcraft/mc/civchat2/listeners/CivChat2Listener.java index 0e5f45e..3c03956 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/listeners/CivChat2Listener.java +++ b/src/main/java/vg/civcraft/mc/civchat2/listeners/CivChat2Listener.java @@ -36,22 +36,16 @@ public CivChat2Listener(CivChat2Manager instance) { @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onPlayerDeath(PlayerDeathEvent playerDeathEvent) { - - CivChat2.debugmessage("PlayerDeathEvent occured"); playerDeathEvent.setDeathMessage(null); } @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onPlayerQuit(PlayerQuitEvent playerQuitEvent) { - - CivChat2.debugmessage("playerQuitEvent occured"); playerQuitEvent.setQuitMessage(null); } @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onPlayerJoin(PlayerJoinEvent playerJoinEvent) { - - CivChat2.debugmessage("playerJoinEvent occured"); if (!CivChat2.getInstance().getPluginConfig().getLoginAnnounce()) { playerJoinEvent.setJoinMessage(null); } @@ -59,13 +53,11 @@ public void onPlayerJoin(PlayerJoinEvent playerJoinEvent) { @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onPlayerKick(PlayerKickEvent playerKickEvent) { - - CivChat2.debugmessage("playerKickEvent occured"); playerKickEvent.setLeaveMessage(null); } @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) - public void PlayerChatEvent(final AsyncPlayerChatEvent asyncPlayerChatEvent) { + public void onPlayerChatEvent(final AsyncPlayerChatEvent asyncPlayerChatEvent) { asyncPlayerChatEvent.setCancelled(true); // This needs to be done sync to avoid a rare deadlock due to minecraft @@ -80,13 +72,9 @@ public void run() { UUID chatChannel = chatman.getChannel(sender); Group groupChat = chatman.getGroupChatting(sender); - CivChat2.debugmessage(String.format( - "ChatEvent properties: chatMessage =[ %s ], sender = [ %s ], chatChannel = [ %s ], groupchatting = [ %s ];", - chatMessage, sender.getName(), chatChannel, groupChat)); if (chatChannel != null) { StringBuilder sb = new StringBuilder(); Player receiver = Bukkit.getPlayer(chatChannel); - CivChat2.debugmessage("player chat event receive = [" + receiver + "]"); if (receiver != null) { chatman.sendPrivateMsg(sender, receiver, chatMessage); return; @@ -113,7 +101,6 @@ public void run() { + "You have been removed from groupchat because you were removed from the group or lost the permission required to groupchat"); } } - CivChat2.debugmessage("PlayerChatEvent calling chatman.broadcastMessage()"); chatman.broadcastMessage(sender, chatMessage, asyncPlayerChatEvent.getFormat(), asyncPlayerChatEvent.getRecipients()); } diff --git a/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Config.java b/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Config.java index d98dcb4..334d310 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Config.java +++ b/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Config.java @@ -8,89 +8,73 @@ public class CivChat2Config { - private static FileConfiguration config; - - public void setConfigOptions(FileConfiguration config) { + private FileConfiguration config; + private TreeMap chatColor = null; - CivChat2Config.config = config; + public CivChat2Config(FileConfiguration config) { + this.config = config; } public boolean getGroupsEnabled() { - return config.getBoolean("info.groups"); } public boolean getDebug() { - return config.getBoolean("info.debug"); } public String getAfkMessage() { - return config.getString("info.afkmessage"); } public boolean getLoginAnnounce() { - return config.getBoolean("info.loginAnnounce", false); } public int getChatRange() { - return config.getInt("chat.globalChatRange"); } public String getDefaultColor() { - return config.getString("chat.defaultChatColor"); } public String getOpChatColor() { - return config.getString("chat.opChatColor"); } public int getYInc() { - return config.getInt("chat.yIncreaseDist"); } public double getYScale() { - return config.getDouble("chat.yIncreaseScale"); } public String getMysqlUsername() { - return config.getString("mysql.username"); } public String getMysqlHost() { - return config.getString("mysql.host"); } public int getMysqlPort() { - return config.getInt("mysql.port"); } public String getMysqlPassword() { - return config.getString("mysql.password"); } public String getMysqlDBname() { - return config.getString("mysql.dbname"); } - private TreeMap chatColor = null; - public synchronized String getColorAtDistance(double distance) { if (chatColor == null) { - chatColor = new TreeMap(); + chatColor = new TreeMap<>(); chatColor.put(0.0, getDefaultColor()); if (config.contains("chat.colors")) { ConfigurationSection section = config.getConfigurationSection("chat.colors"); diff --git a/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Executor.java b/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Executor.java index 9027067..ff3af0c 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Executor.java +++ b/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Executor.java @@ -21,7 +21,7 @@ public CivChat2Executor(CivChat2 instance) { this.plugin = instance; this.config = plugin.getPluginConfig(); - this.logger = CivChat2.getCivChat2Log(); + this.logger = plugin.getCivChat2Log(); } @Override diff --git a/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Log.java b/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Log.java index 04abf0b..3e3fdd4 100644 --- a/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Log.java +++ b/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Log.java @@ -30,8 +30,7 @@ public void severe(String msg) { } public void debug(String msg) { - - if (CivChat2.debugEnabled()) { + if (CivChat2.getInstance().debugEnabled()) { log.info("[Debug] " + msg); } } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 4c7ba16..6c86100 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,26 +1,85 @@ name: ${project.name} main: vg.civcraft.mc.civchat2.CivChat2 version: ${project.version} -author: jjj5311 -depend: [NameLayer, CivModCore] -softdepend: [Mercury, BetterShards] -description: CivChat2 limits the chat radius to 1000 blocks. However Private Messaging and Group Chat works above the 1000 block chat radius. +authors: +- jjj5311 +- Maxopoly +depend: +- NameLayer +- CivModCore +description: CivChat2 limits the chat radius to 1000 blocks. However Private Messaging and Group Chat works above the 1000 + block chat radius. commands: - tell: - aliases: [message, msg, m, pm] - afk: - reply: - aliases: [r] - ignore: - aliases: [i] - ignoregroup: - aliases: [ig, igroup, ignoreg] - groupc: - aliases: [groupchat, gchat, gc, g] - ignorelist: - exit: - aliases: [e] + tell: + aliases: + - message + - msg + - m + - pm + usage: /tell [message] + description: Sends a private message to someone or enters a private chat with them + min-args: 1 + max-args: 500 + player-only: true + afk: + usage: /afk + description: Toggle afk status + min-args: 0 + max-args: 0 + player-only: true + reply: + aliases: + - r + usage: /reply + description: Replies to the last person you sent a message to or received one from + min-args: 1 + max-args: 500 + player-only: true + ignore: + aliases: + - i + usage: /ignore + description: Toggles ignoring a player + min-args: 1 + max-args: 1 + player-only: true + ignoregroup: + aliases: + - ig + - igroup + - ignoreg + usage: /ignoregroup + description: Toggles ignoring a group + min-args: 1 + max-args: 1 + player-only: true + groupc: + aliases: + - groupchat + - gchat + - gc + - g + usage: /gchat [message] + description: Enters a group chat or sends a message to a group chat + min-args: 1 + max-args: 2 + player-only: true + ignorelist: + usage: /ignorelist + description: Lists the players and groups you are ignoring + min-args: 0 + max-args: 0 + player-only: true + exit: + aliases: + - e + - local + usage: /exit + description: Exit private or group chats + min-args: 0 + max-args: 0 + player-only: true permissions: - CivChat2.*: + CivChat2.*: description: Gives access to /sayall - default: op + default: op \ No newline at end of file