Date: Mon, 20 Jul 2020 12:56:59 +0100
Subject: [PATCH 015/188] Updated descriptions for each of the new channels
---
.../multichat/common/communication/CommChannels.java | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/common/communication/CommChannels.java b/multichat/src/main/java/xyz/olivermartin/multichat/common/communication/CommChannels.java
index a65ba6a1..547eca91 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/common/communication/CommChannels.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/common/communication/CommChannels.java
@@ -36,8 +36,7 @@ public class CommChannels {
*
* This channel communicates the following from PROXY -> LOCAL:
*
- * - If the server should set the display name
- * - What the display name format is
+ * - Requests for player meta to be updated on proxy
*
*
*
@@ -115,6 +114,7 @@ public static String getServerChat() {
*
* - Player colour permissions
* - Player currently selected channels
+ * - Lists of channel members
*
*
*
@@ -139,10 +139,11 @@ public static String getPlayerData() {
* This channel communicates the following from PROXY -> LOCAL:
*
* - Player ignore map
- * - Channel member lists
* - Global chat format
* - If this server is a 'global chat server'
* - If this server is a legacy server
+ * - If the server should set the display name
+ * - What the display name format is
*
*
*
From d6a6a529e60e34f542daf4a3152d35964a5ffb16 Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Mon, 20 Jul 2020 12:58:02 +0100
Subject: [PATCH 016/188] Removed unnecessary comments
---
.../common/communication/CommChannels.java | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/common/communication/CommChannels.java b/multichat/src/main/java/xyz/olivermartin/multichat/common/communication/CommChannels.java
index 547eca91..13411ff0 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/common/communication/CommChannels.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/common/communication/CommChannels.java
@@ -8,25 +8,25 @@ public class CommChannels {
private static String prefix = "multichat:";
// Player meta communication (prefix, suffix, displayname etc.)
- private static String playerMeta = "pmeta"; // Bungee listener is implemented & registered
+ private static String playerMeta = "pmeta";
// Chat messages sent by players
- private static String playerChat = "pchat"; // Bungee listener is implemented & registered
+ private static String playerChat = "pchat";
// Chat messages sent by non-player objects (casts, announcements etc.)
- private static String serverChat = "schat"; // Bungee listener is implemented & registered
+ private static String serverChat = "schat";
- // Data about specific players (colour permissions etc.)
- private static String playerData = "pdata"; // NOT REGISTERED ANYWHERE
+ // Data about specific players (selected channels, colour permissions etc.)
+ private static String playerData = "pdata";
- // Data about the server as a whole (ignoremap, channel members, global chat servers, legacy servers etc.)
- private static String serverData = "sdata"; // NOT REGISTERED ANYWHERE
+ // Data about the server as a whole (ignoremap, global chat servers, display name formats, legacy servers etc.)
+ private static String serverData = "sdata";
// Actions for the server console (mce/pxe)
- private static String serverAction = "sact"; // Bungee listener is implemented & registered
+ private static String serverAction = "sact";
// Actions for players (mce players, ppxe)
- private static String playerAction = "pact"; // Bungee listener is implemented & registered
+ private static String playerAction = "pact";
/**
* Gets the channel id used for:
From de4dc7d0eef4a26aaaec5727ebb55832fcd4628e Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Mon, 20 Jul 2020 13:05:05 +0100
Subject: [PATCH 017/188] Moved configDir to MultiChatProxy API
---
.../multichat/bungee/MultiChat.java | 45 ++++++++++++++++---
.../multichat/bungee/UUIDNameManager.java | 12 +++--
.../proxy/common/MultiChatProxy.java | 20 +++++++++
3 files changed, 67 insertions(+), 10 deletions(-)
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
index 659185aa..c9be6db0 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
@@ -28,6 +28,7 @@
import net.md_5.bungee.event.EventHandler;
import xyz.olivermartin.multichat.common.communication.CommChannels;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
+import xyz.olivermartin.multichat.proxy.common.MultiChatProxyPlatform;
import xyz.olivermartin.multichat.proxy.common.ProxyDataStore;
import xyz.olivermartin.multichat.proxy.common.ProxyLocalCommunicationManager;
import xyz.olivermartin.multichat.proxy.common.listeners.communication.ProxyPlayerActionListener;
@@ -80,7 +81,6 @@ public class MultiChat extends Plugin implements Listener {
};
- public static File configDir;
public static String configversion;
public static String defaultChannel = "";
@@ -261,25 +261,29 @@ public void onEnable() {
@SuppressWarnings("unused")
Metrics metrics = new Metrics(this);
+ MultiChatProxyPlatform platform = MultiChatProxyPlatform.BUNGEE;
+ MultiChatProxy.getInstance().registerPlatform(platform);
+
ProxyDataStore dataStore = new ProxyDataStore();
MultiChatProxy.getInstance().registerDataStore(dataStore);
- configDir = getDataFolder();
+ File configDirectory = getDataFolder();
if (!getDataFolder().exists()) {
System.out.println("[MultiChat] Creating plugin directory!");
getDataFolder().mkdirs();
}
+ MultiChatProxy.getInstance().registerConfigDirectory(configDirectory);
- String translationsDir = configDir.toString() + File.separator + "translations";
+ String translationsDir = configDirectory.toString() + File.separator + "translations";
if (!new File(translationsDir).exists()) {
System.out.println("[MultiChat] Creating translations directory!");
new File(translationsDir).mkdirs();
}
- ConfigManager.getInstance().registerHandler("config.yml", configDir);
- ConfigManager.getInstance().registerHandler("joinmessages.yml", configDir);
- ConfigManager.getInstance().registerHandler("messages.yml", configDir);
- ConfigManager.getInstance().registerHandler("chatcontrol.yml", configDir);
+ ConfigManager.getInstance().registerHandler("config.yml", configDirectory);
+ ConfigManager.getInstance().registerHandler("joinmessages.yml", configDirectory);
+ ConfigManager.getInstance().registerHandler("messages.yml", configDirectory);
+ ConfigManager.getInstance().registerHandler("chatcontrol.yml", configDirectory);
ConfigManager.getInstance().registerHandler("messages_fr.yml", new File(translationsDir));
ConfigManager.getInstance().registerHandler("joinmessages_fr.yml", new File(translationsDir));
@@ -513,6 +517,8 @@ public void unregisterCommands(Configuration configYML, Configuration chatcontro
public static void saveAnnouncements() {
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
+
try {
File file = new File(configDir, "Announcements.dat");
FileOutputStream saveFile = new FileOutputStream(file);
@@ -528,6 +534,8 @@ public static void saveAnnouncements() {
public static void saveBulletins() {
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
+
try {
File file = new File(configDir, "Bulletins.dat");
FileOutputStream saveFile = new FileOutputStream(file);
@@ -545,6 +553,7 @@ public static void saveBulletins() {
public static void saveChatInfo() {
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
ProxyDataStore ds = MultiChatProxy.getInstance().getDataStore();
try {
@@ -573,6 +582,7 @@ public static void saveChatInfo() {
public static void saveGroupChatInfo() {
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
ProxyDataStore ds = MultiChatProxy.getInstance().getDataStore();
try {
@@ -590,6 +600,8 @@ public static void saveGroupChatInfo() {
public static void saveCasts() {
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
+
try {
File file = new File(configDir, "Casts.dat");
FileOutputStream saveFile = new FileOutputStream(file);
@@ -605,6 +617,7 @@ public static void saveCasts() {
public static void saveGroupSpyInfo() {
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
ProxyDataStore ds = MultiChatProxy.getInstance().getDataStore();
try {
@@ -622,6 +635,7 @@ public static void saveGroupSpyInfo() {
public static void saveSocialSpyInfo() {
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
ProxyDataStore ds = MultiChatProxy.getInstance().getDataStore();
try {
@@ -639,6 +653,8 @@ public static void saveSocialSpyInfo() {
public static void saveGlobalChatInfo() {
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
+
try {
File file = new File(configDir, "GlobalChatInfo.dat");
FileOutputStream saveFile = new FileOutputStream(file);
@@ -654,6 +670,8 @@ public static void saveGlobalChatInfo() {
public static void saveMute() {
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
+
try {
File file = new File(configDir, "Mute.dat");
FileOutputStream saveFile = new FileOutputStream(file);
@@ -669,6 +687,7 @@ public static void saveMute() {
public static void saveIgnore() {
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
Configuration config = ConfigManager.getInstance().getHandler("chatcontrol.yml").getConfig();
if (config.getBoolean("session_ignore")) return;
@@ -689,6 +708,7 @@ public static void saveIgnore() {
@SuppressWarnings("unchecked")
public static HashMap loadModChatInfo() {
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
HashMap result = null;
try {
@@ -709,6 +729,7 @@ public static HashMap loadModChatInfo() {
@SuppressWarnings("unchecked")
public static void loadBulletins() {
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
ArrayList result = null;
boolean enabled = false;
int timeBetween = 0;
@@ -735,6 +756,7 @@ public static void loadBulletins() {
@SuppressWarnings("unchecked")
public static HashMap loadAnnouncements() {
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
HashMap result = null;
try {
@@ -755,6 +777,7 @@ public static HashMap loadAnnouncements() {
@SuppressWarnings("unchecked")
public static HashMap loadAdminChatInfo() {
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
HashMap result = null;
try {
@@ -775,6 +798,7 @@ public static HashMap loadAdminChatInfo() {
@SuppressWarnings("unchecked")
public static HashMap loadCasts() {
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
HashMap result = null;
try {
@@ -795,6 +819,7 @@ public static HashMap loadCasts() {
@SuppressWarnings("unchecked")
public static HashMap loadGroupChatInfo() {
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
HashMap result = null;
try {
@@ -815,6 +840,7 @@ public static HashMap loadGroupChatInfo() {
@SuppressWarnings("unchecked")
public static List loadGroupSpyInfo() {
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
List result = null;
try {
@@ -835,6 +861,7 @@ public static List loadGroupSpyInfo() {
@SuppressWarnings("unchecked")
public static List loadSocialSpyInfo() {
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
List result = null;
try {
@@ -855,6 +882,7 @@ public static List loadSocialSpyInfo() {
@SuppressWarnings("unchecked")
public static Map loadGlobalChatInfo() {
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
Map result = null;
try {
@@ -875,6 +903,7 @@ public static Map loadGlobalChatInfo() {
@SuppressWarnings("unchecked")
public static Set loadMute() {
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
Set result = null;
try {
@@ -895,6 +924,7 @@ public static Set loadMute() {
@SuppressWarnings("unchecked")
public static Map> loadIgnore() {
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
Configuration config = ConfigManager.getInstance().getHandler("chatcontrol.yml").getConfig();
if (config.getBoolean("session_ignore")) return new HashMap>();
@@ -918,6 +948,7 @@ public static Map> loadIgnore() {
public static void Startup() {
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
ProxyDataStore ds = MultiChatProxy.getInstance().getDataStore();
System.out.println("[MultiChat] Starting load routine for data files");
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/UUIDNameManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/UUIDNameManager.java
index 97283381..ec69f676 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/UUIDNameManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/UUIDNameManager.java
@@ -10,6 +10,8 @@
import java.util.Map;
import java.util.UUID;
+import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
+
/**
* UUID - NAME Manager
* Manages storage of UUIDS with their currently associated username
@@ -35,8 +37,10 @@ public static String getName(UUID uuid) {
public static void saveUUIDS() {
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
+
try {
- File file = new File(MultiChat.configDir, "MultiChatUUIDName.dat");
+ File file = new File(configDir, "MultiChatUUIDName.dat");
FileOutputStream saveFile = new FileOutputStream(file);
ObjectOutputStream out = new ObjectOutputStream(saveFile);
out.writeObject(uuidname);
@@ -51,10 +55,11 @@ public static void saveUUIDS() {
@SuppressWarnings("unchecked")
public static HashMap loadUUIDS() {
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
HashMap result = null;
try {
- File file = new File(MultiChat.configDir, "MultiChatUUIDName.dat");
+ File file = new File(configDir, "MultiChatUUIDName.dat");
FileInputStream saveFile = new FileInputStream(file);
ObjectInputStream in = new ObjectInputStream(saveFile);
result = (HashMap)in.readObject();
@@ -70,7 +75,8 @@ public static HashMap loadUUIDS() {
public static void Startup() {
- File f = new File(MultiChat.configDir, "MultiChatUUIDName.dat");
+ File configDir = MultiChatProxy.getInstance().getConfigDirectory();
+ File f = new File(configDir, "MultiChatUUIDName.dat");
if ((f.exists()) && (!f.isDirectory())) {
uuidname.putAll(loadUUIDS());
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/MultiChatProxy.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/MultiChatProxy.java
index 080f07a0..0bdac7ac 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/MultiChatProxy.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/MultiChatProxy.java
@@ -1,5 +1,7 @@
package xyz.olivermartin.multichat.proxy.common;
+import java.io.File;
+
/**
* This is MultiChat's API running on the network proxy server
*
@@ -20,12 +22,30 @@ public static MultiChatProxy getInstance() {
/* END STATIC */
+ private MultiChatProxyPlatform platform;
+ private File configDirectory;
private ProxyDataStore dataStore;
/* END ATTRIBUTES */
private MultiChatProxy() { /* EMPTY */ }
+ public MultiChatProxyPlatform getPlatform() {
+ return this.platform;
+ }
+
+ public void registerPlatform(MultiChatProxyPlatform platform) {
+ this.platform = platform;
+ }
+
+ public File getConfigDirectory() {
+ return this.configDirectory;
+ }
+
+ public void registerConfigDirectory(File configDirectory) {
+ this.configDirectory = configDirectory;
+ }
+
public ProxyDataStore getDataStore() {
return this.dataStore;
}
From 27e5fc88c5a002a44637bc798abc244330ed17be Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Mon, 20 Jul 2020 13:43:37 +0100
Subject: [PATCH 018/188] Moved Announcements data file to new ProxyFileStore
system
---
.../multichat/bungee/MultiChat.java | 75 ++++--------------
.../bungee/commands/MultiChatCommand.java | 5 +-
.../proxy/common/MultiChatProxy.java | 11 +++
.../storage/ProxyAnnouncementsFileStore.java | 63 +++++++++++++++
.../proxy/common/storage/ProxyFileStore.java | 9 +++
.../common/storage/ProxyFileStoreManager.java | 40 ++++++++++
.../common/storage/ProxyGenericFileStore.java | 78 +++++++++++++++++++
7 files changed, 222 insertions(+), 59 deletions(-)
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/ProxyAnnouncementsFileStore.java
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/ProxyFileStore.java
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/ProxyFileStoreManager.java
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/ProxyGenericFileStore.java
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
index c9be6db0..5513a5b6 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
@@ -35,6 +35,8 @@
import xyz.olivermartin.multichat.proxy.common.listeners.communication.ProxyPlayerChatListener;
import xyz.olivermartin.multichat.proxy.common.listeners.communication.ProxyPlayerMetaListener;
import xyz.olivermartin.multichat.proxy.common.listeners.communication.ProxyServerActionListener;
+import xyz.olivermartin.multichat.proxy.common.storage.ProxyAnnouncementsFileStore;
+import xyz.olivermartin.multichat.proxy.common.storage.ProxyFileStoreManager;
/**
@@ -82,7 +84,9 @@ public class MultiChat extends Plugin implements Listener {
};
public static String configversion;
+ private static MultiChat instance;
+ // Config values
public static String defaultChannel = "";
public static boolean forceChannelOnJoin = false;
@@ -90,8 +94,6 @@ public class MultiChat extends Plugin implements Listener {
public static boolean logStaffChat = true;
public static boolean logGroupChat = true;
- private static MultiChat instance;
-
public static boolean premiumVanish = false;
public static boolean hideVanishedStaffInMsg = true;
public static boolean hideVanishedStaffInStaffList = true;
@@ -111,12 +113,14 @@ public void run() {
getLogger().info("Commencing backup!");
+ MultiChatProxy.getInstance().getFileStoreManager().save();
+
saveChatInfo();
saveGroupChatInfo();
saveGroupSpyInfo();
saveGlobalChatInfo();
saveSocialSpyInfo();
- saveAnnouncements();
+ // TODO Legacy saveAnnouncements();
saveBulletins();
saveCasts();
saveMute();
@@ -331,6 +335,13 @@ public void onEnable() {
System.out.println("[MultiChat] Config Version: " + configversion);
// Run start-up routines
+ ProxyFileStoreManager fileStoreManager = new ProxyFileStoreManager();
+
+ fileStoreManager.registerFileStore("announcements.dat",
+ new ProxyAnnouncementsFileStore("Announcements.dat", configDirectory));
+
+ MultiChatProxy.getInstance().registerFileStoreManager(fileStoreManager);
+
Startup();
UUIDNameManager.Startup();
@@ -395,12 +406,14 @@ public void onDisable() {
getLogger().info("Thankyou for using MultiChat. Disabling...");
+ MultiChatProxy.getInstance().getFileStoreManager().save();
+
saveChatInfo();
saveGroupChatInfo();
saveGroupSpyInfo();
saveGlobalChatInfo();
saveSocialSpyInfo();
- saveAnnouncements();
+ // TODO Legacy saveAnnouncements();
saveBulletins();
saveCasts();
saveMute();
@@ -515,23 +528,6 @@ public void unregisterCommands(Configuration configYML, Configuration chatcontro
}
- public static void saveAnnouncements() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
-
- try {
- File file = new File(configDir, "Announcements.dat");
- FileOutputStream saveFile = new FileOutputStream(file);
- ObjectOutputStream out = new ObjectOutputStream(saveFile);
- out.writeObject(Announcements.getAnnouncementList());
- out.close();
- } catch (IOException e) {
- System.out.println("[MultiChat] [Save Error] An error has occured writing the announcements file!");
- e.printStackTrace();
- }
-
- }
-
public static void saveBulletins() {
File configDir = MultiChatProxy.getInstance().getConfigDirectory();
@@ -753,27 +749,6 @@ public static void loadBulletins() {
}
- @SuppressWarnings("unchecked")
- public static HashMap loadAnnouncements() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
- HashMap result = null;
-
- try {
- File file = new File(configDir, "Announcements.dat");
- FileInputStream saveFile = new FileInputStream(file);
- ObjectInputStream in = new ObjectInputStream(saveFile);
- result = (HashMap)in.readObject();
- in.close();
- } catch (IOException|ClassNotFoundException e) {
- System.out.println("[MultiChat] [Load Error] An error has occured reading the announcements file!");
- e.printStackTrace();
- }
-
- return result;
-
- }
-
@SuppressWarnings("unchecked")
public static HashMap loadAdminChatInfo() {
@@ -1035,22 +1010,6 @@ public static void Startup() {
}
- File f7 = new File(configDir, "Announcements.dat");
-
- if ((f7.exists()) && (!f7.isDirectory())) {
-
- Announcements.loadAnnouncementList((loadAnnouncements()));
-
- } else {
-
- System.out.println("[MultiChat] Some announcements files do not exist to load. Must be first startup!");
- System.out.println("[MultiChat] Welcome to MultiChat! :D");
- System.out.println("[MultiChat] Attempting to create hash files!");
- saveAnnouncements();
- System.out.println("[MultiChat] The files were created!");
-
- }
-
File f8 = new File(configDir, "Bulletins.dat");
if ((f8.exists()) && (!f8.isDirectory())) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
index f60fe8f3..4d1085e4 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
@@ -13,6 +13,7 @@
import xyz.olivermartin.multichat.bungee.MessageManager;
import xyz.olivermartin.multichat.bungee.MultiChat;
import xyz.olivermartin.multichat.bungee.UUIDNameManager;
+import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
/**
* MultiChat (Admin) Command
@@ -78,12 +79,14 @@ public void execute(CommandSender sender, String[] args) {
MessageManager.sendMessage(sender, "command_multichat_save_prepare");
+ MultiChatProxy.getInstance().getFileStoreManager().save();
+
MultiChat.saveChatInfo();
MultiChat.saveGroupChatInfo();
MultiChat.saveGroupSpyInfo();
MultiChat.saveGlobalChatInfo();
MultiChat.saveSocialSpyInfo();
- MultiChat.saveAnnouncements();
+ //TODO Legacy MultiChat.saveAnnouncements();
MultiChat.saveBulletins();
MultiChat.saveCasts();
MultiChat.saveMute();
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/MultiChatProxy.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/MultiChatProxy.java
index 0bdac7ac..ece753c5 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/MultiChatProxy.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/MultiChatProxy.java
@@ -2,6 +2,8 @@
import java.io.File;
+import xyz.olivermartin.multichat.proxy.common.storage.ProxyFileStoreManager;
+
/**
* This is MultiChat's API running on the network proxy server
*
@@ -25,6 +27,7 @@ public static MultiChatProxy getInstance() {
private MultiChatProxyPlatform platform;
private File configDirectory;
private ProxyDataStore dataStore;
+ private ProxyFileStoreManager fileStoreManager;
/* END ATTRIBUTES */
@@ -54,4 +57,12 @@ public void registerDataStore(ProxyDataStore dataStore) {
this.dataStore = dataStore;
}
+ public ProxyFileStoreManager getFileStoreManager() {
+ return this.fileStoreManager;
+ }
+
+ public void registerFileStoreManager(ProxyFileStoreManager fileStoreManager) {
+ this.fileStoreManager = fileStoreManager;
+ }
+
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/ProxyAnnouncementsFileStore.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/ProxyAnnouncementsFileStore.java
new file mode 100644
index 00000000..61c56652
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/ProxyAnnouncementsFileStore.java
@@ -0,0 +1,63 @@
+package xyz.olivermartin.multichat.proxy.common.storage;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.util.HashMap;
+
+import xyz.olivermartin.multichat.bungee.Announcements;
+
+public class ProxyAnnouncementsFileStore extends ProxyGenericFileStore {
+
+ public ProxyAnnouncementsFileStore(String fileName, File fileDirectory) {
+ super(fileName, fileDirectory);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected boolean loadFile(File file) {
+
+ HashMap result = null;
+
+ try {
+
+ FileInputStream stream = new FileInputStream(file);
+ ObjectInputStream in = new ObjectInputStream(stream);
+ result = (HashMap)in.readObject();
+ in.close();
+ Announcements.loadAnnouncementList(result);
+ return true;
+
+ } catch (IOException|ClassNotFoundException e) {
+
+ e.printStackTrace();
+ return false;
+
+ }
+
+ }
+
+ @Override
+ protected boolean saveFile(File file) {
+
+ try {
+
+ FileOutputStream stream = new FileOutputStream(file);
+ ObjectOutputStream out = new ObjectOutputStream(stream);
+ out.writeObject(Announcements.getAnnouncementList());
+ out.close();
+ return true;
+
+ } catch (IOException e) {
+
+ e.printStackTrace();
+ return false;
+
+ }
+
+ }
+
+}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/ProxyFileStore.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/ProxyFileStore.java
new file mode 100644
index 00000000..eb58dc28
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/ProxyFileStore.java
@@ -0,0 +1,9 @@
+package xyz.olivermartin.multichat.proxy.common.storage;
+
+public interface ProxyFileStore {
+
+ public boolean reload();
+
+ public boolean save();
+
+}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/ProxyFileStoreManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/ProxyFileStoreManager.java
new file mode 100644
index 00000000..0288b2e3
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/ProxyFileStoreManager.java
@@ -0,0 +1,40 @@
+package xyz.olivermartin.multichat.proxy.common.storage;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Optional;
+
+public class ProxyFileStoreManager {
+
+ Map fileStores;
+
+ public ProxyFileStoreManager() {
+ this.fileStores = new HashMap();
+ }
+
+ public void registerFileStore(String id, ProxyFileStore fileStore) {
+ this.fileStores.put(id.toLowerCase(), fileStore);
+ }
+
+ public void unregisterFileStore(String id) {
+ this.fileStores.remove(id.toLowerCase());
+ }
+
+ public Optional getFileStore(String id) {
+ if (!fileStores.containsKey(id.toLowerCase())) return Optional.empty();
+ return Optional.of(fileStores.get(id.toLowerCase()));
+ }
+
+ public void reload() {
+ for (ProxyFileStore fileStore : fileStores.values()) {
+ fileStore.reload();
+ }
+ }
+
+ public void save() {
+ for (ProxyFileStore fileStore : fileStores.values()) {
+ fileStore.save();
+ }
+ }
+
+}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/ProxyGenericFileStore.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/ProxyGenericFileStore.java
new file mode 100644
index 00000000..492fcd5f
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/ProxyGenericFileStore.java
@@ -0,0 +1,78 @@
+package xyz.olivermartin.multichat.proxy.common.storage;
+
+import java.io.File;
+
+import xyz.olivermartin.multichat.bungee.DebugManager;
+
+public abstract class ProxyGenericFileStore implements ProxyFileStore {
+
+ private String fileName;
+ private File fileDirectory;
+
+ public ProxyGenericFileStore(String fileName, File fileDirectory) {
+ this.fileName = fileName;
+ this.fileDirectory = fileDirectory;
+ startupFile();
+ }
+
+ public String getFileName() {
+ return fileName;
+ }
+
+ public File getFileDirectory() {
+ return this.fileDirectory;
+ }
+
+ public File getFile() {
+ return new File(fileDirectory, fileName);
+ }
+
+ protected boolean startupFile() {
+
+ File file = getFile();
+
+ boolean status;
+
+ if (!file.exists()) {
+ status = saveFile(file);
+ DebugManager.log("[ProxyFileStore] [" + getFileName() + "] Created new file (was successful = " + status + ")");
+ }
+
+ status = loadFile(file);
+ DebugManager.log("[ProxyFileStore] [" + getFileName() + "] Loaded file (was successful = " + status + ")");
+
+ return status;
+
+ }
+
+ /**
+ * Save the data to file
+ * @return true if successful
+ */
+ public boolean save() {
+ return saveFile(getFile());
+ }
+
+ /**
+ * Load the data from the file into the system (overwrites anything currently loaded)
+ * @return true if successful
+ */
+ public boolean reload() {
+ return startupFile();
+ }
+
+ /**
+ * Load the file contents into the correct place
+ * @param file
+ * @return true if successful
+ */
+ protected abstract boolean loadFile(File file);
+
+ /**
+ * Save the file contents from the correct place
+ * @param file
+ * @return true if successful
+ */
+ protected abstract boolean saveFile(File file);
+
+}
From 9edd8cb488fa409eca78582f35e28a6798d60b27 Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Mon, 20 Jul 2020 13:54:22 +0100
Subject: [PATCH 019/188] Moved the individual file data stores to their own
package
---
.../main/java/xyz/olivermartin/multichat/bungee/MultiChat.java | 2 +-
.../storage/{ => files}/ProxyAnnouncementsFileStore.java | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
rename multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/{ => files}/ProxyAnnouncementsFileStore.java (86%)
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
index 5513a5b6..ecc05402 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
@@ -35,8 +35,8 @@
import xyz.olivermartin.multichat.proxy.common.listeners.communication.ProxyPlayerChatListener;
import xyz.olivermartin.multichat.proxy.common.listeners.communication.ProxyPlayerMetaListener;
import xyz.olivermartin.multichat.proxy.common.listeners.communication.ProxyServerActionListener;
-import xyz.olivermartin.multichat.proxy.common.storage.ProxyAnnouncementsFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.ProxyFileStoreManager;
+import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyAnnouncementsFileStore;
/**
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/ProxyAnnouncementsFileStore.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyAnnouncementsFileStore.java
similarity index 86%
rename from multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/ProxyAnnouncementsFileStore.java
rename to multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyAnnouncementsFileStore.java
index 61c56652..0009fdc9 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/ProxyAnnouncementsFileStore.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyAnnouncementsFileStore.java
@@ -1,4 +1,4 @@
-package xyz.olivermartin.multichat.proxy.common.storage;
+package xyz.olivermartin.multichat.proxy.common.storage.files;
import java.io.File;
import java.io.FileInputStream;
@@ -9,6 +9,7 @@
import java.util.HashMap;
import xyz.olivermartin.multichat.bungee.Announcements;
+import xyz.olivermartin.multichat.proxy.common.storage.ProxyGenericFileStore;
public class ProxyAnnouncementsFileStore extends ProxyGenericFileStore {
From a5f898ce968584539a7083a0f5c5fdd6e07da2c6 Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Mon, 20 Jul 2020 14:02:55 +0100
Subject: [PATCH 020/188] Implemented new Bulletins file
---
.../multichat/bungee/MultiChat.java | 70 ++----------------
.../bungee/commands/MultiChatCommand.java | 2 +-
.../files/ProxyBulletinsFileStore.java | 71 +++++++++++++++++++
3 files changed, 78 insertions(+), 65 deletions(-)
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyBulletinsFileStore.java
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
index ecc05402..94c62c62 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
@@ -37,6 +37,7 @@
import xyz.olivermartin.multichat.proxy.common.listeners.communication.ProxyServerActionListener;
import xyz.olivermartin.multichat.proxy.common.storage.ProxyFileStoreManager;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyAnnouncementsFileStore;
+import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyBulletinsFileStore;
/**
@@ -121,7 +122,7 @@ public void run() {
saveGlobalChatInfo();
saveSocialSpyInfo();
// TODO Legacy saveAnnouncements();
- saveBulletins();
+ // saveBulletins();
saveCasts();
saveMute();
saveIgnore();
@@ -340,6 +341,9 @@ public void onEnable() {
fileStoreManager.registerFileStore("announcements.dat",
new ProxyAnnouncementsFileStore("Announcements.dat", configDirectory));
+ fileStoreManager.registerFileStore("bulletins.dat",
+ new ProxyBulletinsFileStore("Bulletins.dat", configDirectory));
+
MultiChatProxy.getInstance().registerFileStoreManager(fileStoreManager);
Startup();
@@ -414,7 +418,7 @@ public void onDisable() {
saveGlobalChatInfo();
saveSocialSpyInfo();
// TODO Legacy saveAnnouncements();
- saveBulletins();
+ // saveBulletins();
saveCasts();
saveMute();
saveIgnore();
@@ -528,25 +532,6 @@ public void unregisterCommands(Configuration configYML, Configuration chatcontro
}
- public static void saveBulletins() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
-
- try {
- File file = new File(configDir, "Bulletins.dat");
- FileOutputStream saveFile = new FileOutputStream(file);
- ObjectOutputStream out = new ObjectOutputStream(saveFile);
- out.writeBoolean(Bulletins.isEnabled());
- out.writeInt(Bulletins.getTimeBetween());
- out.writeObject(Bulletins.getArrayList());
- out.close();
- } catch (IOException e) {
- System.out.println("[MultiChat] [Save Error] An error has occured writing the bulletins file!");
- e.printStackTrace();
- }
-
- }
-
public static void saveChatInfo() {
File configDir = MultiChatProxy.getInstance().getConfigDirectory();
@@ -722,33 +707,6 @@ public static HashMap loadModChatInfo() {
}
- @SuppressWarnings("unchecked")
- public static void loadBulletins() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
- ArrayList result = null;
- boolean enabled = false;
- int timeBetween = 0;
-
- try {
- File file = new File(configDir, "Bulletins.dat");
- FileInputStream saveFile = new FileInputStream(file);
- ObjectInputStream in = new ObjectInputStream(saveFile);
- enabled = in.readBoolean();
- timeBetween = in.readInt();
- result = (ArrayList)in.readObject();
- in.close();
- Bulletins.setArrayList(result);
- if (enabled) {
- Bulletins.startBulletins(timeBetween);
- }
- } catch (IOException|ClassNotFoundException e) {
- System.out.println("[MultiChat] [Load Error] An error has occured reading the bulletins file!");
- e.printStackTrace();
- }
-
- }
-
@SuppressWarnings("unchecked")
public static HashMap loadAdminChatInfo() {
@@ -1010,22 +968,6 @@ public static void Startup() {
}
- File f8 = new File(configDir, "Bulletins.dat");
-
- if ((f8.exists()) && (!f8.isDirectory())) {
-
- loadBulletins();
-
- } else {
-
- System.out.println("[MultiChat] Some bulletins files do not exist to load. Must be first startup!");
- System.out.println("[MultiChat] Welcome to MultiChat! :D");
- System.out.println("[MultiChat] Attempting to create hash files!");
- saveBulletins();
- System.out.println("[MultiChat] The files were created!");
-
- }
-
File f9 = new File(configDir, "Casts.dat");
if ((f9.exists()) && (!f9.isDirectory())) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
index 4d1085e4..724bbcb6 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
@@ -87,7 +87,7 @@ public void execute(CommandSender sender, String[] args) {
MultiChat.saveGlobalChatInfo();
MultiChat.saveSocialSpyInfo();
//TODO Legacy MultiChat.saveAnnouncements();
- MultiChat.saveBulletins();
+ //MultiChat.saveBulletins();
MultiChat.saveCasts();
MultiChat.saveMute();
MultiChat.saveIgnore();
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyBulletinsFileStore.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyBulletinsFileStore.java
new file mode 100644
index 00000000..22cdf627
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyBulletinsFileStore.java
@@ -0,0 +1,71 @@
+package xyz.olivermartin.multichat.proxy.common.storage.files;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.util.ArrayList;
+
+import xyz.olivermartin.multichat.bungee.Bulletins;
+import xyz.olivermartin.multichat.proxy.common.storage.ProxyGenericFileStore;
+
+public class ProxyBulletinsFileStore extends ProxyGenericFileStore {
+
+ public ProxyBulletinsFileStore(String fileName, File fileDirectory) {
+ super(fileName, fileDirectory);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected boolean loadFile(File file) {
+
+ ArrayList result = null;
+ boolean enabled = false;
+ int timeBetween = 0;
+
+ try {
+
+ FileInputStream stream = new FileInputStream(file);
+ ObjectInputStream in = new ObjectInputStream(stream);
+ enabled = in.readBoolean();
+ timeBetween = in.readInt();
+ result = (ArrayList)in.readObject();
+ in.close();
+ Bulletins.setArrayList(result);
+ if (enabled) Bulletins.startBulletins(timeBetween);
+ return true;
+
+ } catch (IOException|ClassNotFoundException e) {
+
+ e.printStackTrace();
+ return false;
+
+ }
+
+ }
+
+ @Override
+ protected boolean saveFile(File file) {
+
+ try {
+
+ FileOutputStream stream = new FileOutputStream(file);
+ ObjectOutputStream out = new ObjectOutputStream(stream);
+ out.writeBoolean(Bulletins.isEnabled());
+ out.writeInt(Bulletins.getTimeBetween());
+ out.writeObject(Bulletins.getArrayList());
+ out.close();
+ return true;
+
+ } catch (IOException e) {
+
+ e.printStackTrace();
+ return false;
+
+ }
+
+ }
+
+}
From ccecf78ed5405d0272edf73c0c3099ed20b71770 Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Tue, 21 Jul 2020 17:46:17 +0100
Subject: [PATCH 021/188] Moved StaffChatInfo and AdminChatInfo files to new
file stores
---
.../multichat/bungee/MultiChat.java | 106 ++----------------
.../bungee/commands/MultiChatCommand.java | 2 +-
.../files/ProxyAdminChatFileStore.java | 71 ++++++++++++
.../files/ProxyStaffChatFileStore.java | 71 ++++++++++++
4 files changed, 155 insertions(+), 95 deletions(-)
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyAdminChatFileStore.java
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyStaffChatFileStore.java
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
index 22ca0b7f..a17a814d 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
@@ -15,7 +15,6 @@
import java.util.UUID;
import java.util.concurrent.TimeUnit;
-import com.olivermartin410.plugins.TChatInfo;
import com.olivermartin410.plugins.TGroupChatInfo;
import net.md_5.bungee.api.ProxyServer;
@@ -36,8 +35,10 @@
import xyz.olivermartin.multichat.proxy.common.listeners.communication.ProxyPlayerMetaListener;
import xyz.olivermartin.multichat.proxy.common.listeners.communication.ProxyServerActionListener;
import xyz.olivermartin.multichat.proxy.common.storage.ProxyFileStoreManager;
+import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyAdminChatFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyAnnouncementsFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyBulletinsFileStore;
+import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyStaffChatFileStore;
/**
@@ -54,8 +55,8 @@ public class MultiChat extends Plugin implements Listener {
public static final String[] ALLOWED_VERSIONS = new String[] {
LATEST_VERSION,
- "1.9.5",
- "1.9.4",
+ "1.9.5",
+ "1.9.4",
"1.9.3",
"1.9.2",
"1.9.1",
@@ -118,7 +119,7 @@ public void run() {
MultiChatProxy.getInstance().getFileStoreManager().save();
- saveChatInfo();
+ //saveChatInfo();
saveGroupChatInfo();
saveGroupSpyInfo();
saveGlobalChatInfo();
@@ -346,6 +347,12 @@ public void onEnable() {
fileStoreManager.registerFileStore("bulletins.dat",
new ProxyBulletinsFileStore("Bulletins.dat", configDirectory));
+ fileStoreManager.registerFileStore("staffchatinfo.dat",
+ new ProxyStaffChatFileStore("StaffChatInfo.dat", configDirectory));
+
+ fileStoreManager.registerFileStore("adminchatinfo.dat",
+ new ProxyAdminChatFileStore("AdminChatInfo.dat", configDirectory));
+
MultiChatProxy.getInstance().registerFileStoreManager(fileStoreManager);
Startup();
@@ -414,7 +421,7 @@ public void onDisable() {
MultiChatProxy.getInstance().getFileStoreManager().save();
- saveChatInfo();
+ //saveChatInfo();
saveGroupChatInfo();
saveGroupSpyInfo();
saveGlobalChatInfo();
@@ -534,35 +541,6 @@ public void unregisterCommands(Configuration configYML, Configuration chatcontro
}
- public static void saveChatInfo() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
- ProxyDataStore ds = MultiChatProxy.getInstance().getDataStore();
-
- try {
- File file = new File(configDir, "StaffChatInfo.dat");
- FileOutputStream saveFile = new FileOutputStream(file);
- ObjectOutputStream out = new ObjectOutputStream(saveFile);
- out.writeObject(ds.getModChatPreferences());
- out.close();
- } catch (IOException e) {
- System.out.println("[MultiChat] [Save Error] An error has occured writing the mod chat info file!");
- e.printStackTrace();
- }
-
- try {
- File file = new File(configDir, "AdminChatInfo.dat");
- FileOutputStream saveFile = new FileOutputStream(file);
- ObjectOutputStream out = new ObjectOutputStream(saveFile);
- out.writeObject(ds.getAdminChatPreferences());
- out.close();
- } catch (IOException e) {
- System.out.println("[MultiChat] [Save Error] An error has occured writing the admin chat info file!");
- e.printStackTrace();
- }
-
- }
-
public static void saveGroupChatInfo() {
File configDir = MultiChatProxy.getInstance().getConfigDirectory();
@@ -688,48 +666,6 @@ public static void saveIgnore() {
}
- @SuppressWarnings("unchecked")
- public static HashMap loadModChatInfo() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
- HashMap result = null;
-
- try {
- File file = new File(configDir, "StaffChatInfo.dat");
- FileInputStream saveFile = new FileInputStream(file);
- ObjectInputStream in = new ObjectInputStream(saveFile);
- result = (HashMap)in.readObject();
- in.close();
- } catch (IOException|ClassNotFoundException e) {
- System.out.println("[MultiChat] [Load Error] An error has occured reading the mod chat info file!");
- e.printStackTrace();
- }
-
- return result;
-
- }
-
- @SuppressWarnings("unchecked")
- public static HashMap loadAdminChatInfo() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
- HashMap result = null;
-
- try {
- File file = new File(configDir, "AdminChatInfo.dat");
- FileInputStream saveFile = new FileInputStream(file);
- ObjectInputStream in = new ObjectInputStream(saveFile);
- result = (HashMap)in.readObject();
- in.close();
- } catch (IOException|ClassNotFoundException e) {
- System.out.println("[MultiChat] [Load Error] An error has occured reading the admin chat info file!");
- e.printStackTrace();
- }
-
- return result;
-
- }
-
@SuppressWarnings("unchecked")
public static HashMap loadCasts() {
@@ -888,24 +824,6 @@ public static void Startup() {
System.out.println("[MultiChat] Starting load routine for data files");
- File f = new File(configDir, "StaffChatInfo.dat");
- File f2 = new File(configDir, "AdminChatInfo.dat");
-
- if ((f.exists()) && (!f.isDirectory()) && (f2.exists()) && (!f2.isDirectory())) {
-
- ds.setModChatPreferences(loadModChatInfo());
- ds.setAdminChatPreferences(loadAdminChatInfo());
-
- } else {
-
- System.out.println("[MultiChat] Some staff chat files do not exist to load. Must be first startup!");
- System.out.println("[MultiChat] Welcome to MultiChat! :D");
- System.out.println("[MultiChat] Attempting to create hash files!");
- saveChatInfo();
- System.out.println("[MultiChat] The files were created!");
-
- }
-
File f3 = new File(configDir, "GroupChatInfo.dat");
if ((f3.exists()) && (!f3.isDirectory())) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
index 724bbcb6..11ee8a56 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
@@ -81,7 +81,7 @@ public void execute(CommandSender sender, String[] args) {
MultiChatProxy.getInstance().getFileStoreManager().save();
- MultiChat.saveChatInfo();
+ //MultiChat.saveChatInfo();
MultiChat.saveGroupChatInfo();
MultiChat.saveGroupSpyInfo();
MultiChat.saveGlobalChatInfo();
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyAdminChatFileStore.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyAdminChatFileStore.java
new file mode 100644
index 00000000..bf66fc92
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyAdminChatFileStore.java
@@ -0,0 +1,71 @@
+package xyz.olivermartin.multichat.proxy.common.storage.files;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.util.HashMap;
+import java.util.UUID;
+
+import com.olivermartin410.plugins.TChatInfo;
+
+import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
+import xyz.olivermartin.multichat.proxy.common.ProxyDataStore;
+import xyz.olivermartin.multichat.proxy.common.storage.ProxyGenericFileStore;
+
+public class ProxyAdminChatFileStore extends ProxyGenericFileStore {
+
+ public ProxyAdminChatFileStore(String fileName, File fileDirectory) {
+ super(fileName, fileDirectory);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected boolean loadFile(File file) {
+
+ ProxyDataStore ds = MultiChatProxy.getInstance().getDataStore();
+ HashMap result = null;
+
+ try {
+
+ FileInputStream saveFile = new FileInputStream(file);
+ ObjectInputStream in = new ObjectInputStream(saveFile);
+ result = (HashMap)in.readObject();
+ in.close();
+ ds.setAdminChatPreferences(result);
+ return true;
+
+ } catch (IOException|ClassNotFoundException e) {
+
+ e.printStackTrace();
+ return false;
+
+ }
+
+ }
+
+ @Override
+ protected boolean saveFile(File file) {
+
+ ProxyDataStore ds = MultiChatProxy.getInstance().getDataStore();
+
+ try {
+
+ FileOutputStream stream = new FileOutputStream(file);
+ ObjectOutputStream out = new ObjectOutputStream(stream);
+ out.writeObject(ds.getAdminChatPreferences());
+ out.close();
+ return true;
+
+ } catch (IOException e) {
+
+ e.printStackTrace();
+ return false;
+
+ }
+
+ }
+
+}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyStaffChatFileStore.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyStaffChatFileStore.java
new file mode 100644
index 00000000..2b7a7aaf
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyStaffChatFileStore.java
@@ -0,0 +1,71 @@
+package xyz.olivermartin.multichat.proxy.common.storage.files;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.util.HashMap;
+import java.util.UUID;
+
+import com.olivermartin410.plugins.TChatInfo;
+
+import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
+import xyz.olivermartin.multichat.proxy.common.ProxyDataStore;
+import xyz.olivermartin.multichat.proxy.common.storage.ProxyGenericFileStore;
+
+public class ProxyStaffChatFileStore extends ProxyGenericFileStore {
+
+ public ProxyStaffChatFileStore(String fileName, File fileDirectory) {
+ super(fileName, fileDirectory);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected boolean loadFile(File file) {
+
+ ProxyDataStore ds = MultiChatProxy.getInstance().getDataStore();
+ HashMap result = null;
+
+ try {
+
+ FileInputStream stream = new FileInputStream(file);
+ ObjectInputStream in = new ObjectInputStream(stream);
+ result = (HashMap)in.readObject();
+ in.close();
+ ds.setModChatPreferences(result);
+ return true;
+
+ } catch (IOException|ClassNotFoundException e) {
+
+ e.printStackTrace();
+ return false;
+
+ }
+
+ }
+
+ @Override
+ protected boolean saveFile(File file) {
+
+ ProxyDataStore ds = MultiChatProxy.getInstance().getDataStore();
+
+ try {
+
+ FileOutputStream stream = new FileOutputStream(file);
+ ObjectOutputStream out = new ObjectOutputStream(stream);
+ out.writeObject(ds.getModChatPreferences());
+ out.close();
+ return true;
+
+ } catch (IOException e) {
+
+ e.printStackTrace();
+ return false;
+
+ }
+
+ }
+
+}
From c606e3d78b0fc0932c7b98664ca032750fbd0b54 Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Tue, 21 Jul 2020 18:01:43 +0100
Subject: [PATCH 022/188] Moved GroupChatInfo.dat file to the new File Stores
---
.../multichat/bungee/MultiChat.java | 64 ++---------------
.../bungee/commands/MultiChatCommand.java | 2 +-
.../files/ProxyGroupChatFileStore.java | 70 +++++++++++++++++++
3 files changed, 76 insertions(+), 60 deletions(-)
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyGroupChatFileStore.java
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
index a17a814d..30e83356 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
@@ -15,8 +15,6 @@
import java.util.UUID;
import java.util.concurrent.TimeUnit;
-import com.olivermartin410.plugins.TGroupChatInfo;
-
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.event.PostLoginEvent;
@@ -120,7 +118,7 @@ public void run() {
MultiChatProxy.getInstance().getFileStoreManager().save();
//saveChatInfo();
- saveGroupChatInfo();
+ //saveGroupChatInfo();
saveGroupSpyInfo();
saveGlobalChatInfo();
saveSocialSpyInfo();
@@ -353,6 +351,9 @@ public void onEnable() {
fileStoreManager.registerFileStore("adminchatinfo.dat",
new ProxyAdminChatFileStore("AdminChatInfo.dat", configDirectory));
+ fileStoreManager.registerFileStore("groupchatinfo.dat",
+ new ProxyAdminChatFileStore("GroupChatInfo.dat", configDirectory));
+
MultiChatProxy.getInstance().registerFileStoreManager(fileStoreManager);
Startup();
@@ -422,7 +423,7 @@ public void onDisable() {
MultiChatProxy.getInstance().getFileStoreManager().save();
//saveChatInfo();
- saveGroupChatInfo();
+ //saveGroupChatInfo();
saveGroupSpyInfo();
saveGlobalChatInfo();
saveSocialSpyInfo();
@@ -541,24 +542,6 @@ public void unregisterCommands(Configuration configYML, Configuration chatcontro
}
- public static void saveGroupChatInfo() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
- ProxyDataStore ds = MultiChatProxy.getInstance().getDataStore();
-
- try {
- File file = new File(configDir, "GroupChatInfo.dat");
- FileOutputStream saveFile = new FileOutputStream(file);
- ObjectOutputStream out = new ObjectOutputStream(saveFile);
- out.writeObject(ds.getGroupChats());
- out.close();
- } catch (IOException e) {
- System.out.println("[MultiChat] [Save Error] An error has occured writing the group chat info file!");
- e.printStackTrace();
- }
-
- }
-
public static void saveCasts() {
File configDir = MultiChatProxy.getInstance().getConfigDirectory();
@@ -687,27 +670,6 @@ public static HashMap loadCasts() {
}
- @SuppressWarnings("unchecked")
- public static HashMap loadGroupChatInfo() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
- HashMap result = null;
-
- try {
- File file = new File(configDir, "GroupChatInfo.dat");
- FileInputStream saveFile = new FileInputStream(file);
- ObjectInputStream in = new ObjectInputStream(saveFile);
- result = (HashMap)in.readObject();
- in.close();
- } catch (IOException|ClassNotFoundException e) {
- System.out.println("[MultiChat] [Load Error] An error has occured reading the group chat info file!");
- e.printStackTrace();
- }
-
- return result;
-
- }
-
@SuppressWarnings("unchecked")
public static List loadGroupSpyInfo() {
@@ -824,22 +786,6 @@ public static void Startup() {
System.out.println("[MultiChat] Starting load routine for data files");
- File f3 = new File(configDir, "GroupChatInfo.dat");
-
- if ((f3.exists()) && (!f3.isDirectory())) {
-
- ds.setGroupChats(loadGroupChatInfo());
-
- } else {
-
- System.out.println("[MultiChat] Some group chat files do not exist to load. Must be first startup!");
- System.out.println("[MultiChat] Enabling Group Chats! :D");
- System.out.println("[MultiChat] Attempting to create hash files!");
- saveGroupChatInfo();
- System.out.println("[MultiChat] The files were created!");
-
- }
-
File f4 = new File(configDir, "GroupSpyInfo.dat");
if ((f4.exists()) && (!f4.isDirectory())) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
index 11ee8a56..0b547800 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
@@ -82,7 +82,7 @@ public void execute(CommandSender sender, String[] args) {
MultiChatProxy.getInstance().getFileStoreManager().save();
//MultiChat.saveChatInfo();
- MultiChat.saveGroupChatInfo();
+ //MultiChat.saveGroupChatInfo();
MultiChat.saveGroupSpyInfo();
MultiChat.saveGlobalChatInfo();
MultiChat.saveSocialSpyInfo();
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyGroupChatFileStore.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyGroupChatFileStore.java
new file mode 100644
index 00000000..0bd359bf
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyGroupChatFileStore.java
@@ -0,0 +1,70 @@
+package xyz.olivermartin.multichat.proxy.common.storage.files;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.util.HashMap;
+
+import com.olivermartin410.plugins.TGroupChatInfo;
+
+import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
+import xyz.olivermartin.multichat.proxy.common.ProxyDataStore;
+import xyz.olivermartin.multichat.proxy.common.storage.ProxyGenericFileStore;
+
+public class ProxyGroupChatFileStore extends ProxyGenericFileStore {
+
+ public ProxyGroupChatFileStore(String fileName, File fileDirectory) {
+ super(fileName, fileDirectory);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected boolean loadFile(File file) {
+
+ ProxyDataStore ds = MultiChatProxy.getInstance().getDataStore();
+ HashMap result = null;
+
+ try {
+
+ FileInputStream stream = new FileInputStream(file);
+ ObjectInputStream in = new ObjectInputStream(stream);
+ result = (HashMap)in.readObject();
+ in.close();
+ ds.setGroupChats(result);
+ return true;
+
+ } catch (IOException|ClassNotFoundException e) {
+
+ e.printStackTrace();
+ return false;
+
+ }
+
+ }
+
+ @Override
+ protected boolean saveFile(File file) {
+
+ ProxyDataStore ds = MultiChatProxy.getInstance().getDataStore();
+
+ try {
+
+ FileOutputStream stream = new FileOutputStream(file);
+ ObjectOutputStream out = new ObjectOutputStream(stream);
+ out.writeObject(ds.getGroupChats());
+ out.close();
+ return true;
+
+ } catch (IOException e) {
+
+ e.printStackTrace();
+ return false;
+
+ }
+
+ }
+
+}
From 9872e285b9a15906d4bb962ed30f33452fd14b2c Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Tue, 21 Jul 2020 18:02:24 +0100
Subject: [PATCH 023/188] Fixed typo in last commit
---
.../main/java/xyz/olivermartin/multichat/bungee/MultiChat.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
index 30e83356..2d5ddef2 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
@@ -36,6 +36,7 @@
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyAdminChatFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyAnnouncementsFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyBulletinsFileStore;
+import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyGroupChatFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyStaffChatFileStore;
@@ -352,7 +353,7 @@ public void onEnable() {
new ProxyAdminChatFileStore("AdminChatInfo.dat", configDirectory));
fileStoreManager.registerFileStore("groupchatinfo.dat",
- new ProxyAdminChatFileStore("GroupChatInfo.dat", configDirectory));
+ new ProxyGroupChatFileStore("GroupChatInfo.dat", configDirectory));
MultiChatProxy.getInstance().registerFileStoreManager(fileStoreManager);
From c33bd208007cf66609afe4f0f5174b883d27d864 Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Tue, 21 Jul 2020 18:07:16 +0100
Subject: [PATCH 024/188] Changed spigot api version to 1.13 (no longer listed
as legacy)
---
multichat/src/main/resources/plugin.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/multichat/src/main/resources/plugin.yml b/multichat/src/main/resources/plugin.yml
index 169f336c..c82fb345 100644
--- a/multichat/src/main/resources/plugin.yml
+++ b/multichat/src/main/resources/plugin.yml
@@ -1,6 +1,7 @@
name: MultiChat
version: 1.10
author: Revilo410
+api-version: 1.13
main: xyz.olivermartin.multichat.local.spigot.MultiChatLocalSpigotPlugin
softdepend: [Vault,PlaceholderAPI]
commands:
From 0f71bec516f905a88ec4d935c9cebe4bfd83a830 Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Tue, 21 Jul 2020 18:17:12 +0100
Subject: [PATCH 025/188] Moved GroupSpyInfo.dat files to new FileStore
---
.../multichat/bungee/MultiChat.java | 65 ++---------------
.../bungee/commands/MultiChatCommand.java | 2 +-
.../storage/files/ProxyGroupSpyFileStore.java | 69 +++++++++++++++++++
3 files changed, 77 insertions(+), 59 deletions(-)
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyGroupSpyFileStore.java
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
index 2d5ddef2..dd2d7db0 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
@@ -37,6 +37,7 @@
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyAnnouncementsFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyBulletinsFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyGroupChatFileStore;
+import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyGroupSpyFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyStaffChatFileStore;
@@ -120,7 +121,7 @@ public void run() {
//saveChatInfo();
//saveGroupChatInfo();
- saveGroupSpyInfo();
+ //saveGroupSpyInfo();
saveGlobalChatInfo();
saveSocialSpyInfo();
// TODO Legacy saveAnnouncements();
@@ -355,6 +356,9 @@ public void onEnable() {
fileStoreManager.registerFileStore("groupchatinfo.dat",
new ProxyGroupChatFileStore("GroupChatInfo.dat", configDirectory));
+ fileStoreManager.registerFileStore("groupspyinfo.dat",
+ new ProxyGroupSpyFileStore("GroupSpyInfo.dat", configDirectory));
+
MultiChatProxy.getInstance().registerFileStoreManager(fileStoreManager);
Startup();
@@ -425,7 +429,7 @@ public void onDisable() {
//saveChatInfo();
//saveGroupChatInfo();
- saveGroupSpyInfo();
+ //saveGroupSpyInfo();
saveGlobalChatInfo();
saveSocialSpyInfo();
// TODO Legacy saveAnnouncements();
@@ -560,24 +564,6 @@ public static void saveCasts() {
}
- public static void saveGroupSpyInfo() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
- ProxyDataStore ds = MultiChatProxy.getInstance().getDataStore();
-
- try {
- File file = new File(configDir, "GroupSpyInfo.dat");
- FileOutputStream saveFile = new FileOutputStream(file);
- ObjectOutputStream out = new ObjectOutputStream(saveFile);
- out.writeObject(ds.getAllSpy());
- out.close();
- } catch (IOException e) {
- System.out.println("[MultiChat] [Save Error] An error has occured writing the group spy info file!");
- e.printStackTrace();
- }
-
- }
-
public static void saveSocialSpyInfo() {
File configDir = MultiChatProxy.getInstance().getConfigDirectory();
@@ -671,27 +657,6 @@ public static HashMap loadCasts() {
}
- @SuppressWarnings("unchecked")
- public static List loadGroupSpyInfo() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
- List result = null;
-
- try {
- File file = new File(configDir, "GroupSpyInfo.dat");
- FileInputStream saveFile = new FileInputStream(file);
- ObjectInputStream in = new ObjectInputStream(saveFile);
- result = (List)in.readObject();
- in.close();
- } catch (IOException|ClassNotFoundException e) {
- System.out.println("[MultiChat] [Load Error] An error has occured reading the group spy info file!");
- e.printStackTrace();
- }
-
- return result;
-
- }
-
@SuppressWarnings("unchecked")
public static List loadSocialSpyInfo() {
@@ -787,22 +752,6 @@ public static void Startup() {
System.out.println("[MultiChat] Starting load routine for data files");
- File f4 = new File(configDir, "GroupSpyInfo.dat");
-
- if ((f4.exists()) && (!f4.isDirectory())) {
-
- ds.setAllSpy(loadGroupSpyInfo());
-
- } else {
-
- System.out.println("[MultiChat] Some group spy files do not exist to load. Must be first startup!");
- System.out.println("[MultiChat] Enabling Group-Spy! :D");
- System.out.println("[MultiChat] Attempting to create hash files!");
- saveGroupSpyInfo();
- System.out.println("[MultiChat] The files were created!");
-
- }
-
File f5 = new File(configDir, "GlobalChatInfo.dat");
if ((f5.exists()) && (!f5.isDirectory())) {
@@ -830,7 +779,7 @@ public static void Startup() {
System.out.println("[MultiChat] Some social spy files do not exist to load. Must be first startup!");
System.out.println("[MultiChat] Enabling Social Spy! :D");
System.out.println("[MultiChat] Attempting to create hash files!");
- saveGroupSpyInfo();
+ saveSocialSpyInfo();
System.out.println("[MultiChat] The files were created!");
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
index 0b547800..14dd46de 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
@@ -83,7 +83,7 @@ public void execute(CommandSender sender, String[] args) {
//MultiChat.saveChatInfo();
//MultiChat.saveGroupChatInfo();
- MultiChat.saveGroupSpyInfo();
+ //MultiChat.saveGroupSpyInfo();
MultiChat.saveGlobalChatInfo();
MultiChat.saveSocialSpyInfo();
//TODO Legacy MultiChat.saveAnnouncements();
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyGroupSpyFileStore.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyGroupSpyFileStore.java
new file mode 100644
index 00000000..d42c153e
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyGroupSpyFileStore.java
@@ -0,0 +1,69 @@
+package xyz.olivermartin.multichat.proxy.common.storage.files;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.util.List;
+import java.util.UUID;
+
+import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
+import xyz.olivermartin.multichat.proxy.common.ProxyDataStore;
+import xyz.olivermartin.multichat.proxy.common.storage.ProxyGenericFileStore;
+
+public class ProxyGroupSpyFileStore extends ProxyGenericFileStore {
+
+ public ProxyGroupSpyFileStore(String fileName, File fileDirectory) {
+ super(fileName, fileDirectory);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected boolean loadFile(File file) {
+
+ ProxyDataStore ds = MultiChatProxy.getInstance().getDataStore();
+ List result = null;
+
+ try {
+
+ FileInputStream saveFile = new FileInputStream(file);
+ ObjectInputStream in = new ObjectInputStream(saveFile);
+ result = (List)in.readObject();
+ in.close();
+ ds.setAllSpy(result);
+ return true;
+
+ } catch (IOException|ClassNotFoundException e) {
+
+ e.printStackTrace();
+ return false;
+
+ }
+
+ }
+
+ @Override
+ protected boolean saveFile(File file) {
+
+ ProxyDataStore ds = MultiChatProxy.getInstance().getDataStore();
+
+ try {
+
+ FileOutputStream stream = new FileOutputStream(file);
+ ObjectOutputStream out = new ObjectOutputStream(stream);
+ out.writeObject(ds.getAllSpy());
+ out.close();
+ return true;
+
+ } catch (IOException e) {
+
+ e.printStackTrace();
+ return false;
+
+ }
+
+ }
+
+}
From 29ad906ca675de0f9edf220a485f0c175cb6b9a2 Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Tue, 21 Jul 2020 18:22:06 +0100
Subject: [PATCH 026/188] Moved Casts.dat to new File Store
---
.../multichat/bungee/MultiChat.java | 62 ++----------------
.../bungee/commands/MultiChatCommand.java | 2 +-
.../storage/files/ProxyCastsFileStore.java | 64 +++++++++++++++++++
3 files changed, 71 insertions(+), 57 deletions(-)
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyCastsFileStore.java
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
index dd2d7db0..57aedcc5 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
@@ -36,6 +36,7 @@
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyAdminChatFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyAnnouncementsFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyBulletinsFileStore;
+import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyCastsFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyGroupChatFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyGroupSpyFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyStaffChatFileStore;
@@ -126,7 +127,7 @@ public void run() {
saveSocialSpyInfo();
// TODO Legacy saveAnnouncements();
// saveBulletins();
- saveCasts();
+ //saveCasts();
saveMute();
saveIgnore();
UUIDNameManager.saveUUIDS();
@@ -359,6 +360,9 @@ public void onEnable() {
fileStoreManager.registerFileStore("groupspyinfo.dat",
new ProxyGroupSpyFileStore("GroupSpyInfo.dat", configDirectory));
+ fileStoreManager.registerFileStore("casts.dat",
+ new ProxyCastsFileStore("Casts.dat", configDirectory));
+
MultiChatProxy.getInstance().registerFileStoreManager(fileStoreManager);
Startup();
@@ -434,7 +438,7 @@ public void onDisable() {
saveSocialSpyInfo();
// TODO Legacy saveAnnouncements();
// saveBulletins();
- saveCasts();
+ //saveCasts();
saveMute();
saveIgnore();
UUIDNameManager.saveUUIDS();
@@ -547,23 +551,6 @@ public void unregisterCommands(Configuration configYML, Configuration chatcontro
}
- public static void saveCasts() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
-
- try {
- File file = new File(configDir, "Casts.dat");
- FileOutputStream saveFile = new FileOutputStream(file);
- ObjectOutputStream out = new ObjectOutputStream(saveFile);
- out.writeObject(CastControl.castList);
- out.close();
- } catch (IOException e) {
- System.out.println("[MultiChat] [Save Error] An error has occured writing the casts file!");
- e.printStackTrace();
- }
-
- }
-
public static void saveSocialSpyInfo() {
File configDir = MultiChatProxy.getInstance().getConfigDirectory();
@@ -636,27 +623,6 @@ public static void saveIgnore() {
}
- @SuppressWarnings("unchecked")
- public static HashMap loadCasts() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
- HashMap result = null;
-
- try {
- File file = new File(configDir, "Casts.dat");
- FileInputStream saveFile = new FileInputStream(file);
- ObjectInputStream in = new ObjectInputStream(saveFile);
- result = (HashMap)in.readObject();
- in.close();
- } catch (IOException|ClassNotFoundException e) {
- System.out.println("[MultiChat] [Load Error] An error has occured reading the casts file!");
- e.printStackTrace();
- }
-
- return result;
-
- }
-
@SuppressWarnings("unchecked")
public static List loadSocialSpyInfo() {
@@ -784,22 +750,6 @@ public static void Startup() {
}
- File f9 = new File(configDir, "Casts.dat");
-
- if ((f9.exists()) && (!f9.isDirectory())) {
-
- CastControl.castList = loadCasts();
-
- } else {
-
- System.out.println("[MultiChat] Some casts files do not exist to load. Must be first startup!");
- System.out.println("[MultiChat] Welcome to MultiChat! :D");
- System.out.println("[MultiChat] Attempting to create hash files!");
- saveCasts();
- System.out.println("[MultiChat] The files were created!");
-
- }
-
File f10 = new File(configDir, "Mute.dat");
if ((f10.exists()) && (!f10.isDirectory())) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
index 14dd46de..82f18235 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
@@ -88,7 +88,7 @@ public void execute(CommandSender sender, String[] args) {
MultiChat.saveSocialSpyInfo();
//TODO Legacy MultiChat.saveAnnouncements();
//MultiChat.saveBulletins();
- MultiChat.saveCasts();
+ //MultiChat.saveCasts();
MultiChat.saveMute();
MultiChat.saveIgnore();
UUIDNameManager.saveUUIDS();
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyCastsFileStore.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyCastsFileStore.java
new file mode 100644
index 00000000..7bd9049f
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyCastsFileStore.java
@@ -0,0 +1,64 @@
+package xyz.olivermartin.multichat.proxy.common.storage.files;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.util.HashMap;
+
+import xyz.olivermartin.multichat.bungee.CastControl;
+import xyz.olivermartin.multichat.proxy.common.storage.ProxyGenericFileStore;
+
+public class ProxyCastsFileStore extends ProxyGenericFileStore {
+
+ public ProxyCastsFileStore(String fileName, File fileDirectory) {
+ super(fileName, fileDirectory);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected boolean loadFile(File file) {
+
+ HashMap result = null;
+
+ try {
+
+ FileInputStream saveFile = new FileInputStream(file);
+ ObjectInputStream in = new ObjectInputStream(saveFile);
+ result = (HashMap)in.readObject();
+ in.close();
+ CastControl.castList = result;
+ return true;
+
+ } catch (IOException|ClassNotFoundException e) {
+
+ e.printStackTrace();
+ return false;
+
+ }
+
+ }
+
+ @Override
+ protected boolean saveFile(File file) {
+
+ try {
+
+ FileOutputStream saveFile = new FileOutputStream(file);
+ ObjectOutputStream out = new ObjectOutputStream(saveFile);
+ out.writeObject(CastControl.castList);
+ out.close();
+ return true;
+
+ } catch (IOException e) {
+
+ e.printStackTrace();
+ return false;
+
+ }
+
+ }
+
+}
From 9c8207c06db2989b6e5eb869d8a7cf9533ece0d5 Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Tue, 21 Jul 2020 19:04:02 +0100
Subject: [PATCH 027/188] Moved the SocialSpyInfo.dat file to new File Stores
---
.../multichat/bungee/MultiChat.java | 64 ++---------------
.../bungee/commands/MultiChatCommand.java | 2 +-
.../files/ProxySocialSpyFileStore.java | 69 +++++++++++++++++++
3 files changed, 76 insertions(+), 59 deletions(-)
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxySocialSpyFileStore.java
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
index 57aedcc5..4b853c9b 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
@@ -39,6 +39,7 @@
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyCastsFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyGroupChatFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyGroupSpyFileStore;
+import xyz.olivermartin.multichat.proxy.common.storage.files.ProxySocialSpyFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyStaffChatFileStore;
@@ -124,7 +125,7 @@ public void run() {
//saveGroupChatInfo();
//saveGroupSpyInfo();
saveGlobalChatInfo();
- saveSocialSpyInfo();
+ //saveSocialSpyInfo();
// TODO Legacy saveAnnouncements();
// saveBulletins();
//saveCasts();
@@ -363,6 +364,9 @@ public void onEnable() {
fileStoreManager.registerFileStore("casts.dat",
new ProxyCastsFileStore("Casts.dat", configDirectory));
+ fileStoreManager.registerFileStore("socialspyinfo.dat",
+ new ProxySocialSpyFileStore("SocialSpyInfo.dat", configDirectory));
+
MultiChatProxy.getInstance().registerFileStoreManager(fileStoreManager);
Startup();
@@ -435,7 +439,7 @@ public void onDisable() {
//saveGroupChatInfo();
//saveGroupSpyInfo();
saveGlobalChatInfo();
- saveSocialSpyInfo();
+ //saveSocialSpyInfo();
// TODO Legacy saveAnnouncements();
// saveBulletins();
//saveCasts();
@@ -551,24 +555,6 @@ public void unregisterCommands(Configuration configYML, Configuration chatcontro
}
- public static void saveSocialSpyInfo() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
- ProxyDataStore ds = MultiChatProxy.getInstance().getDataStore();
-
- try {
- File file = new File(configDir, "SocialSpyInfo.dat");
- FileOutputStream saveFile = new FileOutputStream(file);
- ObjectOutputStream out = new ObjectOutputStream(saveFile);
- out.writeObject(ds.getSocialSpy());
- out.close();
- } catch (IOException e) {
- System.out.println("[MultiChat] [Save Error] An error has occured writing the social spy info file!");
- e.printStackTrace();
- }
-
- }
-
public static void saveGlobalChatInfo() {
File configDir = MultiChatProxy.getInstance().getConfigDirectory();
@@ -623,27 +609,6 @@ public static void saveIgnore() {
}
- @SuppressWarnings("unchecked")
- public static List loadSocialSpyInfo() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
- List result = null;
-
- try {
- File file = new File(configDir, "SocialSpyInfo.dat");
- FileInputStream saveFile = new FileInputStream(file);
- ObjectInputStream in = new ObjectInputStream(saveFile);
- result = (List)in.readObject();
- in.close();
- } catch (IOException|ClassNotFoundException e) {
- System.out.println("[MultiChat] [Load Error] An error has occured reading the social spy info file!");
- e.printStackTrace();
- }
-
- return result;
-
- }
-
@SuppressWarnings("unchecked")
public static Map loadGlobalChatInfo() {
@@ -714,7 +679,6 @@ public static Map> loadIgnore() {
public static void Startup() {
File configDir = MultiChatProxy.getInstance().getConfigDirectory();
- ProxyDataStore ds = MultiChatProxy.getInstance().getDataStore();
System.out.println("[MultiChat] Starting load routine for data files");
@@ -734,22 +698,6 @@ public static void Startup() {
}
- File f6 = new File(configDir, "SocialSpyInfo.dat");
-
- if ((f6.exists()) && (!f6.isDirectory())) {
-
- ds.setSocialSpy(loadSocialSpyInfo());
-
- } else {
-
- System.out.println("[MultiChat] Some social spy files do not exist to load. Must be first startup!");
- System.out.println("[MultiChat] Enabling Social Spy! :D");
- System.out.println("[MultiChat] Attempting to create hash files!");
- saveSocialSpyInfo();
- System.out.println("[MultiChat] The files were created!");
-
- }
-
File f10 = new File(configDir, "Mute.dat");
if ((f10.exists()) && (!f10.isDirectory())) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
index 82f18235..78ac196a 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
@@ -85,7 +85,7 @@ public void execute(CommandSender sender, String[] args) {
//MultiChat.saveGroupChatInfo();
//MultiChat.saveGroupSpyInfo();
MultiChat.saveGlobalChatInfo();
- MultiChat.saveSocialSpyInfo();
+ //MultiChat.saveSocialSpyInfo();
//TODO Legacy MultiChat.saveAnnouncements();
//MultiChat.saveBulletins();
//MultiChat.saveCasts();
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxySocialSpyFileStore.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxySocialSpyFileStore.java
new file mode 100644
index 00000000..8200669d
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxySocialSpyFileStore.java
@@ -0,0 +1,69 @@
+package xyz.olivermartin.multichat.proxy.common.storage.files;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.util.List;
+import java.util.UUID;
+
+import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
+import xyz.olivermartin.multichat.proxy.common.ProxyDataStore;
+import xyz.olivermartin.multichat.proxy.common.storage.ProxyGenericFileStore;
+
+public class ProxySocialSpyFileStore extends ProxyGenericFileStore {
+
+ public ProxySocialSpyFileStore(String fileName, File fileDirectory) {
+ super(fileName, fileDirectory);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected boolean loadFile(File file) {
+
+ ProxyDataStore ds = MultiChatProxy.getInstance().getDataStore();
+ List result = null;
+
+ try {
+
+ FileInputStream saveFile = new FileInputStream(file);
+ ObjectInputStream in = new ObjectInputStream(saveFile);
+ result = (List)in.readObject();
+ in.close();
+ ds.setSocialSpy(result);
+ return true;
+
+ } catch (IOException|ClassNotFoundException e) {
+
+ e.printStackTrace();
+ return false;
+
+ }
+
+ }
+
+ @Override
+ protected boolean saveFile(File file) {
+
+ ProxyDataStore ds = MultiChatProxy.getInstance().getDataStore();
+
+ try {
+
+ FileOutputStream saveFile = new FileOutputStream(file);
+ ObjectOutputStream out = new ObjectOutputStream(saveFile);
+ out.writeObject(ds.getSocialSpy());
+ out.close();
+ return true;
+
+ } catch (IOException e) {
+
+ e.printStackTrace();
+ return false;
+
+ }
+
+ }
+
+}
From 9c2b58b62c3cce82ba4d322eb9db45fa8258d4ee Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Tue, 21 Jul 2020 19:08:23 +0100
Subject: [PATCH 028/188] Moved GlobalChatInfo.dat to new File Stores
---
.../multichat/bungee/MultiChat.java | 62 ++----------------
.../bungee/commands/MultiChatCommand.java | 2 +-
.../files/ProxyGlobalChatFileStore.java | 65 +++++++++++++++++++
3 files changed, 72 insertions(+), 57 deletions(-)
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyGlobalChatFileStore.java
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
index 4b853c9b..3ea890ea 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
@@ -37,6 +37,7 @@
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyAnnouncementsFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyBulletinsFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyCastsFileStore;
+import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyGlobalChatFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyGroupChatFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyGroupSpyFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxySocialSpyFileStore;
@@ -124,7 +125,7 @@ public void run() {
//saveChatInfo();
//saveGroupChatInfo();
//saveGroupSpyInfo();
- saveGlobalChatInfo();
+ //saveGlobalChatInfo();
//saveSocialSpyInfo();
// TODO Legacy saveAnnouncements();
// saveBulletins();
@@ -367,6 +368,9 @@ public void onEnable() {
fileStoreManager.registerFileStore("socialspyinfo.dat",
new ProxySocialSpyFileStore("SocialSpyInfo.dat", configDirectory));
+ fileStoreManager.registerFileStore("globalchatinfo.dat",
+ new ProxyGlobalChatFileStore("GlobalChatInfo.dat", configDirectory));
+
MultiChatProxy.getInstance().registerFileStoreManager(fileStoreManager);
Startup();
@@ -438,7 +442,7 @@ public void onDisable() {
//saveChatInfo();
//saveGroupChatInfo();
//saveGroupSpyInfo();
- saveGlobalChatInfo();
+ //saveGlobalChatInfo();
//saveSocialSpyInfo();
// TODO Legacy saveAnnouncements();
// saveBulletins();
@@ -555,23 +559,6 @@ public void unregisterCommands(Configuration configYML, Configuration chatcontro
}
- public static void saveGlobalChatInfo() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
-
- try {
- File file = new File(configDir, "GlobalChatInfo.dat");
- FileOutputStream saveFile = new FileOutputStream(file);
- ObjectOutputStream out = new ObjectOutputStream(saveFile);
- out.writeObject(ChatModeManager.getInstance().getData());
- out.close();
- } catch (IOException e) {
- System.out.println("[MultiChat] [Save Error] An error has occured writing the global chat info file!");
- e.printStackTrace();
- }
-
- }
-
public static void saveMute() {
File configDir = MultiChatProxy.getInstance().getConfigDirectory();
@@ -609,27 +596,6 @@ public static void saveIgnore() {
}
- @SuppressWarnings("unchecked")
- public static Map loadGlobalChatInfo() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
- Map result = null;
-
- try {
- File file = new File(configDir, "GlobalChatInfo.dat");
- FileInputStream saveFile = new FileInputStream(file);
- ObjectInputStream in = new ObjectInputStream(saveFile);
- result = (Map)in.readObject();
- in.close();
- } catch (IOException|ClassNotFoundException e) {
- System.out.println("[MultiChat] [Load Error] An error has occured reading the global chat info file!");
- e.printStackTrace();
- }
-
- return result;
-
- }
-
@SuppressWarnings("unchecked")
public static Set loadMute() {
@@ -682,22 +648,6 @@ public static void Startup() {
System.out.println("[MultiChat] Starting load routine for data files");
- File f5 = new File(configDir, "GlobalChatInfo.dat");
-
- if ((f5.exists()) && (!f5.isDirectory())) {
-
- ChatModeManager.getInstance().loadData(loadGlobalChatInfo());
-
- } else {
-
- System.out.println("[MultiChat] Some global chat files do not exist to load. Must be first startup!");
- System.out.println("[MultiChat] Enabling Global Chat! :D");
- System.out.println("[MultiChat] Attempting to create hash files!");
- saveGlobalChatInfo();
- System.out.println("[MultiChat] The files were created!");
-
- }
-
File f10 = new File(configDir, "Mute.dat");
if ((f10.exists()) && (!f10.isDirectory())) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
index 78ac196a..62f2049d 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
@@ -84,7 +84,7 @@ public void execute(CommandSender sender, String[] args) {
//MultiChat.saveChatInfo();
//MultiChat.saveGroupChatInfo();
//MultiChat.saveGroupSpyInfo();
- MultiChat.saveGlobalChatInfo();
+ //MultiChat.saveGlobalChatInfo();
//MultiChat.saveSocialSpyInfo();
//TODO Legacy MultiChat.saveAnnouncements();
//MultiChat.saveBulletins();
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyGlobalChatFileStore.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyGlobalChatFileStore.java
new file mode 100644
index 00000000..ffd933ad
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyGlobalChatFileStore.java
@@ -0,0 +1,65 @@
+package xyz.olivermartin.multichat.proxy.common.storage.files;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.util.Map;
+import java.util.UUID;
+
+import xyz.olivermartin.multichat.bungee.ChatModeManager;
+import xyz.olivermartin.multichat.proxy.common.storage.ProxyGenericFileStore;
+
+public class ProxyGlobalChatFileStore extends ProxyGenericFileStore {
+
+ public ProxyGlobalChatFileStore(String fileName, File fileDirectory) {
+ super(fileName, fileDirectory);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected boolean loadFile(File file) {
+
+ Map result = null;
+
+ try {
+
+ FileInputStream saveFile = new FileInputStream(file);
+ ObjectInputStream in = new ObjectInputStream(saveFile);
+ result = (Map)in.readObject();
+ in.close();
+ ChatModeManager.getInstance().loadData(result);
+ return true;
+
+ } catch (IOException|ClassNotFoundException e) {
+
+ e.printStackTrace();
+ return false;
+
+ }
+
+ }
+
+ @Override
+ protected boolean saveFile(File file) {
+
+ try {
+
+ FileOutputStream saveFile = new FileOutputStream(file);
+ ObjectOutputStream out = new ObjectOutputStream(saveFile);
+ out.writeObject(ChatModeManager.getInstance().getData());
+ out.close();
+ return true;
+
+ } catch (IOException e) {
+
+ e.printStackTrace();
+ return false;
+
+ }
+
+ }
+
+}
From bde15ba11b5712c42c7943d24ed362cdaa2fa89e Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Tue, 21 Jul 2020 19:12:58 +0100
Subject: [PATCH 029/188] Moved Mute.dat to new File stores
---
.../multichat/bungee/MultiChat.java | 64 ++----------------
.../bungee/commands/MultiChatCommand.java | 2 +-
.../storage/files/ProxyMuteFileStore.java | 65 +++++++++++++++++++
3 files changed, 73 insertions(+), 58 deletions(-)
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyMuteFileStore.java
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
index 3ea890ea..e0c399b5 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
@@ -40,6 +40,7 @@
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyGlobalChatFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyGroupChatFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyGroupSpyFileStore;
+import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyMuteFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxySocialSpyFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyStaffChatFileStore;
@@ -130,7 +131,7 @@ public void run() {
// TODO Legacy saveAnnouncements();
// saveBulletins();
//saveCasts();
- saveMute();
+ //saveMute();
saveIgnore();
UUIDNameManager.saveUUIDS();
@@ -371,6 +372,9 @@ public void onEnable() {
fileStoreManager.registerFileStore("globalchatinfo.dat",
new ProxyGlobalChatFileStore("GlobalChatInfo.dat", configDirectory));
+ fileStoreManager.registerFileStore("mute.dat",
+ new ProxyMuteFileStore("Mute.dat", configDirectory));
+
MultiChatProxy.getInstance().registerFileStoreManager(fileStoreManager);
Startup();
@@ -447,7 +451,7 @@ public void onDisable() {
// TODO Legacy saveAnnouncements();
// saveBulletins();
//saveCasts();
- saveMute();
+ //saveMute();
saveIgnore();
UUIDNameManager.saveUUIDS();
@@ -559,23 +563,6 @@ public void unregisterCommands(Configuration configYML, Configuration chatcontro
}
- public static void saveMute() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
-
- try {
- File file = new File(configDir, "Mute.dat");
- FileOutputStream saveFile = new FileOutputStream(file);
- ObjectOutputStream out = new ObjectOutputStream(saveFile);
- out.writeObject(ChatControl.getMutedPlayers());
- out.close();
- } catch (IOException e) {
- System.out.println("[MultiChat] [Save Error] An error has occured writing the mute file!");
- e.printStackTrace();
- }
-
- }
-
public static void saveIgnore() {
File configDir = MultiChatProxy.getInstance().getConfigDirectory();
@@ -596,27 +583,6 @@ public static void saveIgnore() {
}
- @SuppressWarnings("unchecked")
- public static Set loadMute() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
- Set result = null;
-
- try {
- File file = new File(configDir, "Mute.dat");
- FileInputStream saveFile = new FileInputStream(file);
- ObjectInputStream in = new ObjectInputStream(saveFile);
- result = (Set)in.readObject();
- in.close();
- } catch (IOException|ClassNotFoundException e) {
- System.out.println("[MultiChat] [Load Error] An error has occured reading the mute file!");
- e.printStackTrace();
- }
-
- return result;
-
- }
-
@SuppressWarnings("unchecked")
public static Map> loadIgnore() {
@@ -648,22 +614,6 @@ public static void Startup() {
System.out.println("[MultiChat] Starting load routine for data files");
- File f10 = new File(configDir, "Mute.dat");
-
- if ((f10.exists()) && (!f10.isDirectory())) {
-
- ChatControl.setMutedPlayers(loadMute());
-
- } else {
-
- System.out.println("[MultiChat] Some mute files do not exist to load. Must be first startup!");
- System.out.println("[MultiChat] Welcome to MultiChat! :D");
- System.out.println("[MultiChat] Attempting to create hash files!");
- saveMute();
- System.out.println("[MultiChat] The files were created!");
-
- }
-
File f11 = new File(configDir, "Ignore.dat");
if ((f11.exists()) && (!f11.isDirectory())) {
@@ -675,7 +625,7 @@ public static void Startup() {
System.out.println("[MultiChat] Some ignore files do not exist to load. Must be first startup!");
System.out.println("[MultiChat] Welcome to MultiChat! :D");
System.out.println("[MultiChat] Attempting to create hash files!");
- saveMute();
+ saveIgnore();
System.out.println("[MultiChat] The files were created!");
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
index 62f2049d..3d97e3ba 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
@@ -89,7 +89,7 @@ public void execute(CommandSender sender, String[] args) {
//TODO Legacy MultiChat.saveAnnouncements();
//MultiChat.saveBulletins();
//MultiChat.saveCasts();
- MultiChat.saveMute();
+ //MultiChat.saveMute();
MultiChat.saveIgnore();
UUIDNameManager.saveUUIDS();
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyMuteFileStore.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyMuteFileStore.java
new file mode 100644
index 00000000..6beedb06
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyMuteFileStore.java
@@ -0,0 +1,65 @@
+package xyz.olivermartin.multichat.proxy.common.storage.files;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.util.Set;
+import java.util.UUID;
+
+import xyz.olivermartin.multichat.bungee.ChatControl;
+import xyz.olivermartin.multichat.proxy.common.storage.ProxyGenericFileStore;
+
+public class ProxyMuteFileStore extends ProxyGenericFileStore {
+
+ public ProxyMuteFileStore(String fileName, File fileDirectory) {
+ super(fileName, fileDirectory);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected boolean loadFile(File file) {
+
+ Set result = null;
+
+ try {
+
+ FileInputStream saveFile = new FileInputStream(file);
+ ObjectInputStream in = new ObjectInputStream(saveFile);
+ result = (Set)in.readObject();
+ in.close();
+ ChatControl.setMutedPlayers(result);
+ return true;
+
+ } catch (IOException|ClassNotFoundException e) {
+
+ e.printStackTrace();
+ return false;
+
+ }
+
+ }
+
+ @Override
+ protected boolean saveFile(File file) {
+
+ try {
+
+ FileOutputStream saveFile = new FileOutputStream(file);
+ ObjectOutputStream out = new ObjectOutputStream(saveFile);
+ out.writeObject(ChatControl.getMutedPlayers());
+ out.close();
+ return true;
+
+ } catch (IOException e) {
+
+ e.printStackTrace();
+ return false;
+
+ }
+
+ }
+
+}
From d859f7dd11ce1bfb3489cf82e23cbd887b773bc5 Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Tue, 21 Jul 2020 19:17:39 +0100
Subject: [PATCH 030/188] Added Ignore.dat to new File Stores
---
.../multichat/bungee/MultiChat.java | 104 +-----------------
.../bungee/commands/MultiChatCommand.java | 10 --
.../storage/files/ProxyIgnoreFileStore.java | 80 ++++++++++++++
3 files changed, 84 insertions(+), 110 deletions(-)
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyIgnoreFileStore.java
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
index e0c399b5..47d95c10 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
@@ -1,18 +1,9 @@
package xyz.olivermartin.multichat.bungee;
import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
import java.util.concurrent.TimeUnit;
import net.md_5.bungee.api.ProxyServer;
@@ -40,6 +31,7 @@
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyGlobalChatFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyGroupChatFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyGroupSpyFileStore;
+import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyIgnoreFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyMuteFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxySocialSpyFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyStaffChatFileStore;
@@ -123,16 +115,6 @@ public void run() {
MultiChatProxy.getInstance().getFileStoreManager().save();
- //saveChatInfo();
- //saveGroupChatInfo();
- //saveGroupSpyInfo();
- //saveGlobalChatInfo();
- //saveSocialSpyInfo();
- // TODO Legacy saveAnnouncements();
- // saveBulletins();
- //saveCasts();
- //saveMute();
- saveIgnore();
UUIDNameManager.saveUUIDS();
getLogger().info("Backup complete. Any errors reported above.");
@@ -375,9 +357,11 @@ public void onEnable() {
fileStoreManager.registerFileStore("mute.dat",
new ProxyMuteFileStore("Mute.dat", configDirectory));
+ fileStoreManager.registerFileStore("ignore.dat",
+ new ProxyIgnoreFileStore("Ignore.dat", configDirectory));
+
MultiChatProxy.getInstance().registerFileStoreManager(fileStoreManager);
- Startup();
UUIDNameManager.Startup();
// Set up chat control stuff
@@ -443,16 +427,6 @@ public void onDisable() {
MultiChatProxy.getInstance().getFileStoreManager().save();
- //saveChatInfo();
- //saveGroupChatInfo();
- //saveGroupSpyInfo();
- //saveGlobalChatInfo();
- //saveSocialSpyInfo();
- // TODO Legacy saveAnnouncements();
- // saveBulletins();
- //saveCasts();
- //saveMute();
- saveIgnore();
UUIDNameManager.saveUUIDS();
}
@@ -563,74 +537,4 @@ public void unregisterCommands(Configuration configYML, Configuration chatcontro
}
- public static void saveIgnore() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
- Configuration config = ConfigManager.getInstance().getHandler("chatcontrol.yml").getConfig();
-
- if (config.getBoolean("session_ignore")) return;
-
- try {
- File file = new File(configDir, "Ignore.dat");
- FileOutputStream saveFile = new FileOutputStream(file);
- ObjectOutputStream out = new ObjectOutputStream(saveFile);
- out.writeObject(ChatControl.getIgnoreMap());
- out.close();
- } catch (IOException e) {
- System.out.println("[MultiChat] [Save Error] An error has occured writing the ignore file!");
- e.printStackTrace();
- }
-
- }
-
- @SuppressWarnings("unchecked")
- public static Map> loadIgnore() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
- Configuration config = ConfigManager.getInstance().getHandler("chatcontrol.yml").getConfig();
-
- if (config.getBoolean("session_ignore")) return new HashMap>();
-
- Map> result = null;
-
- try {
- File file = new File(configDir, "Ignore.dat");
- FileInputStream saveFile = new FileInputStream(file);
- ObjectInputStream in = new ObjectInputStream(saveFile);
- result = (Map>)in.readObject();
- in.close();
- } catch (IOException|ClassNotFoundException e) {
- System.out.println("[MultiChat] [Load Error] An error has occured reading the ignore file!");
- e.printStackTrace();
- }
-
- return result;
-
- }
-
- public static void Startup() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
-
- System.out.println("[MultiChat] Starting load routine for data files");
-
- File f11 = new File(configDir, "Ignore.dat");
-
- if ((f11.exists()) && (!f11.isDirectory())) {
-
- ChatControl.setIgnoreMap(loadIgnore());
-
- } else {
-
- System.out.println("[MultiChat] Some ignore files do not exist to load. Must be first startup!");
- System.out.println("[MultiChat] Welcome to MultiChat! :D");
- System.out.println("[MultiChat] Attempting to create hash files!");
- saveIgnore();
- System.out.println("[MultiChat] The files were created!");
-
- }
-
- System.out.println("[MultiChat] [COMPLETE] Load sequence finished! (Any errors reported above)");
-
- }
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
index 3d97e3ba..6ac9089a 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
@@ -81,16 +81,6 @@ public void execute(CommandSender sender, String[] args) {
MultiChatProxy.getInstance().getFileStoreManager().save();
- //MultiChat.saveChatInfo();
- //MultiChat.saveGroupChatInfo();
- //MultiChat.saveGroupSpyInfo();
- //MultiChat.saveGlobalChatInfo();
- //MultiChat.saveSocialSpyInfo();
- //TODO Legacy MultiChat.saveAnnouncements();
- //MultiChat.saveBulletins();
- //MultiChat.saveCasts();
- //MultiChat.saveMute();
- MultiChat.saveIgnore();
UUIDNameManager.saveUUIDS();
MessageManager.sendMessage(sender, "command_multichat_save_completed");
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyIgnoreFileStore.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyIgnoreFileStore.java
new file mode 100644
index 00000000..dbc7507d
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyIgnoreFileStore.java
@@ -0,0 +1,80 @@
+package xyz.olivermartin.multichat.proxy.common.storage.files;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
+
+import net.md_5.bungee.config.Configuration;
+import xyz.olivermartin.multichat.bungee.ChatControl;
+import xyz.olivermartin.multichat.bungee.ConfigManager;
+import xyz.olivermartin.multichat.proxy.common.storage.ProxyGenericFileStore;
+
+public class ProxyIgnoreFileStore extends ProxyGenericFileStore {
+
+ public ProxyIgnoreFileStore(String fileName, File fileDirectory) {
+ super(fileName, fileDirectory);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected boolean loadFile(File file) {
+
+ Configuration config = ConfigManager.getInstance().getHandler("chatcontrol.yml").getConfig();
+
+ if (config.getBoolean("session_ignore")) {
+ ChatControl.setIgnoreMap(new HashMap>());
+ return true;
+ }
+
+ Map> result = null;
+
+ try {
+
+ FileInputStream saveFile = new FileInputStream(file);
+ ObjectInputStream in = new ObjectInputStream(saveFile);
+ result = (Map>)in.readObject();
+ in.close();
+ ChatControl.setIgnoreMap(result);
+ return true;
+
+ } catch (IOException|ClassNotFoundException e) {
+
+ e.printStackTrace();
+ return false;
+
+ }
+
+ }
+
+ @Override
+ protected boolean saveFile(File file) {
+
+ Configuration config = ConfigManager.getInstance().getHandler("chatcontrol.yml").getConfig();
+
+ if (config.getBoolean("session_ignore")) return true;
+
+ try {
+
+ FileOutputStream saveFile = new FileOutputStream(file);
+ ObjectOutputStream out = new ObjectOutputStream(saveFile);
+ out.writeObject(ChatControl.getIgnoreMap());
+ out.close();
+ return true;
+
+ } catch (IOException e) {
+
+ e.printStackTrace();
+ return false;
+
+ }
+
+ }
+
+}
From 561f32baa18b6cd7267dabd622796f17fc6874fa Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Tue, 21 Jul 2020 19:23:29 +0100
Subject: [PATCH 031/188] Moved UUIDNameManager files to new File Stores
---
.../multichat/bungee/MultiChat.java | 12 ++--
.../multichat/bungee/UUIDNameManager.java | 64 +-----------------
.../bungee/commands/MultiChatCommand.java | 5 --
.../storage/files/ProxyUUIDNameFileStore.java | 65 +++++++++++++++++++
4 files changed, 70 insertions(+), 76 deletions(-)
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyUUIDNameFileStore.java
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
index 47d95c10..90951a63 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
@@ -35,6 +35,7 @@
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyMuteFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxySocialSpyFileStore;
import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyStaffChatFileStore;
+import xyz.olivermartin.multichat.proxy.common.storage.files.ProxyUUIDNameFileStore;
/**
@@ -112,11 +113,7 @@ public void backup() {
public void run() {
getLogger().info("Commencing backup!");
-
MultiChatProxy.getInstance().getFileStoreManager().save();
-
- UUIDNameManager.saveUUIDS();
-
getLogger().info("Backup complete. Any errors reported above.");
}
@@ -360,9 +357,10 @@ public void onEnable() {
fileStoreManager.registerFileStore("ignore.dat",
new ProxyIgnoreFileStore("Ignore.dat", configDirectory));
- MultiChatProxy.getInstance().registerFileStoreManager(fileStoreManager);
+ fileStoreManager.registerFileStore("multichatuuidname.dat",
+ new ProxyUUIDNameFileStore("MultiChatUUIDName.dat", configDirectory));
- UUIDNameManager.Startup();
+ MultiChatProxy.getInstance().registerFileStoreManager(fileStoreManager);
// Set up chat control stuff
if (chatcontrolYML.contains("link_control")) {
@@ -427,8 +425,6 @@ public void onDisable() {
MultiChatProxy.getInstance().getFileStoreManager().save();
- UUIDNameManager.saveUUIDS();
-
}
public void registerCommands(Configuration configYML, Configuration chatcontrolYML) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/UUIDNameManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/UUIDNameManager.java
index ec69f676..9383a780 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/UUIDNameManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/UUIDNameManager.java
@@ -1,17 +1,9 @@
package xyz.olivermartin.multichat.bungee;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
-import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
-
/**
* UUID - NAME Manager
* Manages storage of UUIDS with their currently associated username
@@ -21,7 +13,7 @@
*/
public class UUIDNameManager {
- private static Map uuidname = new HashMap();
+ public static Map uuidname = new HashMap();
public static void addNew(UUID uuid, String name) {
uuidname.put(uuid, name);
@@ -35,60 +27,6 @@ public static String getName(UUID uuid) {
return (String)uuidname.get(uuid);
}
- public static void saveUUIDS() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
-
- try {
- File file = new File(configDir, "MultiChatUUIDName.dat");
- FileOutputStream saveFile = new FileOutputStream(file);
- ObjectOutputStream out = new ObjectOutputStream(saveFile);
- out.writeObject(uuidname);
- out.close();
- } catch (IOException e) {
- System.out.println("[MultiChat] [Save Error] An error has occured writing the uuid-name file!");
- e.printStackTrace();
- }
-
- }
-
- @SuppressWarnings("unchecked")
- public static HashMap loadUUIDS() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
- HashMap result = null;
-
- try {
- File file = new File(configDir, "MultiChatUUIDName.dat");
- FileInputStream saveFile = new FileInputStream(file);
- ObjectInputStream in = new ObjectInputStream(saveFile);
- result = (HashMap)in.readObject();
- in.close();
- } catch (IOException|ClassNotFoundException e) {
- System.out.println("[ActivityMonitor] [Load Error] An error has occured reading the uuid-name file!");
- e.printStackTrace();
- }
-
- return result;
-
- }
-
- public static void Startup() {
-
- File configDir = MultiChatProxy.getInstance().getConfigDirectory();
- File f = new File(configDir, "MultiChatUUIDName.dat");
-
- if ((f.exists()) && (!f.isDirectory())) {
- uuidname.putAll(loadUUIDS());
- } else {
- System.out.println("[MultiChat] File for uuid-name conversion does not exist to load. Must be first startup!");
- System.out.println("[MultiChat] Attempting to create hash file!");
- saveUUIDS();
- System.out.println("[MultiChat] The uuid-name file was created!");
- }
-
- }
-
public static boolean existsUUID(UUID uuid) {
if (uuidname.containsKey(uuid)) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
index 6ac9089a..e5310403 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
@@ -12,7 +12,6 @@
import xyz.olivermartin.multichat.bungee.DebugManager;
import xyz.olivermartin.multichat.bungee.MessageManager;
import xyz.olivermartin.multichat.bungee.MultiChat;
-import xyz.olivermartin.multichat.bungee.UUIDNameManager;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
/**
@@ -78,11 +77,7 @@ public void execute(CommandSender sender, String[] args) {
} else if (args[0].toLowerCase().equals("save")) {
MessageManager.sendMessage(sender, "command_multichat_save_prepare");
-
MultiChatProxy.getInstance().getFileStoreManager().save();
-
- UUIDNameManager.saveUUIDS();
-
MessageManager.sendMessage(sender, "command_multichat_save_completed");
} else if (args[0].toLowerCase().equals("reload")) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyUUIDNameFileStore.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyUUIDNameFileStore.java
new file mode 100644
index 00000000..760365ae
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/storage/files/ProxyUUIDNameFileStore.java
@@ -0,0 +1,65 @@
+package xyz.olivermartin.multichat.proxy.common.storage.files;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.util.HashMap;
+import java.util.UUID;
+
+import xyz.olivermartin.multichat.bungee.UUIDNameManager;
+import xyz.olivermartin.multichat.proxy.common.storage.ProxyGenericFileStore;
+
+public class ProxyUUIDNameFileStore extends ProxyGenericFileStore {
+
+ public ProxyUUIDNameFileStore(String fileName, File fileDirectory) {
+ super(fileName, fileDirectory);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected boolean loadFile(File file) {
+
+ HashMap result = null;
+
+ try {
+
+ FileInputStream saveFile = new FileInputStream(file);
+ ObjectInputStream in = new ObjectInputStream(saveFile);
+ result = (HashMap)in.readObject();
+ in.close();
+ UUIDNameManager.uuidname.putAll(result);
+ return true;
+
+ } catch (IOException|ClassNotFoundException e) {
+
+ e.printStackTrace();
+ return false;
+
+ }
+
+ }
+
+ @Override
+ protected boolean saveFile(File file) {
+
+ try {
+
+ FileOutputStream stream = new FileOutputStream(file);
+ ObjectOutputStream out = new ObjectOutputStream(stream);
+ out.writeObject(UUIDNameManager.uuidname);
+ out.close();
+ return true;
+
+ } catch (IOException e) {
+
+ e.printStackTrace();
+ return false;
+
+ }
+
+ }
+
+}
From 6d98bce770e9fc92b6fd315af0fe866b7eff0c6b Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Wed, 22 Jul 2020 00:06:29 +0100
Subject: [PATCH 032/188] First attempt to migrate command aliases to new file
aliases.yml
---
.../multichat/bungee/MultiChat.java | 2 +
.../multichat/bungee/commands/ACCCommand.java | 6 +-
.../multichat/bungee/commands/ACCommand.java | 5 +-
.../bungee/commands/AnnouncementCommand.java | 5 +-
.../bungee/commands/BulletinCommand.java | 5 +-
.../bungee/commands/CastCommand.java | 5 +-
.../bungee/commands/ChannelCommand.java | 2 +-
.../bungee/commands/ClearChatCommand.java | 4 +-
.../bungee/commands/DisplayCommand.java | 4 +-
.../bungee/commands/FreezeChatCommand.java | 5 +-
.../multichat/bungee/commands/GCCommand.java | 4 +-
.../bungee/commands/GlobalCommand.java | 2 +-
.../bungee/commands/GroupCommand.java | 5 +-
.../bungee/commands/GroupListCommand.java | 5 +-
.../bungee/commands/HelpMeCommand.java | 5 +-
.../bungee/commands/IgnoreCommand.java | 2 +-
.../bungee/commands/LocalCommand.java | 2 +-
.../multichat/bungee/commands/MCCCommand.java | 5 +-
.../multichat/bungee/commands/MCCommand.java | 5 +-
.../multichat/bungee/commands/MsgCommand.java | 2 +-
.../commands/MultiChatBypassCommand.java | 2 +-
.../bungee/commands/MultiChatCommand.java | 6 +-
.../commands/MultiChatExecuteCommand.java | 2 +-
.../bungee/commands/MuteCommand.java | 2 +-
.../bungee/commands/ReplyCommand.java | 2 +-
.../bungee/commands/SocialSpyCommand.java | 2 +-
.../bungee/commands/StaffListCommand.java | 4 +-
.../bungee/commands/UseCastCommand.java | 5 +-
multichat/src/main/resources/aliases.yml | 167 +++++++++++++++++
multichat/src/main/resources/aliases_fr.yml | 169 ++++++++++++++++++
multichat/src/main/resources/chatcontrol.yml | 11 --
.../src/main/resources/chatcontrol_fr.yml | 10 --
multichat/src/main/resources/config.yml | 50 ------
multichat/src/main/resources/config_fr.yml | 50 ------
34 files changed, 379 insertions(+), 183 deletions(-)
create mode 100644 multichat/src/main/resources/aliases.yml
create mode 100644 multichat/src/main/resources/aliases_fr.yml
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
index 90951a63..18b01363 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
@@ -275,11 +275,13 @@ public void onEnable() {
ConfigManager.getInstance().registerHandler("joinmessages.yml", configDirectory);
ConfigManager.getInstance().registerHandler("messages.yml", configDirectory);
ConfigManager.getInstance().registerHandler("chatcontrol.yml", configDirectory);
+ ConfigManager.getInstance().registerHandler("aliases.yml", configDirectory);
ConfigManager.getInstance().registerHandler("messages_fr.yml", new File(translationsDir));
ConfigManager.getInstance().registerHandler("joinmessages_fr.yml", new File(translationsDir));
ConfigManager.getInstance().registerHandler("config_fr.yml", new File(translationsDir));
ConfigManager.getInstance().registerHandler("chatcontrol_fr.yml", new File(translationsDir));
+ ConfigManager.getInstance().registerHandler("aliases_fr.yml", new File(translationsDir));
Configuration configYML = ConfigManager.getInstance().getHandler("config.yml").getConfig();
Configuration chatcontrolYML = ConfigManager.getInstance().getHandler("chatcontrol.yml").getConfig();
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ACCCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ACCCommand.java
index d1e4fb18..c696bccb 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ACCCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ACCCommand.java
@@ -5,6 +5,7 @@
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command;
+import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.DebugManager;
import xyz.olivermartin.multichat.bungee.MessageManager;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
@@ -19,11 +20,8 @@
*/
public class ACCCommand extends Command {
- // Command aliases
- private static String[] aliases = new String[] {};
-
public ACCCommand() {
- super("acc", "multichat.staff.mod", aliases);
+ super("mcacc", "multichat.staff.admin", (String[]) ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("acc").toArray(new String[0]));
}
public void execute(CommandSender sender, String[] args) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ACCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ACCommand.java
index c7b1f49d..72a3c6ee 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ACCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ACCommand.java
@@ -3,6 +3,7 @@
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command;
+import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.DebugManager;
import xyz.olivermartin.multichat.bungee.Events;
import xyz.olivermartin.multichat.bungee.MessageManager;
@@ -18,10 +19,8 @@
*/
public class ACCommand extends Command {
- private static String[] aliases = new String[] {};
-
public ACCommand() {
- super("ac", "multichat.staff.admin", aliases);
+ super("mcac", "multichat.staff.admin", (String[]) ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("ac").toArray(new String[0]));
}
public void execute(CommandSender sender, String[] args) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/AnnouncementCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/AnnouncementCommand.java
index 83b087e7..ba0881cb 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/AnnouncementCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/AnnouncementCommand.java
@@ -8,6 +8,7 @@
import net.md_5.bungee.api.chat.ComponentBuilder;
import net.md_5.bungee.api.plugin.Command;
import xyz.olivermartin.multichat.bungee.Announcements;
+import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.MessageManager;
import xyz.olivermartin.multichat.bungee.MultiChatUtil;
@@ -20,10 +21,8 @@
*/
public class AnnouncementCommand extends Command {
- private static String[] aliases = new String[] {"announce"};
-
public AnnouncementCommand() {
- super("announcement", "multichat.announce", aliases);
+ super("mcannouncement", "multichat.announce", (String[]) ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("announcement").toArray(new String[0]));
}
public void execute(CommandSender sender, String[] args) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/BulletinCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/BulletinCommand.java
index 59c0902a..422ad243 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/BulletinCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/BulletinCommand.java
@@ -7,6 +7,7 @@
import net.md_5.bungee.api.chat.ComponentBuilder;
import net.md_5.bungee.api.plugin.Command;
import xyz.olivermartin.multichat.bungee.Bulletins;
+import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.MessageManager;
import xyz.olivermartin.multichat.bungee.MultiChatUtil;
@@ -19,10 +20,8 @@
*/
public class BulletinCommand extends Command {
- private static String[] aliases = new String[] {"bulletins"};
-
public BulletinCommand() {
- super("bulletin", "multichat.bulletin", aliases);
+ super("mcbulletin", "multichat.bulletin", (String[]) ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("bulletin").toArray(new String[0]));
}
@Override
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/CastCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/CastCommand.java
index f6982a79..455b68e5 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/CastCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/CastCommand.java
@@ -7,6 +7,7 @@
import net.md_5.bungee.api.chat.ComponentBuilder;
import net.md_5.bungee.api.plugin.Command;
import xyz.olivermartin.multichat.bungee.CastControl;
+import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.MessageManager;
import xyz.olivermartin.multichat.bungee.MultiChatUtil;
@@ -19,10 +20,8 @@
*/
public class CastCommand extends Command {
- private static String[] aliases = new String[] {};
-
public CastCommand() {
- super("cast", "multichat.cast.admin", aliases);
+ super("mccast", "multichat.cast.admin", (String[]) ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("cast").toArray(new String[0]));
}
public void showCommandUsage(CommandSender sender) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ChannelCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ChannelCommand.java
index ddb48f97..38ddb6a7 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ChannelCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ChannelCommand.java
@@ -20,7 +20,7 @@
public class ChannelCommand extends Command {
public ChannelCommand() {
- super("channel", "multichat.chat.channel", (String[]) ConfigManager.getInstance().getHandler("config.yml").getConfig().getStringList("channelcommand").toArray(new String[0]));
+ super("mcchannel", "multichat.chat.channel", (String[]) ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("channel").toArray(new String[0]));
}
private void showHelp(CommandSender sender) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ClearChatCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ClearChatCommand.java
index b2e14dc3..e495d9fb 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ClearChatCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ClearChatCommand.java
@@ -17,10 +17,8 @@
*/
public class ClearChatCommand extends Command {
- private static String[] aliases = new String[] {"chatclear","wipechat","killchat"};
-
public ClearChatCommand() {
- super("clearchat", "multichat.chat.clear", aliases);
+ super("mcclearchat", "multichat.chat.clear", (String[]) ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("clearchat").toArray(new String[0]));
}
private void clearChatSelf(CommandSender sender) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/DisplayCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/DisplayCommand.java
index fd6f6dc7..524ca187 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/DisplayCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/DisplayCommand.java
@@ -24,10 +24,8 @@
*/
public class DisplayCommand extends Command {
- private static String[] aliases = new String[] {};
-
public DisplayCommand() {
- super("display", "multichat.staff.display", aliases);
+ super("mcdisplay", "multichat.staff.display", (String[]) ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("display").toArray(new String[0]));
}
public void execute(CommandSender sender, String[] args) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/FreezeChatCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/FreezeChatCommand.java
index 0c772eb3..4b4fa21e 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/FreezeChatCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/FreezeChatCommand.java
@@ -4,6 +4,7 @@
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command;
+import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.MessageManager;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
import xyz.olivermartin.multichat.proxy.common.ProxyDataStore;
@@ -17,10 +18,8 @@
*/
public class FreezeChatCommand extends Command {
- private static String[] aliases = new String[] {};
-
public FreezeChatCommand() {
- super("freezechat", "multichat.chat.freeze", aliases);
+ super("mcfreezechat", "multichat.chat.freeze", (String[]) ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("freezechat").toArray(new String[0]));
}
public void execute(CommandSender sender, String[] args) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GCCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GCCommand.java
index cda81c0b..fbdd13a5 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GCCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GCCommand.java
@@ -30,10 +30,8 @@
*/
public class GCCommand extends Command {
- private static String[] aliases = new String[] {};
-
public GCCommand() {
- super("gc", "multichat.group", aliases);
+ super("mcgc", "multichat.group", (String[]) ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("gc").toArray(new String[0]));
}
public void execute(CommandSender sender, String[] args) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GlobalCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GlobalCommand.java
index c35d2011..ca53279e 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GlobalCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GlobalCommand.java
@@ -26,7 +26,7 @@
public class GlobalCommand extends Command {
public GlobalCommand() {
- super("global", "multichat.chat.mode", (String[]) ConfigManager.getInstance().getHandler("config.yml").getConfig().getStringList("globalcommand").toArray(new String[0]));
+ super("mcglobal", "multichat.chat.mode", (String[]) ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("global").toArray(new String[0]));
}
public void execute(CommandSender sender, String[] args) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GroupCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GroupCommand.java
index d200edab..77819271 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GroupCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GroupCommand.java
@@ -13,6 +13,7 @@
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command;
import net.md_5.bungee.api.plugin.TabExecutor;
+import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.GroupManager;
import xyz.olivermartin.multichat.bungee.MessageManager;
import xyz.olivermartin.multichat.bungee.UUIDNameManager;
@@ -28,10 +29,8 @@
*/
public class GroupCommand extends Command implements TabExecutor {
- private static String[] aliases = new String[] {};
-
public GroupCommand() {
- super("group", "multichat.group", aliases);
+ super("mcgroup", "multichat.group", (String[]) ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("group").toArray(new String[0]));
}
public void execute(CommandSender sender, String[] args) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GroupListCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GroupListCommand.java
index a623ff63..e91fbb3e 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GroupListCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GroupListCommand.java
@@ -2,6 +2,7 @@
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.plugin.Command;
+import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.MessageManager;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
import xyz.olivermartin.multichat.proxy.common.ProxyDataStore;
@@ -15,10 +16,8 @@
*/
public class GroupListCommand extends Command {
- private static String[] aliases = new String[] {};
-
public GroupListCommand() {
- super("groups", "multichat.staff.listgroups", aliases);
+ super("mcgroups", "multichat.staff.listgroups", (String[]) ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("groups").toArray(new String[0]));
}
public void execute(CommandSender sender, String[] args) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/HelpMeCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/HelpMeCommand.java
index 28b9cdd3..cd35e54f 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/HelpMeCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/HelpMeCommand.java
@@ -7,6 +7,7 @@
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command;
import xyz.olivermartin.multichat.bungee.ChatControl;
+import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.ConsoleManager;
import xyz.olivermartin.multichat.bungee.MessageManager;
import xyz.olivermartin.multichat.bungee.MultiChatUtil;
@@ -20,10 +21,8 @@
*/
public class HelpMeCommand extends Command {
- private static String[] aliases = new String[] {};
-
public HelpMeCommand() {
- super("helpme", "multichat.chat.helpme", aliases);
+ super("mchelpme", "multichat.chat.helpme", (String[]) ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("helpme").toArray(new String[0]));
}
public void execute(CommandSender sender, String[] args) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/IgnoreCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/IgnoreCommand.java
index c7ad2d87..192c598a 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/IgnoreCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/IgnoreCommand.java
@@ -12,7 +12,7 @@
public class IgnoreCommand extends Command {
public IgnoreCommand() {
- super("ignore", "multichat.ignore", (String[])ConfigManager.getInstance().getHandler("chatcontrol.yml").getConfig().getStringList("ignorecommand").toArray(new String[0]));
+ super("mcignore", "multichat.ignore", (String[])ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("ignore").toArray(new String[0]));
}
@Override
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/LocalCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/LocalCommand.java
index d3c76c91..57836664 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/LocalCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/LocalCommand.java
@@ -26,7 +26,7 @@
public class LocalCommand extends Command {
public LocalCommand() {
- super("local", "multichat.chat.mode", (String[]) ConfigManager.getInstance().getHandler("config.yml").getConfig().getStringList("localcommand").toArray(new String[0]));
+ super("mclocal", "multichat.chat.mode", (String[]) ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("local").toArray(new String[0]));
}
public void execute(CommandSender sender, String[] args) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MCCCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MCCCommand.java
index b2305446..b710add0 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MCCCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MCCCommand.java
@@ -5,6 +5,7 @@
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command;
+import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.MessageManager;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
import xyz.olivermartin.multichat.proxy.common.ProxyDataStore;
@@ -18,10 +19,8 @@
*/
public class MCCCommand extends Command {
- private static String[] aliases = new String[] {};
-
public MCCCommand() {
- super("mcc", "multichat.staff.mod", aliases);
+ super("mcmcc", "multichat.staff.mod", (String[]) ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("mcc").toArray(new String[0]));
}
public void execute(CommandSender sender, String[] args) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MCCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MCCommand.java
index a578fa3e..3d7fe9fd 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MCCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MCCommand.java
@@ -3,6 +3,7 @@
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command;
+import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.Events;
import xyz.olivermartin.multichat.bungee.MessageManager;
import xyz.olivermartin.multichat.bungee.MultiChatUtil;
@@ -17,10 +18,8 @@
*/
public class MCCommand extends Command {
- private static String[] aliases = new String[] {};
-
public MCCommand() {
- super("mc", "multichat.staff.mod", aliases);
+ super("mcmc", "multichat.staff.mod", (String[]) ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("mc").toArray(new String[0]));
}
public void execute(CommandSender sender, String[] args) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MsgCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MsgCommand.java
index 1029c00d..35ee8a4d 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MsgCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MsgCommand.java
@@ -30,7 +30,7 @@
public class MsgCommand extends Command implements TabExecutor {
public MsgCommand() {
- super("msg", "multichat.chat.msg", (String[]) ConfigManager.getInstance().getHandler("config.yml").getConfig().getStringList("msgcommand").toArray(new String[0]));
+ super("mcmsg", "multichat.chat.msg", (String[]) ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("msg").toArray(new String[0]));
}
public void execute(CommandSender sender, String[] args) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatBypassCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatBypassCommand.java
index 10afc672..a4819d2a 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatBypassCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatBypassCommand.java
@@ -10,7 +10,7 @@
public class MultiChatBypassCommand extends Command {
public MultiChatBypassCommand() {
- super("multichatbypass", "multichat.bypass", ConfigManager.getInstance().getHandler("config.yml").getConfig().contains("multichatbypasscommand") ? (String[]) ConfigManager.getInstance().getHandler("config.yml").getConfig().getStringList("multichatbypasscommand").toArray(new String[0]) : new String[0]);
+ super("mcbypass", "multichat.bypass", (String[]) ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("bypass").toArray(new String[0]));
}
@Override
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
index e5310403..f1d5063e 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
@@ -23,10 +23,8 @@
*/
public class MultiChatCommand extends Command {
- private static String[] aliases = new String[] {};
-
public MultiChatCommand() {
- super("multichat", "multichat.admin", aliases);
+ super("multichat", "multichat.admin", (String[]) ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("multichat").toArray(new String[0]));
}
private void displayHelp(CommandSender sender, int page) {
@@ -93,11 +91,13 @@ public void execute(CommandSender sender, String[] args) {
ConfigManager.getInstance().getHandler("joinmessages.yml").startupConfig();
ConfigManager.getInstance().getHandler("messages.yml").startupConfig();
ConfigManager.getInstance().getHandler("chatcontrol.yml").startupConfig();
+ ConfigManager.getInstance().getHandler("aliases.yml").startupConfig();
ConfigManager.getInstance().getHandler("messages_fr.yml").startupConfig();
ConfigManager.getInstance().getHandler("joinmessages_fr.yml").startupConfig();
ConfigManager.getInstance().getHandler("config_fr.yml").startupConfig();
ConfigManager.getInstance().getHandler("chatcontrol_fr.yml").startupConfig();
+ ConfigManager.getInstance().getHandler("aliases_fr.yml").startupConfig();
// Reload, and re-register commands
CommandManager.reload();
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatExecuteCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatExecuteCommand.java
index 1def1691..6e975f13 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatExecuteCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatExecuteCommand.java
@@ -21,7 +21,7 @@
public class MultiChatExecuteCommand extends Command {
public MultiChatExecuteCommand() {
- super("multichatexecute", "multichat.execute", ConfigManager.getInstance().getHandler("config.yml").getConfig().contains("multichatexecutecommand") ? (String[]) ConfigManager.getInstance().getHandler("config.yml").getConfig().getStringList("multichatexecutecommand").toArray(new String[0]) : new String[] {"mcexecute", "mce" ,"gexecute","gexe","gcommand"});
+ super("mcexecute", "multichat.execute", (String[]) ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("execute").toArray(new String[0]));
}
public void execute(CommandSender sender, String[] args) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MuteCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MuteCommand.java
index 133e9600..3c10f189 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MuteCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MuteCommand.java
@@ -11,7 +11,7 @@
public class MuteCommand extends Command {
public MuteCommand() {
- super("multichatmute", "multichat.mute", (String[])ConfigManager.getInstance().getHandler("chatcontrol.yml").getConfig().getStringList("mutecommand").toArray(new String[0]));
+ super("mcmute", "multichat.mute", (String[])ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("mute").toArray(new String[0]));
}
@Override
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ReplyCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ReplyCommand.java
index 20f2c6fd..5ea9ded0 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ReplyCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ReplyCommand.java
@@ -25,7 +25,7 @@
public class ReplyCommand extends Command {
public ReplyCommand() {
- super("r", "multichat.chat.msg", (String[])ConfigManager.getInstance().getHandler("config.yml").getConfig().getStringList("rcommand").toArray(new String[0]));
+ super("mcr", "multichat.chat.msg", (String[])ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("r").toArray(new String[0]));
}
public void execute(CommandSender sender, String[] args) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/SocialSpyCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/SocialSpyCommand.java
index c9228764..ab14e63e 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/SocialSpyCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/SocialSpyCommand.java
@@ -18,7 +18,7 @@
public class SocialSpyCommand extends Command {
public SocialSpyCommand() {
- super("socialspy", "multichat.staff.spy", (String[])ConfigManager.getInstance().getHandler("config.yml").getConfig().getStringList("socialspycommand").toArray(new String[0]));
+ super("mcsocialspy", "multichat.staff.spy", (String[])ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("socialspy").toArray(new String[0]));
}
public void execute(CommandSender sender, String[] args) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/StaffListCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/StaffListCommand.java
index da8c5566..b975b09c 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/StaffListCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/StaffListCommand.java
@@ -22,10 +22,8 @@
*/
public class StaffListCommand extends Command {
- private static String[] aliases = new String[] {};
-
public StaffListCommand() {
- super("staff", "multichat.staff.list", aliases);
+ super("mcstaff", "multichat.staff.list", (String[])ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("staff").toArray(new String[0]));
}
public void execute(CommandSender sender, String[] args) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/UseCastCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/UseCastCommand.java
index 843dda6d..3208d6f3 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/UseCastCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/UseCastCommand.java
@@ -6,6 +6,7 @@
import net.md_5.bungee.api.plugin.Command;
import xyz.olivermartin.multichat.bungee.CastControl;
import xyz.olivermartin.multichat.bungee.Channel;
+import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.MessageManager;
import xyz.olivermartin.multichat.bungee.MultiChatUtil;
@@ -18,10 +19,8 @@
*/
public class UseCastCommand extends Command {
- private static String[] aliases = new String[] {};
-
public UseCastCommand() {
- super("usecast", "multichat.cast.admin", aliases);
+ super("mcusecast", "multichat.cast.admin", (String[])ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("usecast").toArray(new String[0]));
}
public void displayUsage(CommandSender sender) {
diff --git a/multichat/src/main/resources/aliases.yml b/multichat/src/main/resources/aliases.yml
new file mode 100644
index 00000000..e41ce1fe
--- /dev/null
+++ b/multichat/src/main/resources/aliases.yml
@@ -0,0 +1,167 @@
+############################################################
+# +------------------------------------------------------+ #
+# | MultiChat Command Aliases | #
+# +------------------------------------------------------+ #
+############################################################
+
+# By Revilo410
+
+##################
+# DON'T EDIT #
+version: "1.10" #
+##################
+
+# 1. Command Aliases
+
+############################################################
+# +------------------------------------------------------+ #
+# | General | #
+# +------------------------------------------------------+ #
+############################################################
+
+# The admin chat colour command has the following aliases (other than /mcacc)
+acc:
+- acc
+
+# The admin chat command has the following aliases (other than /mcac)
+ac:
+- ac
+
+# The announcement command has the following aliases (other than /mcannouncement)
+announcement:
+- announcement
+- announce
+- announcements
+
+# The bulletin command has the following aliases (other than /mcbulletin)
+bulletin:
+- bulletin
+- bulletins
+
+# The cast command has the following aliases (other than /mccast)
+cast:
+- cast
+
+# The channel command has the following aliases (other than /mcchannel)
+channel:
+- channel
+- ch
+
+# The clearchat command has the following aliases (other than /mcclearchat)
+clearchat:
+- clearchat
+- chatclear
+- wipechat
+- killchat
+
+# The display command has the following aliases (other than /mcdisplay)
+display:
+- display
+
+# The freezechat command has the following aliases (other than /mcfreezechat)
+freezechat:
+- freezechat
+- pausechat
+- lockchat
+- chatlock
+
+# The group chat command has the following aliases (other than /mcgc)
+gc:
+- gc
+
+# The global command has the following aliases (other than /mcglobal)
+global:
+- global
+- g
+
+# The group command has the following aliases (other than /mcgroup)
+group:
+- group
+
+# The group list command has the following aliases (other than /mcgroups)
+groups:
+- groups
+- grouplist
+
+# The helpme command has the following aliases (other than /mchelpme)
+helpme:
+- helpme
+- helpop
+
+# The ignore command has the following aliases (other than /mcignore)
+ignore:
+- ignore
+- blockplayer
+
+# The local command has the following aliases (other than /mclocal)
+local:
+- local
+- l
+
+# The mod chat colour command has the following aliases (other than /mcmcc)
+mcc:
+- mcc
+
+# The mod chat command has the following aliases (other than /mcmc)
+mc:
+- mc
+
+# The private message command has the following aliases (other than /mcmsg)
+msg:
+- msg
+- m
+- message
+- t
+- tell
+- w
+- whisper
+- chat
+- pm
+
+# The multichat bypass command has the following aliases (other than /mcbypass)
+bypass:
+- bypass
+- mcb
+- multichatbypass
+
+# The multichat command has the following aliases (other than /multichat)
+multichat:
+- mcinfo
+- mcversion
+
+# The multichat execute command has the following aliases (other than /mcexecute)
+execute:
+- execute
+- mce
+- multichatexecute
+- gexe
+- gexecute
+
+# The mute command has the following aliases (other than /mcmute)
+mute:
+- mute
+- silence
+- multichatmute
+
+# The reply command has the following aliases (other than /mcr)
+r:
+- r
+- reply
+- respond
+
+# The socialspy command has the following aliases (other than /mcsocialspy)
+socialspy:
+- socialspy
+- spy
+- sspy
+
+# The staff list command has the following aliases (other than /mcstaff)
+staff:
+- staff
+- stafflist
+- liststaff
+
+# The usecast command has the following aliases (other than /mcusecast)
+usecast:
+- usecast
+- ccast
diff --git a/multichat/src/main/resources/aliases_fr.yml b/multichat/src/main/resources/aliases_fr.yml
new file mode 100644
index 00000000..a7f1da4e
--- /dev/null
+++ b/multichat/src/main/resources/aliases_fr.yml
@@ -0,0 +1,169 @@
+############################################################
+# +------------------------------------------------------+ #
+# | MultiChat Aliases | #
+# +------------------------------------------------------+ #
+############################################################
+
+# By Revilo410
+
+# Pour utiliser ce fichier, renommer en 'aliases.yml'
+
+##################
+# DON'T EDIT #
+version: "1.10" #
+##################
+
+# 1. Command Aliases
+
+############################################################
+# +------------------------------------------------------+ #
+# | General | #
+# +------------------------------------------------------+ #
+############################################################
+
+# La commande 'acc' possède les alias suivants (autres que /mcacc)
+acc:
+- acc
+
+# La commande 'ac' possède les alias suivants (autres que /mcac)
+ac:
+- ac
+
+# La commande 'announcement' possède les alias suivants (autres que /mcannouncement)
+announcement:
+- announcement
+- announce
+- announcements
+
+# La commande 'bulletin' possède les alias suivants (autres que /mcbulletin)
+bulletin:
+- bulletin
+- bulletins
+
+# La commande 'cast' possède les alias suivants (autres que /mccast)
+cast:
+- cast
+
+# La commande 'channel' possède les alias suivants (autres que /mcchannel)
+channel:
+- channel
+- ch
+
+# La commande 'clearchat' possède les alias suivants (autres que /mcclearchat)
+clearchat:
+- clearchat
+- chatclear
+- wipechat
+- killchat
+
+# La commande 'display' possède les alias suivants (autres que /mcdisplay)
+display:
+- display
+
+# La commande 'freezechat' possède les alias suivants (autres que /mcfreezechat)
+freezechat:
+- freezechat
+- pausechat
+- lockchat
+- chatlock
+
+# La commande 'gc' possède les alias suivants (autres que /mcgc)
+gc:
+- gc
+
+# La commande 'global' possède les alias suivants (autres que /mcglobal)
+global:
+- global
+- g
+
+# La commande 'group' possède les alias suivants (autres que /mcgroup)
+group:
+- group
+
+# La commande 'groups' possède les alias suivants (autres que /mcgroups)
+groups:
+- groups
+- grouplist
+
+# La commande 'helpme' possède les alias suivants (autres que /mchelpme)
+helpme:
+- helpme
+- helpop
+
+# La commande 'ignore' possède les alias suivants (autres que /mcignore)
+ignore:
+- ignore
+- blockplayer
+
+# La commande 'local' possède les alias suivants (autres que /mclocal)
+local:
+- local
+- l
+
+# La commande 'mcc' possède les alias suivants (autres que /mcmcc)
+mcc:
+- mcc
+
+# La commande 'mc' possède les alias suivants (autres que /mcmc)
+mc:
+- mc
+
+# La commande 'msg' possède les alias suivants (autres que /mcmsg)
+msg:
+- msg
+- m
+- message
+- t
+- tell
+- w
+- whisper
+- chat
+- pm
+
+# La commande 'bypass' possède les alias suivants (autres que /mcbypass)
+bypass:
+- bypass
+- mcb
+- multichatbypass
+
+# La commande 'multichat' possède les alias suivants (autres que /multichat)
+multichat:
+- mcinfo
+- mcversion
+
+# La commande 'execute' possède les alias suivants (autres que /mcexecute)
+execute:
+- execute
+- mce
+- multichatexecute
+- gexe
+- gexecute
+
+# La commande 'mute' possède les alias suivants (autres que /mcmute)
+mute:
+- mute
+- silence
+- multichatmute
+
+# La commande 'r' possède les alias suivants (autres que /mcr)
+r:
+- r
+- reply
+- respond
+
+# La commande 'socialspy' possède les alias suivants (autres que /mcsocialspy)
+socialspy:
+- socialspy
+- spy
+- sspy
+
+# La commande 'staff' possède les alias suivants (autres que /mcstaff)
+staff:
+- staff
+- stafflist
+- liststaff
+
+# La commande 'usecast' possède les alias suivants (autres que /mcusecast)
+usecast:
+- usecast
+- ccast
diff --git a/multichat/src/main/resources/chatcontrol.yml b/multichat/src/main/resources/chatcontrol.yml
index b798d277..7dbd9273 100644
--- a/multichat/src/main/resources/chatcontrol.yml
+++ b/multichat/src/main/resources/chatcontrol.yml
@@ -151,12 +151,6 @@ apply_mute_to:
group_chats: false
helpme: false
-# Mute command aliases (in addition to /multichatmute)
-
-mutecommand:
-- mute
-- mcmute
-
##################
# Ignore Command #
##################
@@ -179,11 +173,6 @@ apply_ignore_to:
private_messages: true
group_chats: false
-# Ignore command aliases (in addition to /ignore)
-
-ignorecommand:
-- blockchat
-
############################################################
# +------------------------------------------------------+ #
# | Link / URL Controls | #
diff --git a/multichat/src/main/resources/chatcontrol_fr.yml b/multichat/src/main/resources/chatcontrol_fr.yml
index e9701fe1..bbf4635e 100644
--- a/multichat/src/main/resources/chatcontrol_fr.yml
+++ b/multichat/src/main/resources/chatcontrol_fr.yml
@@ -161,11 +161,6 @@ apply_mute_to:
group_chats: false
helpme: false
-# Alias de commande MUTE (en plus de /multichatmute).
-mutecommand:
-- mute
-- mcmute
-
###################
# Commande Ignore #
###################
@@ -188,11 +183,6 @@ apply_ignore_to:
private_messages: true
group_chats: false
-# Alias de commande ignore (en plus de la commande /ignore)
-
-ignorecommand:
-- blockchat
-
############################################################
# +------------------------------------------------------+ #
# | Contrôle de Liens / URL | #
diff --git a/multichat/src/main/resources/config.yml b/multichat/src/main/resources/config.yml
index 2f294903..bd06a502 100644
--- a/multichat/src/main/resources/config.yml
+++ b/multichat/src/main/resources/config.yml
@@ -97,31 +97,6 @@ pmin: "&6[&c%DISPLAYNAME% &6-> &cMe&6] &f%MESSAGE%"
pmspy: "&8&l<< &f%NAME% &7-> &f%NAMET%&8: &7%MESSAGE% &8&l>>"
-##############
-# PM ALIASES #
-##############
-
-# The /msg command has the following aliases (other than /msg)
-msgcommand:
-- m
-- message
-- t
-- tell
-- w
-- whisper
-- chat
-- pm
-
-# The /r command has the following aliases (other than /r)
-rcommand:
-- reply
-- respond
-
-# The /socialspy command has the following aliases (other than /socialspy)
-socialspycommand:
-- spy
-- sspy
-
############################################################
# +------------------------------------------------------+ #
# | Chat Channels | #
@@ -135,18 +110,6 @@ default_channel: "global"
# Force players into default channel when they join the server?
force_channel_on_join: false
-# The /channel command has the following aliases (other than /channel)
-channelcommand:
-- ch
-
-# The /global command has the following aliases (other than /global)
-globalcommand:
-- g
-
-# The /local command has the following aliases (other than /local)
-localcommand:
-- l
-
############################################################
# +------------------------------------------------------+ #
# | Global Chat | #
@@ -247,19 +210,6 @@ adminchat:
# Set to false to disable the '/staff' staff list command
staff_list: true
-# MultiChat bypass command aliases (other than /multichatbypass)
-multichatbypasscommand:
-- mcb
-- bypass
-
-# MultiChat execute command aliases (other than /multichatexecute)
-multichatexecutecommand:
-- mcexecute
-- mce
-- gexecute
-- gexe
-- gcommand
-
# Control what aspects of chat are logged by MultiChat (useful for GDPR etc.)
privacy_settings:
log_pms: true
diff --git a/multichat/src/main/resources/config_fr.yml b/multichat/src/main/resources/config_fr.yml
index eca5b17d..4046a3e3 100644
--- a/multichat/src/main/resources/config_fr.yml
+++ b/multichat/src/main/resources/config_fr.yml
@@ -103,31 +103,6 @@ pmin: "&6[&c%DISPLAYNAME% &6-> &cMe&6] &f%MESSAGE%"
# Formatage des message en socialspy.
pmspy: "&8&l<< &f%NAME% &7-> &f%NAMET%&8: &7%MESSAGE% &8&l>>"
-###################################
-# Alias pour les messages privées #
-###################################
-
-# La commande /msg possède les alias suivants (autres que /msg).
-msgcommand:
-- m
-- message
-- t
-- tell
-- w
-- whisper
-- chat
-- pm
-
-# La commande /r possède les alias suivants (autres que /r).
-rcommand:
-- reply
-- respond
-
-# La commande /socialspy a les alias suivants (autres que /socialspy).
-socialspycommand:
-- spy
-- sspy
-
############################################################
# +------------------------------------------------------+ #
# | Cannaux de chat | #
@@ -142,18 +117,6 @@ default_channel: "global"
# Paramétrage disponible : true ou false
force_channel_on_join: false
-# La commande /Channel possède les alias suivants (autres que /Channel)
-channelcommand:
-- ch
-
-# La commande /Global possède les alias suivants (autres que /Global)
-globalcommand:
-- g
-
-# La commande /Local possède les alias suivants (autres que /Local)
-localcommand:
-- l
-
############################################################
# +------------------------------------------------------+ #
# | Chat global | #
@@ -252,19 +215,6 @@ adminchat:
# Paramétrage disponible : true ou false
staff_list: true
-# Alias de commande de contournement MultiChat (autre que /multichatbypass).
-multichatbypasscommand:
-- mcb
-- bypass
-
-# Alias de commande MultiChat Execute (autre que /multichatexecute).
-multichatexecutecommand:
-- mcexecute
-- mce
-- gexecute
-- gexe
-- gcommand
-
# Contrôlez quels aspects du chat sont enregistrés dans les logs MultiChat (utile pour la RGDP etc.)
privacy_settings:
log_pms: true
From 41b91941c5fd5a3cebc14ecd94f8ab44870bf44a Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Wed, 22 Jul 2020 00:20:23 +0100
Subject: [PATCH 033/188] Moved MultiChatUtil to common package
---
.../multichat/bungee/Announcements.java | 1 +
.../multichat/bungee/Bulletins.java | 1 +
.../multichat/bungee/CastControl.java | 1 +
.../multichat/bungee/Channel.java | 1 +
.../multichat/bungee/ConsoleManager.java | 1 +
.../olivermartin/multichat/bungee/Events.java | 1 +
.../multichat/bungee/MessageManager.java | 1 +
.../bungee/PrivateMessageManager.java | 1 +
.../multichat/bungee/StaffChatManager.java | 1 +
.../multichat/bungee/commands/ACCommand.java | 2 +-
.../bungee/commands/AnnouncementCommand.java | 2 +-
.../bungee/commands/BulletinCommand.java | 2 +-
.../bungee/commands/CastCommand.java | 2 +-
.../bungee/commands/DisplayCommand.java | 2 +-
.../multichat/bungee/commands/GCCommand.java | 2 +-
.../bungee/commands/GlobalCommand.java | 2 +-
.../bungee/commands/HelpMeCommand.java | 2 +-
.../bungee/commands/LocalCommand.java | 2 +-
.../multichat/bungee/commands/MCCommand.java | 2 +-
.../multichat/bungee/commands/MsgCommand.java | 2 +-
.../bungee/commands/ReplyCommand.java | 2 +-
.../bungee/commands/UseCastCommand.java | 2 +-
.../{bungee => common}/MultiChatUtil.java | 86 +++++++++----------
.../local/spigot/LocalSpigotChatManager.java | 2 +-
.../local/spigot/LocalSpigotMetaManager.java | 2 +-
.../spigot/LocalSpigotPlaceholderManager.java | 2 +-
.../local/sponge/LocalSpongeChatManager.java | 2 +-
.../local/sponge/LocalSpongeMetaManager.java | 2 +-
.../sponge/LocalSpongePlaceholderManager.java | 2 +-
29 files changed, 71 insertions(+), 62 deletions(-)
rename multichat/src/main/java/xyz/olivermartin/multichat/{bungee => common}/MultiChatUtil.java (51%)
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Announcements.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Announcements.java
index 355f00e5..94da392e 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Announcements.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Announcements.java
@@ -10,6 +10,7 @@
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.scheduler.ScheduledTask;
import xyz.olivermartin.multichat.bungee.events.PostBroadcastEvent;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
/**
* Announcements Management
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Bulletins.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Bulletins.java
index f08f7ff3..e48590f4 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Bulletins.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Bulletins.java
@@ -10,6 +10,7 @@
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.scheduler.ScheduledTask;
import xyz.olivermartin.multichat.bungee.events.PostBroadcastEvent;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
/**
* Bulletins Management
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/CastControl.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/CastControl.java
index 5a6229d9..c0f4f47c 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/CastControl.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/CastControl.java
@@ -4,6 +4,7 @@
import java.util.Map;
import net.md_5.bungee.api.CommandSender;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
/**
* Cast Control
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Channel.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Channel.java
index 953a453d..e7db5f27 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Channel.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Channel.java
@@ -15,6 +15,7 @@
import net.md_5.bungee.api.connection.ProxiedPlayer;
import xyz.olivermartin.multichat.bungee.events.PostBroadcastEvent;
import xyz.olivermartin.multichat.bungee.events.PostGlobalChatEvent;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
/**
* Channel
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/ConsoleManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/ConsoleManager.java
index a974d60f..9ea08d79 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/ConsoleManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/ConsoleManager.java
@@ -7,6 +7,7 @@
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.chat.BaseComponent;
import net.md_5.bungee.api.chat.TextComponent;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
public class ConsoleManager {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java
index dcee8ebb..83784da9 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java
@@ -28,6 +28,7 @@
import net.md_5.bungee.event.EventHandler;
import net.md_5.bungee.event.EventPriority;
import xyz.olivermartin.multichat.bungee.commands.GCCommand;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
import xyz.olivermartin.multichat.proxy.common.ProxyDataStore;
import xyz.olivermartin.multichat.proxy.common.ProxyLocalCommunicationManager;
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MessageManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MessageManager.java
index 9cfad8cd..c4541abf 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MessageManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MessageManager.java
@@ -7,6 +7,7 @@
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.chat.TextComponent;
import net.md_5.bungee.config.Configuration;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
/**
* Message Manager
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/PrivateMessageManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/PrivateMessageManager.java
index ea5d734e..434ba78e 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/PrivateMessageManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/PrivateMessageManager.java
@@ -7,6 +7,7 @@
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.chat.TextComponent;
import net.md_5.bungee.api.connection.ProxiedPlayer;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
import xyz.olivermartin.multichat.proxy.common.ProxyDataStore;
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/StaffChatManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/StaffChatManager.java
index 7f9dfc2e..c54f1915 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/StaffChatManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/StaffChatManager.java
@@ -9,6 +9,7 @@
import net.md_5.bungee.api.chat.TextComponent;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import xyz.olivermartin.multichat.bungee.events.PostStaffChatEvent;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
import xyz.olivermartin.multichat.proxy.common.ProxyDataStore;
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ACCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ACCommand.java
index 72a3c6ee..0af3f226 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ACCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ACCommand.java
@@ -7,7 +7,7 @@
import xyz.olivermartin.multichat.bungee.DebugManager;
import xyz.olivermartin.multichat.bungee.Events;
import xyz.olivermartin.multichat.bungee.MessageManager;
-import xyz.olivermartin.multichat.bungee.MultiChatUtil;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
import xyz.olivermartin.multichat.bungee.StaffChatManager;
/**
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/AnnouncementCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/AnnouncementCommand.java
index ba0881cb..92001d9a 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/AnnouncementCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/AnnouncementCommand.java
@@ -10,7 +10,7 @@
import xyz.olivermartin.multichat.bungee.Announcements;
import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.MessageManager;
-import xyz.olivermartin.multichat.bungee.MultiChatUtil;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
/**
* Announcement Command
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/BulletinCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/BulletinCommand.java
index 422ad243..2219e966 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/BulletinCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/BulletinCommand.java
@@ -9,7 +9,7 @@
import xyz.olivermartin.multichat.bungee.Bulletins;
import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.MessageManager;
-import xyz.olivermartin.multichat.bungee.MultiChatUtil;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
/**
* Bulletin Command
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/CastCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/CastCommand.java
index 455b68e5..e49ec664 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/CastCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/CastCommand.java
@@ -9,7 +9,7 @@
import xyz.olivermartin.multichat.bungee.CastControl;
import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.MessageManager;
-import xyz.olivermartin.multichat.bungee.MultiChatUtil;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
/**
* Cast Command
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/DisplayCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/DisplayCommand.java
index 524ca187..73f26b2f 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/DisplayCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/DisplayCommand.java
@@ -12,7 +12,7 @@
import xyz.olivermartin.multichat.bungee.ConsoleManager;
import xyz.olivermartin.multichat.bungee.MessageManager;
import xyz.olivermartin.multichat.bungee.MultiChat;
-import xyz.olivermartin.multichat.bungee.MultiChatUtil;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
import xyz.olivermartin.multichat.bungee.events.PostBroadcastEvent;
/**
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GCCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GCCommand.java
index fbdd13a5..2efaca19 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GCCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GCCommand.java
@@ -17,7 +17,7 @@
import xyz.olivermartin.multichat.bungee.Events;
import xyz.olivermartin.multichat.bungee.MessageManager;
import xyz.olivermartin.multichat.bungee.MultiChat;
-import xyz.olivermartin.multichat.bungee.MultiChatUtil;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
import xyz.olivermartin.multichat.proxy.common.ProxyDataStore;
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GlobalCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GlobalCommand.java
index ca53279e..6eff45b3 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GlobalCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GlobalCommand.java
@@ -12,7 +12,7 @@
import xyz.olivermartin.multichat.bungee.DebugManager;
import xyz.olivermartin.multichat.bungee.Events;
import xyz.olivermartin.multichat.bungee.MessageManager;
-import xyz.olivermartin.multichat.bungee.MultiChatUtil;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
import xyz.olivermartin.multichat.proxy.common.ProxyLocalCommunicationManager;
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/HelpMeCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/HelpMeCommand.java
index cd35e54f..1fba7372 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/HelpMeCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/HelpMeCommand.java
@@ -10,7 +10,7 @@
import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.ConsoleManager;
import xyz.olivermartin.multichat.bungee.MessageManager;
-import xyz.olivermartin.multichat.bungee.MultiChatUtil;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
/**
* 'Help Me' Command
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/LocalCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/LocalCommand.java
index 57836664..ceeba62a 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/LocalCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/LocalCommand.java
@@ -12,7 +12,7 @@
import xyz.olivermartin.multichat.bungee.DebugManager;
import xyz.olivermartin.multichat.bungee.Events;
import xyz.olivermartin.multichat.bungee.MessageManager;
-import xyz.olivermartin.multichat.bungee.MultiChatUtil;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
import xyz.olivermartin.multichat.proxy.common.ProxyLocalCommunicationManager;
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MCCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MCCommand.java
index 3d7fe9fd..5cd3763a 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MCCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MCCommand.java
@@ -6,7 +6,7 @@
import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.Events;
import xyz.olivermartin.multichat.bungee.MessageManager;
-import xyz.olivermartin.multichat.bungee.MultiChatUtil;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
import xyz.olivermartin.multichat.bungee.StaffChatManager;
/**
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MsgCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MsgCommand.java
index 35ee8a4d..697be498 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MsgCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MsgCommand.java
@@ -16,7 +16,7 @@
import xyz.olivermartin.multichat.bungee.Events;
import xyz.olivermartin.multichat.bungee.MessageManager;
import xyz.olivermartin.multichat.bungee.MultiChat;
-import xyz.olivermartin.multichat.bungee.MultiChatUtil;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
import xyz.olivermartin.multichat.bungee.PrivateMessageManager;
import xyz.olivermartin.multichat.proxy.common.ProxyLocalCommunicationManager;
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ReplyCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ReplyCommand.java
index 5ea9ded0..4f654fca 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ReplyCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ReplyCommand.java
@@ -10,7 +10,7 @@
import xyz.olivermartin.multichat.bungee.ChatControl;
import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.MessageManager;
-import xyz.olivermartin.multichat.bungee.MultiChatUtil;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
import xyz.olivermartin.multichat.bungee.PrivateMessageManager;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
import xyz.olivermartin.multichat.proxy.common.ProxyDataStore;
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/UseCastCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/UseCastCommand.java
index 3208d6f3..b2b4da85 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/UseCastCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/UseCastCommand.java
@@ -8,7 +8,7 @@
import xyz.olivermartin.multichat.bungee.Channel;
import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.MessageManager;
-import xyz.olivermartin.multichat.bungee.MultiChatUtil;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
/**
* Use Cast Command
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChatUtil.java b/multichat/src/main/java/xyz/olivermartin/multichat/common/MultiChatUtil.java
similarity index 51%
rename from multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChatUtil.java
rename to multichat/src/main/java/xyz/olivermartin/multichat/common/MultiChatUtil.java
index 7e81e72f..4de37048 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChatUtil.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/common/MultiChatUtil.java
@@ -1,4 +1,4 @@
-package xyz.olivermartin.multichat.bungee;
+package xyz.olivermartin.multichat.common;
import java.util.ArrayList;
import java.util.Collection;
@@ -7,7 +7,7 @@
import java.util.regex.Pattern;
public class MultiChatUtil {
-
+
/**
* Reformat the RGB codes into Spigot Native version
*
@@ -18,67 +18,67 @@ public static String reformatRGB(String message) {
// Translate RGB codes
return message.replaceAll("(?i)\\&(x|#)([0-9A-F])([0-9A-F])([0-9A-F])([0-9A-F])([0-9A-F])([0-9A-F])", "&x&$2&$3&$4&$5&$6&$7");
}
-
+
public static String approximateHexCodes(String message) {
- message = message.replaceAll("(?i)(\\&|§)x(\\&|§)([0-9A-F])(\\&|§)([0-9A-F])(\\&|§)([0-9A-F])(\\&|§)([0-9A-F])(\\&|§)([0-9A-F])(\\&|§)([0-9A-F])", "$3$5$7$9$11$13");
+ message = message.replaceAll("(?i)(\\&|§)x(\\&|§)([0-9A-F])(\\&|§)([0-9A-F])(\\&|§)([0-9A-F])(\\&|§)([0-9A-F])(\\&|§)([0-9A-F])(\\&|§)([0-9A-F])", "$3$5$7$9$11$13");
- List allMatches = new ArrayList();
- Matcher m = Pattern.compile("(?i)\\&(x|#)([0-9A-F])([0-9A-F])([0-9A-F])([0-9A-F])([0-9A-F])([0-9A-F])")
- .matcher(message);
- while (m.find()) {
- allMatches.add(m.group());
- }
+ List allMatches = new ArrayList();
+ Matcher m = Pattern.compile("(?i)\\&(x|#)([0-9A-F])([0-9A-F])([0-9A-F])([0-9A-F])([0-9A-F])([0-9A-F])")
+ .matcher(message);
+ while (m.find()) {
+ allMatches.add(m.group());
+ }
- for (String match : allMatches) {
- String hexonly = match.split("#")[1];
- String minecraftCode = hexToMinecraft(hexonly);
- message = message.replace(match,"§"+minecraftCode);
- }
+ for (String match : allMatches) {
+ String hexonly = match.split("#")[1];
+ String minecraftCode = hexToMinecraft(hexonly);
+ message = message.replace(match,"§"+minecraftCode);
+ }
- return message;
+ return message;
- }
+ }
- public static String hexToMinecraft(String hex) {
+ public static String hexToMinecraft(String hex) {
- String rcode = hex.substring(0,2);
- String gcode = hex.substring(2,4);
- String bcode = hex.substring(4,6);
+ String rcode = hex.substring(0,2);
+ String gcode = hex.substring(2,4);
+ String bcode = hex.substring(4,6);
- int rint = Integer.parseInt(rcode,16);
- int gint = Integer.parseInt(gcode,16);
- int bint = Integer.parseInt(bcode,16);
+ int rint = Integer.parseInt(rcode,16);
+ int gint = Integer.parseInt(gcode,16);
+ int bint = Integer.parseInt(bcode,16);
- String[] cga = {"000000","0000aa","00aa00","00aaaa","aa0000","aa00aa","ffaa00","aaaaaa","555555","5555ff","55ff55","55ffff","ff5555","ff55ff","ffff55","ffffff"};
+ String[] cga = {"000000","0000aa","00aa00","00aaaa","aa0000","aa00aa","ffaa00","aaaaaa","555555","5555ff","55ff55","55ffff","ff5555","ff55ff","ffff55","ffffff"};
- int diff = 999999999;
- int best = -1;
+ int diff = 999999999;
+ int best = -1;
- for (int i = 0; i < 16; i++) {
+ for (int i = 0; i < 16; i++) {
- String current = cga[i];
+ String current = cga[i];
- String rcode2 = current.substring(0,2);
- String gcode2 = current.substring(2,4);
- String bcode2 = current.substring(4,6);
+ String rcode2 = current.substring(0,2);
+ String gcode2 = current.substring(2,4);
+ String bcode2 = current.substring(4,6);
- int rint2 = Integer.parseInt(rcode2,16);
- int gint2 = Integer.parseInt(gcode2,16);
- int bint2 = Integer.parseInt(bcode2,16);
+ int rint2 = Integer.parseInt(rcode2,16);
+ int gint2 = Integer.parseInt(gcode2,16);
+ int bint2 = Integer.parseInt(bcode2,16);
- int val = Math.abs(rint-rint2) + Math.abs(gint-gint2) + Math.abs(bint-bint2);
+ int val = Math.abs(rint-rint2) + Math.abs(gint-gint2) + Math.abs(bint-bint2);
- if (val < diff) {
- best = i;
- diff = val;
- }
+ if (val < diff) {
+ best = i;
+ diff = val;
+ }
- }
+ }
- return Integer.toHexString(best);
+ return Integer.toHexString(best);
- }
+ }
/**
* Concatenate the arguments together to get the message as a string
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/LocalSpigotChatManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/LocalSpigotChatManager.java
index 7e454209..5cc0bb03 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/LocalSpigotChatManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/LocalSpigotChatManager.java
@@ -4,7 +4,7 @@
import org.bukkit.ChatColor;
import me.clip.placeholderapi.PlaceholderAPI;
-import xyz.olivermartin.multichat.bungee.MultiChatUtil;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
import xyz.olivermartin.multichat.local.common.LocalChatManager;
import xyz.olivermartin.multichat.local.common.MultiChatLocal;
import xyz.olivermartin.multichat.local.common.MultiChatLocalPlayer;
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/LocalSpigotMetaManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/LocalSpigotMetaManager.java
index 9ceebfdf..898cb470 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/LocalSpigotMetaManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/LocalSpigotMetaManager.java
@@ -7,7 +7,7 @@
import org.bukkit.entity.Player;
import net.milkbowl.vault.chat.Chat;
-import xyz.olivermartin.multichat.bungee.MultiChatUtil;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
import xyz.olivermartin.multichat.local.common.LocalConsoleLogger;
import xyz.olivermartin.multichat.local.common.LocalMetaManager;
import xyz.olivermartin.multichat.local.common.MultiChatLocal;
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/LocalSpigotPlaceholderManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/LocalSpigotPlaceholderManager.java
index cf9975ae..35b6fba6 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/LocalSpigotPlaceholderManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/LocalSpigotPlaceholderManager.java
@@ -2,7 +2,7 @@
import java.util.UUID;
-import xyz.olivermartin.multichat.bungee.MultiChatUtil;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
import xyz.olivermartin.multichat.local.common.LocalPlaceholderManager;
import xyz.olivermartin.multichat.local.common.MultiChatLocalPlatform;
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/LocalSpongeChatManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/LocalSpongeChatManager.java
index c2215dc9..bf12e2db 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/LocalSpongeChatManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/LocalSpongeChatManager.java
@@ -7,7 +7,7 @@
import org.spongepowered.api.text.serializer.TextSerializers;
import me.rojo8399.placeholderapi.PlaceholderService;
-import xyz.olivermartin.multichat.bungee.MultiChatUtil;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
import xyz.olivermartin.multichat.local.common.LocalChatManager;
import xyz.olivermartin.multichat.local.common.MultiChatLocal;
import xyz.olivermartin.multichat.local.common.MultiChatLocalPlayer;
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/LocalSpongeMetaManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/LocalSpongeMetaManager.java
index 18acdbcf..77323c31 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/LocalSpongeMetaManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/LocalSpongeMetaManager.java
@@ -8,7 +8,7 @@
import org.spongepowered.api.entity.living.player.Player;
import org.spongepowered.api.text.Text;
-import xyz.olivermartin.multichat.bungee.MultiChatUtil;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
import xyz.olivermartin.multichat.local.common.LocalMetaManager;
import xyz.olivermartin.multichat.local.common.MultiChatLocal;
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/LocalSpongePlaceholderManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/LocalSpongePlaceholderManager.java
index ad5963e7..78413187 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/LocalSpongePlaceholderManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/LocalSpongePlaceholderManager.java
@@ -2,7 +2,7 @@
import java.util.UUID;
-import xyz.olivermartin.multichat.bungee.MultiChatUtil;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
import xyz.olivermartin.multichat.local.common.LocalPlaceholderManager;
import xyz.olivermartin.multichat.local.common.MultiChatLocalPlatform;
From aee8f631b860488efb84fc81eda9ac96a4cd0888 Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Wed, 22 Jul 2020 14:55:16 +0100
Subject: [PATCH 034/188] Changed CommChannels to Interface implementation
(thanks to Gadse)
---
.../multichat/bungee/MultiChat.java | 14 ++---
.../common/communication/CommChannels.java | 53 +++---------------
.../LocalBungeeCommunicationManager.java | 8 +--
.../spigot/MultiChatLocalSpigotPlugin.java | 22 ++++----
.../LocalSpigotPlayerActionListener.java | 2 +-
.../LocalSpigotPlayerChatListener.java | 2 +-
.../LocalSpigotPlayerDataListener.java | 2 +-
.../LocalSpigotPlayerMetaListener.java | 2 +-
.../LocalSpigotServerActionListener.java | 2 +-
.../LocalSpigotServerChatListener.java | 2 +-
.../LocalSpigotServerDataListener.java | 2 +-
.../sponge/MultiChatLocalSpongePlugin.java | 56 +++++++++----------
.../ProxyLocalCommunicationManager.java | 20 +++----
.../ProxyPlayerActionListener.java | 2 +-
.../ProxyPlayerChatListener.java | 2 +-
.../ProxyPlayerMetaListener.java | 2 +-
.../ProxyServerActionListener.java | 2 +-
17 files changed, 80 insertions(+), 115 deletions(-)
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
index 18b01363..cbc86c71 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
@@ -306,13 +306,13 @@ public void onEnable() {
getProxy().getPluginManager().registerListener(this, this);
// Communication Channels
- getProxy().registerChannel(CommChannels.getPlayerMeta()); // pmeta
- getProxy().registerChannel(CommChannels.getPlayerChat()); // pchat
- getProxy().registerChannel(CommChannels.getServerChat()); // schat
- getProxy().registerChannel(CommChannels.getPlayerAction()); // pact
- getProxy().registerChannel(CommChannels.getServerAction()); // sact
- getProxy().registerChannel(CommChannels.getPlayerData()); // pdata
- getProxy().registerChannel(CommChannels.getServerData()); // sdata
+ getProxy().registerChannel(CommChannels.PLAYER_META); // pmeta
+ getProxy().registerChannel(CommChannels.PLAYER_CHAT); // pchat
+ getProxy().registerChannel(CommChannels.SERVER_CHAT); // schat
+ getProxy().registerChannel(CommChannels.PLAYER_ACTION); // pact
+ getProxy().registerChannel(CommChannels.SERVER_ACTION); // sact
+ getProxy().registerChannel(CommChannels.PLAYER_DATA); // pdata
+ getProxy().registerChannel(CommChannels.SERVER_DATA); // sdata
getProxy().getPluginManager().registerListener(this, new ProxyPlayerMetaListener()); // list - pmeta
getProxy().getPluginManager().registerListener(this, new ProxyPlayerChatListener()); // list - pchat
getProxy().getPluginManager().registerListener(this, new ProxyPlayerActionListener()); // list - pact
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/common/communication/CommChannels.java b/multichat/src/main/java/xyz/olivermartin/multichat/common/communication/CommChannels.java
index 13411ff0..2398f2c1 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/common/communication/CommChannels.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/common/communication/CommChannels.java
@@ -1,32 +1,11 @@
package xyz.olivermartin.multichat.common.communication;
-public class CommChannels {
+public interface CommChannels {
/*
* The prefix used for multichat communication channels
*/
- private static String prefix = "multichat:";
-
- // Player meta communication (prefix, suffix, displayname etc.)
- private static String playerMeta = "pmeta";
-
- // Chat messages sent by players
- private static String playerChat = "pchat";
-
- // Chat messages sent by non-player objects (casts, announcements etc.)
- private static String serverChat = "schat";
-
- // Data about specific players (selected channels, colour permissions etc.)
- private static String playerData = "pdata";
-
- // Data about the server as a whole (ignoremap, global chat servers, display name formats, legacy servers etc.)
- private static String serverData = "sdata";
-
- // Actions for the server console (mce/pxe)
- private static String serverAction = "sact";
-
- // Actions for players (mce players, ppxe)
- private static String playerAction = "pact";
+ String PREFIX = "multichat:";
/**
* Gets the channel id used for:
@@ -52,9 +31,7 @@ public class CommChannels {
*
* @return the channel id
*/
- public static String getPlayerMeta() {
- return prefix + playerMeta;
- }
+ String PLAYER_META = PREFIX + "pmeta";
/**
* Gets the channel id used for:
@@ -76,9 +53,7 @@ public static String getPlayerMeta() {
*
* @return the channel id
*/
- public static String getPlayerChat() {
- return prefix + playerChat;
- }
+ String PLAYER_CHAT = PREFIX + "pchat";
/**
* Gets the channel id used for:
@@ -100,9 +75,7 @@ public static String getPlayerChat() {
*
* @return the channel id
*/
- public static String getServerChat() {
- return prefix + serverChat;
- }
+ String SERVER_CHAT = PREFIX + "schat";
/**
* Gets the channel id used for:
@@ -126,9 +99,7 @@ public static String getServerChat() {
*
* @return the channel id
*/
- public static String getPlayerData() {
- return prefix + playerData;
- }
+ String PLAYER_DATA = PREFIX + "pdata";
/**
* Gets the channel id used for:
@@ -155,9 +126,7 @@ public static String getPlayerData() {
*
* @return the channel id
*/
- public static String getServerData() {
- return prefix + serverData;
- }
+ String SERVER_DATA = PREFIX + "sdata";
/**
* Gets the channel id used for:
@@ -179,9 +148,7 @@ public static String getServerData() {
*
* @return the channel id
*/
- public static String getServerAction() {
- return prefix + serverAction;
- }
+ String SERVER_ACTION = PREFIX + "sact";
/**
* Gets the channel id used for:
@@ -203,8 +170,6 @@ public static String getServerAction() {
*
* @return the channel id
*/
- public static String getPlayerAction() {
- return prefix + playerAction;
- }
+ String PLAYER_ACTION = PREFIX + "pact";
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/LocalBungeeCommunicationManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/LocalBungeeCommunicationManager.java
index 3264d990..2191b815 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/LocalBungeeCommunicationManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/LocalBungeeCommunicationManager.java
@@ -29,22 +29,22 @@ protected LocalBungeeCommunicationManager(MultiChatLocalPlatform localPlatform)
@Override
public void sendMetaUpdate(UUID uuid, String metaId, String metaValue) {
- sendUUIDAndStringAndString(CommChannels.getPlayerMeta(), uuid, metaId, metaValue);
+ sendUUIDAndStringAndString(CommChannels.PLAYER_META, uuid, metaId, metaValue);
}
@Override
public void sendProxyExecuteMessage(String command) {
- sendString(CommChannels.getServerAction(), command);
+ sendString(CommChannels.SERVER_ACTION, command);
}
@Override
public void sendProxyExecutePlayerMessage(String command, String player) {
- sendStringAndString(CommChannels.getPlayerAction(), command, player);
+ sendStringAndString(CommChannels.PLAYER_ACTION, command, player);
}
@Override
public void sendPlayerChatMessage(UUID uuid, String channel, String message, String format) {
- sendUUIDAndStringAndStringAndString(CommChannels.getPlayerChat(), uuid, channel, message, format);
+ sendUUIDAndStringAndStringAndString(CommChannels.PLAYER_CHAT, uuid, channel, message, format);
}
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/MultiChatLocalSpigotPlugin.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/MultiChatLocalSpigotPlugin.java
index 69967fd0..81ebdfba 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/MultiChatLocalSpigotPlugin.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/MultiChatLocalSpigotPlugin.java
@@ -169,17 +169,17 @@ public void onEnable() {
private void registerCommunicationChannels() {
- getServer().getMessenger().registerOutgoingPluginChannel(this, CommChannels.getPlayerMeta());
- getServer().getMessenger().registerOutgoingPluginChannel(this, CommChannels.getPlayerChat());
- getServer().getMessenger().registerOutgoingPluginChannel(this, CommChannels.getPlayerAction());
- getServer().getMessenger().registerOutgoingPluginChannel(this, CommChannels.getServerAction());
- getServer().getMessenger().registerIncomingPluginChannel(this, CommChannels.getServerChat(), new LocalSpigotServerChatListener());
- getServer().getMessenger().registerIncomingPluginChannel(this, CommChannels.getServerAction(), new LocalSpigotServerActionListener());
- getServer().getMessenger().registerIncomingPluginChannel(this, CommChannels.getPlayerAction(), new LocalSpigotPlayerActionListener());
- getServer().getMessenger().registerIncomingPluginChannel(this, CommChannels.getPlayerChat(), new LocalSpigotPlayerChatListener());
- getServer().getMessenger().registerIncomingPluginChannel(this, CommChannels.getPlayerData(), new LocalSpigotPlayerDataListener());
- getServer().getMessenger().registerIncomingPluginChannel(this, CommChannels.getServerData(), new LocalSpigotServerDataListener());
- getServer().getMessenger().registerIncomingPluginChannel(this, CommChannels.getPlayerMeta(), new LocalSpigotPlayerMetaListener());
+ getServer().getMessenger().registerOutgoingPluginChannel(this, CommChannels.PLAYER_META);
+ getServer().getMessenger().registerOutgoingPluginChannel(this, CommChannels.PLAYER_CHAT);
+ getServer().getMessenger().registerOutgoingPluginChannel(this, CommChannels.PLAYER_ACTION);
+ getServer().getMessenger().registerOutgoingPluginChannel(this, CommChannels.SERVER_ACTION);
+ getServer().getMessenger().registerIncomingPluginChannel(this, CommChannels.SERVER_CHAT, new LocalSpigotServerChatListener());
+ getServer().getMessenger().registerIncomingPluginChannel(this, CommChannels.SERVER_ACTION, new LocalSpigotServerActionListener());
+ getServer().getMessenger().registerIncomingPluginChannel(this, CommChannels.PLAYER_ACTION, new LocalSpigotPlayerActionListener());
+ getServer().getMessenger().registerIncomingPluginChannel(this, CommChannels.PLAYER_CHAT, new LocalSpigotPlayerChatListener());
+ getServer().getMessenger().registerIncomingPluginChannel(this, CommChannels.PLAYER_DATA, new LocalSpigotPlayerDataListener());
+ getServer().getMessenger().registerIncomingPluginChannel(this, CommChannels.SERVER_DATA, new LocalSpigotServerDataListener());
+ getServer().getMessenger().registerIncomingPluginChannel(this, CommChannels.PLAYER_META, new LocalSpigotPlayerMetaListener());
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotPlayerActionListener.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotPlayerActionListener.java
index e427a73f..ad603ddd 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotPlayerActionListener.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotPlayerActionListener.java
@@ -14,7 +14,7 @@ public class LocalSpigotPlayerActionListener extends LocalPlayerActionListener i
@Override
public void onPluginMessageReceived(String channel, Player player, byte[] message) {
- if (!channel.equals(CommChannels.getPlayerAction())) return;
+ if (!channel.equals(CommChannels.PLAYER_ACTION)) return;
LocalBungeeMessage lbm = new SpigotBungeeMessage(message);
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotPlayerChatListener.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotPlayerChatListener.java
index 36c6d0a2..114596cc 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotPlayerChatListener.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotPlayerChatListener.java
@@ -14,7 +14,7 @@ public class LocalSpigotPlayerChatListener extends LocalPlayerChatListener imple
@Override
public void onPluginMessageReceived(String channel, Player player, byte[] message) {
- if (!channel.equals(CommChannels.getPlayerChat())) return;
+ if (!channel.equals(CommChannels.PLAYER_CHAT)) return;
LocalBungeeMessage lbm = new SpigotBungeeMessage(message);
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotPlayerDataListener.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotPlayerDataListener.java
index 6cd807b0..0b0429f3 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotPlayerDataListener.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotPlayerDataListener.java
@@ -20,7 +20,7 @@ public class LocalSpigotPlayerDataListener extends LocalPlayerDataListener imple
@Override
public void onPluginMessageReceived(String channel, Player player, byte[] message) {
- if (!channel.equals(CommChannels.getPlayerData())) return;
+ if (!channel.equals(CommChannels.PLAYER_DATA)) return;
try {
LocalBungeeObjectMessage lbm = new SpigotBungeeObjectMessage(message);
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotPlayerMetaListener.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotPlayerMetaListener.java
index b6d09079..ef388b83 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotPlayerMetaListener.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotPlayerMetaListener.java
@@ -18,7 +18,7 @@ public class LocalSpigotPlayerMetaListener extends LocalPlayerMetaListener imple
@Override
public void onPluginMessageReceived(String channel, Player player, byte[] message) {
- if (!channel.equals(CommChannels.getPlayerMeta())) return;
+ if (!channel.equals(CommChannels.PLAYER_META)) return;
LocalBungeeMessage lbm = new SpigotBungeeMessage(message);
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotServerActionListener.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotServerActionListener.java
index 12d5614b..282eddc4 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotServerActionListener.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotServerActionListener.java
@@ -14,7 +14,7 @@ public class LocalSpigotServerActionListener extends LocalServerActionListener i
@Override
public void onPluginMessageReceived(String channel, Player player, byte[] message) {
- if (!channel.equals(CommChannels.getServerAction())) return;
+ if (!channel.equals(CommChannels.SERVER_ACTION)) return;
LocalBungeeMessage lbm = new SpigotBungeeMessage(message);
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotServerChatListener.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotServerChatListener.java
index 907c053f..27e5609a 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotServerChatListener.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotServerChatListener.java
@@ -15,7 +15,7 @@ public class LocalSpigotServerChatListener extends LocalServerChatListener imple
@Override
public void onPluginMessageReceived(String channel, Player player, byte[] message) {
- if (!channel.equals(CommChannels.getServerChat())) return;
+ if (!channel.equals(CommChannels.SERVER_CHAT)) return;
LocalBungeeMessage lbm = new SpigotBungeeMessage(message);
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotServerDataListener.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotServerDataListener.java
index 063abcb0..23e2a43d 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotServerDataListener.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/communication/LocalSpigotServerDataListener.java
@@ -16,7 +16,7 @@ public class LocalSpigotServerDataListener extends LocalServerDataListener imple
@Override
public void onPluginMessageReceived(String channel, Player player, byte[] message) {
- if (!channel.equals(CommChannels.getServerData())) return;
+ if (!channel.equals(CommChannels.SERVER_DATA)) return;
try {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/MultiChatLocalSpongePlugin.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/MultiChatLocalSpongePlugin.java
index 4b84e58c..ffbe6d2f 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/MultiChatLocalSpongePlugin.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/MultiChatLocalSpongePlugin.java
@@ -233,26 +233,26 @@ private void registerCommunicationChannels(SpongeBungeeCommunicationManager comm
ChannelRegistrar channelRegistrar = Sponge.getGame().getChannelRegistrar();
// New channels
- ChannelBinding.RawDataChannel playerMetaChannel = channelRegistrar.createRawChannel(this, CommChannels.getPlayerMeta());
- commManager.registerChannel(CommChannels.getPlayerMeta(), playerMetaChannel);
+ ChannelBinding.RawDataChannel playerMetaChannel = channelRegistrar.createRawChannel(this, CommChannels.PLAYER_META);
+ commManager.registerChannel(CommChannels.PLAYER_META, playerMetaChannel);
- ChannelBinding.RawDataChannel playerChatChannel = channelRegistrar.createRawChannel(this, CommChannels.getPlayerChat());
- commManager.registerChannel(CommChannels.getPlayerChat(), playerChatChannel);
+ ChannelBinding.RawDataChannel playerChatChannel = channelRegistrar.createRawChannel(this, CommChannels.PLAYER_CHAT);
+ commManager.registerChannel(CommChannels.PLAYER_CHAT, playerChatChannel);
- ChannelBinding.RawDataChannel serverChatChannel = channelRegistrar.createRawChannel(this, CommChannels.getServerChat());
- commManager.registerChannel(CommChannels.getServerChat(), serverChatChannel);
+ ChannelBinding.RawDataChannel serverChatChannel = channelRegistrar.createRawChannel(this, CommChannels.SERVER_CHAT);
+ commManager.registerChannel(CommChannels.SERVER_CHAT, serverChatChannel);
- ChannelBinding.RawDataChannel serverActionChannel = channelRegistrar.createRawChannel(this, CommChannels.getServerAction());
- commManager.registerChannel(CommChannels.getServerAction(), serverActionChannel);
+ ChannelBinding.RawDataChannel serverActionChannel = channelRegistrar.createRawChannel(this, CommChannels.SERVER_ACTION);
+ commManager.registerChannel(CommChannels.SERVER_ACTION, serverActionChannel);
- ChannelBinding.RawDataChannel playerActionChannel = channelRegistrar.createRawChannel(this, CommChannels.getPlayerAction());
- commManager.registerChannel(CommChannels.getPlayerAction(), playerActionChannel);
+ ChannelBinding.RawDataChannel playerActionChannel = channelRegistrar.createRawChannel(this, CommChannels.PLAYER_ACTION);
+ commManager.registerChannel(CommChannels.PLAYER_ACTION, playerActionChannel);
- ChannelBinding.RawDataChannel playerDataChannel = channelRegistrar.createRawChannel(this, CommChannels.getPlayerData());
- commManager.registerChannel(CommChannels.getPlayerData(), playerDataChannel);
+ ChannelBinding.RawDataChannel playerDataChannel = channelRegistrar.createRawChannel(this, CommChannels.PLAYER_DATA);
+ commManager.registerChannel(CommChannels.PLAYER_DATA, playerDataChannel);
- ChannelBinding.RawDataChannel serverDataChannel = channelRegistrar.createRawChannel(this, CommChannels.getServerData());
- commManager.registerChannel(CommChannels.getServerData(), serverDataChannel);
+ ChannelBinding.RawDataChannel serverDataChannel = channelRegistrar.createRawChannel(this, CommChannels.SERVER_DATA);
+ commManager.registerChannel(CommChannels.SERVER_DATA, serverDataChannel);
serverChatChannel.addListener(Platform.Type.SERVER, new LocalSpongeServerChatListener());
serverActionChannel.addListener(Platform.Type.SERVER, new LocalSpongeServerActionListener());
@@ -270,26 +270,26 @@ public void onServerStop(GameStoppingServerEvent event) {
SpongeBungeeCommunicationManager commManager = (SpongeBungeeCommunicationManager)MultiChatLocal.getInstance().getProxyCommunicationManager();
// New channels
- Sponge.getChannelRegistrar().unbindChannel(commManager.getChannel(CommChannels.getPlayerMeta()));
- commManager.unregisterChannel(CommChannels.getPlayerMeta());
+ Sponge.getChannelRegistrar().unbindChannel(commManager.getChannel(CommChannels.PLAYER_META));
+ commManager.unregisterChannel(CommChannels.PLAYER_META);
- Sponge.getChannelRegistrar().unbindChannel(commManager.getChannel(CommChannels.getPlayerChat()));
- commManager.unregisterChannel(CommChannels.getPlayerChat());
+ Sponge.getChannelRegistrar().unbindChannel(commManager.getChannel(CommChannels.PLAYER_CHAT));
+ commManager.unregisterChannel(CommChannels.PLAYER_CHAT);
- Sponge.getChannelRegistrar().unbindChannel(commManager.getChannel(CommChannels.getServerChat()));
- commManager.unregisterChannel(CommChannels.getServerChat());
+ Sponge.getChannelRegistrar().unbindChannel(commManager.getChannel(CommChannels.SERVER_CHAT));
+ commManager.unregisterChannel(CommChannels.SERVER_CHAT);
- Sponge.getChannelRegistrar().unbindChannel(commManager.getChannel(CommChannels.getPlayerAction()));
- commManager.unregisterChannel(CommChannels.getPlayerAction());
+ Sponge.getChannelRegistrar().unbindChannel(commManager.getChannel(CommChannels.PLAYER_ACTION));
+ commManager.unregisterChannel(CommChannels.PLAYER_ACTION);
- Sponge.getChannelRegistrar().unbindChannel(commManager.getChannel(CommChannels.getServerAction()));
- commManager.unregisterChannel(CommChannels.getServerAction());
+ Sponge.getChannelRegistrar().unbindChannel(commManager.getChannel(CommChannels.SERVER_ACTION));
+ commManager.unregisterChannel(CommChannels.SERVER_ACTION);
- Sponge.getChannelRegistrar().unbindChannel(commManager.getChannel(CommChannels.getPlayerData()));
- commManager.unregisterChannel(CommChannels.getPlayerData());
+ Sponge.getChannelRegistrar().unbindChannel(commManager.getChannel(CommChannels.PLAYER_DATA));
+ commManager.unregisterChannel(CommChannels.PLAYER_DATA);
- Sponge.getChannelRegistrar().unbindChannel(commManager.getChannel(CommChannels.getServerData()));
- commManager.unregisterChannel(CommChannels.getServerData());
+ Sponge.getChannelRegistrar().unbindChannel(commManager.getChannel(CommChannels.SERVER_DATA));
+ commManager.unregisterChannel(CommChannels.SERVER_DATA);
if (MultiChatLocal.getInstance().getNameManager().getMode() == LocalNameManagerMode.SQL) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/ProxyLocalCommunicationManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/ProxyLocalCommunicationManager.java
index fec13de0..f262a194 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/ProxyLocalCommunicationManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/ProxyLocalCommunicationManager.java
@@ -55,7 +55,7 @@ public static void sendGlobalServerData(ServerInfo server) {
e.printStackTrace();
}
- server.sendData(CommChannels.getServerData(), stream.toByteArray());
+ server.sendData(CommChannels.SERVER_DATA, stream.toByteArray());
DebugManager.log("Completed send on multichat:sdata on the global id");
@@ -96,7 +96,7 @@ public static void sendDisplayNameServerData(ServerInfo server) {
e.printStackTrace();
}
- server.sendData(CommChannels.getServerData(), stream.toByteArray());
+ server.sendData(CommChannels.SERVER_DATA, stream.toByteArray());
DebugManager.log("Completed send to multichat:sdata on the dn id");
@@ -129,7 +129,7 @@ public static void sendIgnoreServerData(ServerInfo server) {
e.printStackTrace();
}
- server.sendData(CommChannels.getServerData(), stream.toByteArray());
+ server.sendData(CommChannels.SERVER_DATA, stream.toByteArray());
DebugManager.log("Completed send to multichat:sdata on the ignore id");
@@ -170,7 +170,7 @@ public static void sendLegacyServerData(ServerInfo server) {
e.printStackTrace();
}
- server.sendData(CommChannels.getServerData(), stream.toByteArray());
+ server.sendData(CommChannels.SERVER_DATA, stream.toByteArray());
DebugManager.log("Completed send to multichat:sdata on the legacy id");
@@ -194,7 +194,7 @@ public static void sendUpdatePlayerMetaRequestMessage(String playerName, ServerI
e.printStackTrace();
}
- server.sendData(CommChannels.getPlayerMeta(), stream.toByteArray());
+ server.sendData(CommChannels.PLAYER_META, stream.toByteArray());
DebugManager.log("Request sent!");
}
@@ -213,7 +213,7 @@ public static void sendCommandMessage(String command, ServerInfo server) {
e.printStackTrace();
}
- server.sendData(CommChannels.getServerAction(), stream.toByteArray());
+ server.sendData(CommChannels.SERVER_ACTION, stream.toByteArray());
}
@@ -232,7 +232,7 @@ public static void sendPlayerCommandMessage(String command, String playerRegex,
e.printStackTrace();
}
- server.sendData(CommChannels.getPlayerAction(), stream.toByteArray());
+ server.sendData(CommChannels.PLAYER_ACTION, stream.toByteArray());
}
@@ -251,7 +251,7 @@ public static void sendPlayerDirectChatMessage(String channel, String player, St
e.printStackTrace();
}
- server.sendData(CommChannels.getPlayerChat(), stream.toByteArray());
+ server.sendData(CommChannels.PLAYER_CHAT, stream.toByteArray());
}
@@ -273,7 +273,7 @@ public static void sendServerChatMessage(String channel, String message, ServerI
e.printStackTrace();
}
- server.sendData(CommChannels.getServerChat(), stream.toByteArray());
+ server.sendData(CommChannels.SERVER_CHAT, stream.toByteArray());
}
@@ -299,7 +299,7 @@ public static void sendPlayerDataMessage(String playerName, String channel, Chan
e.printStackTrace();
}
- server.sendData(CommChannels.getPlayerData(), stream.toByteArray());
+ server.sendData(CommChannels.PLAYER_DATA, stream.toByteArray());
DebugManager.log("Sent message on multichat:pdata channel!");
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyPlayerActionListener.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyPlayerActionListener.java
index b8818d57..ea11a8aa 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyPlayerActionListener.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyPlayerActionListener.java
@@ -25,7 +25,7 @@ public class ProxyPlayerActionListener implements Listener {
public static void onPluginMessage(PluginMessageEvent event) {
// Ignore if sent to a different channel
- if (!event.getTag().equals(CommChannels.getPlayerAction())) return;
+ if (!event.getTag().equals(CommChannels.PLAYER_ACTION)) return;
event.setCancelled(true);
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyPlayerChatListener.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyPlayerChatListener.java
index 36ed0fb8..14a0f746 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyPlayerChatListener.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyPlayerChatListener.java
@@ -29,7 +29,7 @@ public class ProxyPlayerChatListener implements Listener {
public static void onPluginMessage(PluginMessageEvent event) {
// Ignore if sent to a different channel
- if (!event.getTag().equals(CommChannels.getPlayerChat())) return;
+ if (!event.getTag().equals(CommChannels.PLAYER_CHAT)) return;
event.setCancelled(true);
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyPlayerMetaListener.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyPlayerMetaListener.java
index d6b5fecb..c3319e83 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyPlayerMetaListener.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyPlayerMetaListener.java
@@ -27,7 +27,7 @@ public class ProxyPlayerMetaListener implements Listener {
public static void onPluginMessage(PluginMessageEvent event) {
// Ignore if sent to a different channel
- if (!event.getTag().equals(CommChannels.getPlayerMeta())) return;
+ if (!event.getTag().equals(CommChannels.PLAYER_META)) return;
event.setCancelled(true);
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyServerActionListener.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyServerActionListener.java
index aaaffb9f..9979698a 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyServerActionListener.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyServerActionListener.java
@@ -22,7 +22,7 @@ public class ProxyServerActionListener implements Listener {
public static void onPluginMessage(PluginMessageEvent event) {
// Ignore if sent to a different channel
- if (!event.getTag().equals(CommChannels.getServerAction())) return;
+ if (!event.getTag().equals(CommChannels.SERVER_ACTION)) return;
event.setCancelled(true);
From 410cca2b52dae245eece803b43004424571076c3 Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Wed, 22 Jul 2020 15:16:42 +0100
Subject: [PATCH 035/188] Created new ProxyBackupManager
---
.../multichat/bungee/Announcements.java | 3 +-
.../multichat/bungee/Bulletins.java | 3 +-
.../olivermartin/multichat/bungee/Events.java | 2 +-
.../multichat/bungee/MultiChat.java | 35 +++++---------
.../bungee/commands/MultiChatCommand.java | 4 +-
.../proxy/common/MultiChatProxy.java | 19 ++++++++
.../proxy/common/ProxyBackupManager.java | 48 +++++++++++++++++++
7 files changed, 86 insertions(+), 28 deletions(-)
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/ProxyBackupManager.java
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Announcements.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Announcements.java
index 94da392e..58ec0f09 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Announcements.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Announcements.java
@@ -11,6 +11,7 @@
import net.md_5.bungee.api.scheduler.ScheduledTask;
import xyz.olivermartin.multichat.bungee.events.PostBroadcastEvent;
import xyz.olivermartin.multichat.common.MultiChatUtil;
+import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
/**
* Announcements Management
@@ -30,7 +31,7 @@ public static boolean startAnnouncement(final String name, Integer minutes) {
Integer ID;
- ScheduledTask task = ProxyServer.getInstance().getScheduler().schedule(MultiChat.getInstance(), new Runnable() {
+ ScheduledTask task = ProxyServer.getInstance().getScheduler().schedule(MultiChatProxy.getInstance().getPlugin(), new Runnable() {
@Override
public void run() {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Bulletins.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Bulletins.java
index e48590f4..077bd4cf 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Bulletins.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Bulletins.java
@@ -11,6 +11,7 @@
import net.md_5.bungee.api.scheduler.ScheduledTask;
import xyz.olivermartin.multichat.bungee.events.PostBroadcastEvent;
import xyz.olivermartin.multichat.common.MultiChatUtil;
+import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
/**
* Bulletins Management
@@ -96,7 +97,7 @@ public static void removeBulletin(int index) {
}
private static void scheduleNextBulletin(final int minutes) {
- ScheduledTask task = ProxyServer.getInstance().getScheduler().schedule(MultiChat.getInstance(), new Runnable() {
+ ScheduledTask task = ProxyServer.getInstance().getScheduler().schedule(MultiChatProxy.getInstance().getPlugin(), new Runnable() {
@Override
public void run() {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java
index 83784da9..dc671448 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java
@@ -642,7 +642,7 @@ public void onLogout(PlayerDisconnectEvent event) {
@EventHandler(priority = EventPriority.LOWEST)
public void onServerSwitch(ServerSwitchEvent event) {
// Tell the new server the player's channel preference
- ProxyServer.getInstance().getScheduler().schedule(MultiChat.getInstance(), new Runnable() {
+ ProxyServer.getInstance().getScheduler().schedule(MultiChatProxy.getInstance().getPlugin(), new Runnable() {
public void run() {
ProxyLocalCommunicationManager.sendPlayerDataMessage(event.getPlayer().getName(), Channel.getChannel(event.getPlayer().getUniqueId()).getName(), Channel.getChannel(event.getPlayer().getUniqueId()), event.getPlayer().getServer().getInfo(), (event.getPlayer().hasPermission("multichat.chat.colour")||event.getPlayer().hasPermission("multichat.chat.color")||event.getPlayer().hasPermission("multichat.chat.colour.simple")||event.getPlayer().hasPermission("multichat.chat.color.simple")), (event.getPlayer().hasPermission("multichat.chat.colour")||event.getPlayer().hasPermission("multichat.chat.color")||event.getPlayer().hasPermission("multichat.chat.colour.rgb")||event.getPlayer().hasPermission("multichat.chat.color.rgb")));
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
index cbc86c71..7736ce1f 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
@@ -17,6 +17,7 @@
import xyz.olivermartin.multichat.common.communication.CommChannels;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxyPlatform;
+import xyz.olivermartin.multichat.proxy.common.ProxyBackupManager;
import xyz.olivermartin.multichat.proxy.common.ProxyDataStore;
import xyz.olivermartin.multichat.proxy.common.ProxyLocalCommunicationManager;
import xyz.olivermartin.multichat.proxy.common.listeners.communication.ProxyPlayerActionListener;
@@ -85,7 +86,6 @@ public class MultiChat extends Plugin implements Listener {
};
public static String configversion;
- private static MultiChat instance;
// Config values
public static String defaultChannel = "";
@@ -102,26 +102,6 @@ public class MultiChat extends Plugin implements Listener {
public static List legacyServers = new ArrayList();
- public static MultiChat getInstance() {
- return instance;
- }
-
- public void backup() {
-
- getProxy().getScheduler().schedule(this, new Runnable() {
-
- public void run() {
-
- getLogger().info("Commencing backup!");
- MultiChatProxy.getInstance().getFileStoreManager().save();
- getLogger().info("Backup complete. Any errors reported above.");
-
- }
-
- }, 1L, 60L, TimeUnit.MINUTES);
-
- }
-
public void fetchDisplayNames() {
getProxy().getScheduler().schedule(this, new Runnable() {
@@ -247,7 +227,7 @@ public void run() {
public void onEnable() {
- instance = this;
+ MultiChatProxy.getInstance().registerPlugin(this);
@SuppressWarnings("unused")
Metrics metrics = new Metrics(this);
@@ -398,7 +378,16 @@ public void onEnable() {
}
// Initiate backup routine
- backup();
+ ProxyBackupManager backupManager = new ProxyBackupManager();
+ MultiChatProxy.getInstance().registerBackupManager(backupManager);
+ backupManager.registerBackupTask(new Runnable() {
+
+ public void run() {
+ MultiChatProxy.getInstance().getFileStoreManager().save();
+ }
+
+ });
+ backupManager.startBackup(1L, 60L, TimeUnit.MINUTES);
// Fetch display names of all players
fetchDisplayNames();
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
index f1d5063e..199dc709 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
@@ -83,7 +83,7 @@ public void execute(CommandSender sender, String[] args) {
MessageManager.sendMessage(sender, "command_multichat_reload_prepare");
// Unregister commands
- MultiChat.getInstance().unregisterCommands(ConfigManager.getInstance().getHandler("config.yml").getConfig(), ConfigManager.getInstance().getHandler("chatcontrol.yml").getConfig());
+ ((MultiChat)MultiChatProxy.getInstance().getPlugin()).unregisterCommands(ConfigManager.getInstance().getHandler("config.yml").getConfig(), ConfigManager.getInstance().getHandler("chatcontrol.yml").getConfig());
ConfigManager.getInstance().getHandler("config.yml").startupConfig();
MultiChat.configversion = ConfigManager.getInstance().getHandler("config.yml").getConfig().getString("version");
@@ -101,7 +101,7 @@ public void execute(CommandSender sender, String[] args) {
// Reload, and re-register commands
CommandManager.reload();
- MultiChat.getInstance().registerCommands(ConfigManager.getInstance().getHandler("config.yml").getConfig(), ConfigManager.getInstance().getHandler("chatcontrol.yml").getConfig());
+ ((MultiChat)MultiChatProxy.getInstance().getPlugin()).registerCommands(ConfigManager.getInstance().getHandler("config.yml").getConfig(), ConfigManager.getInstance().getHandler("chatcontrol.yml").getConfig());
ChatControl.reload();
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/MultiChatProxy.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/MultiChatProxy.java
index ece753c5..7bde7e95 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/MultiChatProxy.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/MultiChatProxy.java
@@ -2,6 +2,7 @@
import java.io.File;
+import net.md_5.bungee.api.plugin.Plugin;
import xyz.olivermartin.multichat.proxy.common.storage.ProxyFileStoreManager;
/**
@@ -25,14 +26,24 @@ public static MultiChatProxy getInstance() {
/* END STATIC */
private MultiChatProxyPlatform platform;
+ private Plugin plugin;
private File configDirectory;
private ProxyDataStore dataStore;
private ProxyFileStoreManager fileStoreManager;
+ private ProxyBackupManager backupManager;
/* END ATTRIBUTES */
private MultiChatProxy() { /* EMPTY */ }
+ public Plugin getPlugin() {
+ return this.plugin;
+ }
+
+ public void registerPlugin(Plugin plugin) {
+ this.plugin = plugin;
+ }
+
public MultiChatProxyPlatform getPlatform() {
return this.platform;
}
@@ -65,4 +76,12 @@ public void registerFileStoreManager(ProxyFileStoreManager fileStoreManager) {
this.fileStoreManager = fileStoreManager;
}
+ public ProxyBackupManager getBackupManager() {
+ return this.backupManager;
+ }
+
+ public void registerBackupManager(ProxyBackupManager backupManager) {
+ this.backupManager = backupManager;
+ }
+
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/ProxyBackupManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/ProxyBackupManager.java
new file mode 100644
index 00000000..d237de5d
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/ProxyBackupManager.java
@@ -0,0 +1,48 @@
+package xyz.olivermartin.multichat.proxy.common;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+import net.md_5.bungee.api.ProxyServer;
+import net.md_5.bungee.api.scheduler.ScheduledTask;
+
+public class ProxyBackupManager {
+
+ private List backupTasks;
+ private ScheduledTask scheduledTask;
+
+ public ProxyBackupManager() {
+ backupTasks = new ArrayList();
+ }
+
+ public void registerBackupTask(Runnable task) {
+ backupTasks.add(task);
+ }
+
+ public void startBackup(long delay, long period, TimeUnit unit) {
+
+ scheduledTask = ProxyServer.getInstance().getScheduler().schedule(MultiChatProxy.getInstance().getPlugin(), new Runnable() {
+
+ public void run() {
+
+ MultiChatProxy.getInstance().getPlugin().getLogger().info("Commencing backup!");
+
+ for (Runnable r : backupTasks) {
+ r.run();
+ }
+
+ MultiChatProxy.getInstance().getPlugin().getLogger().info("Backup complete. Any errors reported above.");
+
+ }
+
+ }, delay, period, unit);
+
+ }
+
+ public void stopBackup() {
+ if (scheduledTask == null) return;
+ scheduledTask.cancel();
+ }
+
+}
From 49a35b77f7ef531d5de2f02b71d736f71042a2ba Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Wed, 22 Jul 2020 15:40:47 +0100
Subject: [PATCH 036/188] Changed outdated config version message
---
.../xyz/olivermartin/multichat/bungee/MultiChat.java | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
index 7736ce1f..e87b28ef 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
@@ -270,15 +270,9 @@ public void onEnable() {
if (Arrays.asList(ALLOWED_VERSIONS).contains(configversion)) {
- // TODO - Remove for future versions!
if (!configversion.equals(LATEST_VERSION)) {
-
- getLogger().info("[!!!] [WARNING] YOUR CONFIG FILES ARE NOT THE LATEST VERSION");
- getLogger().info("[!!!] [WARNING] MULTICHAT 1.8 INTRODUCES SEVERAL NEW FEATURES WHICH ARE NOT IN YOUR OLD FILE");
- getLogger().info("[!!!] [WARNING] THE PLUGIN SHOULD WORK WITH THE OLDER FILE, BUT IS NOT SUPPORTED!");
- getLogger().info("[!!!] [WARNING] PLEASE BACKUP YOUR OLD CONFIG FILES AND DELETE THEM FROM THE MULTICHAT FOLDER SO NEW ONES CAN BE GENERATED!");
- getLogger().info("[!!!] [WARNING] THANK YOU");
-
+ getLogger().warning("YOUR CONFIG FILES ARE NOT THE LATEST VERSION");
+ getLogger().warning("SOME FEATURES OF MULTICHAT ARE ONLY PRESENT IN THE LATEST VERSION OF THE CONFIG");
}
// Register listeners
From 2b78c212f01a8611f997b542e05dc3585dfd051b Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Wed, 22 Jul 2020 15:42:46 +0100
Subject: [PATCH 037/188] Renamed Channel class to LegacyChannel to make way
for new Channel
---
.../multichat/bungee/CastControl.java | 2 +-
.../multichat/bungee/ChatModeManager.java | 12 +++++-----
.../olivermartin/multichat/bungee/Events.java | 22 +++++++++----------
.../multichat/bungee/GlobalChannel.java | 2 +-
.../{Channel.java => LegacyChannel.java} | 16 +++++++-------
.../multichat/bungee/LocalChannel.java | 2 +-
.../multichat/bungee/MultiChat.java | 2 +-
.../bungee/commands/ChannelCommand.java | 12 +++++-----
.../bungee/commands/GlobalCommand.java | 6 ++---
.../bungee/commands/LocalCommand.java | 6 ++---
.../bungee/commands/MultiChatCommand.java | 8 +++----
.../bungee/commands/UseCastCommand.java | 4 ++--
.../ProxyLocalCommunicationManager.java | 6 ++---
.../ProxyPlayerChatListener.java | 6 ++---
14 files changed, 53 insertions(+), 53 deletions(-)
rename multichat/src/main/java/xyz/olivermartin/multichat/bungee/{Channel.java => LegacyChannel.java} (93%)
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/CastControl.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/CastControl.java
index c0f4f47c..a7e38f70 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/CastControl.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/CastControl.java
@@ -17,7 +17,7 @@ public class CastControl {
public static Map castList = new HashMap();
- public static void sendCast(String castName, String castMessage, Channel chatStream, CommandSender sender) {
+ public static void sendCast(String castName, String castMessage, LegacyChannel chatStream, CommandSender sender) {
castMessage = ChatControl.applyChatRules(castMessage, "casts", "").get();
chatStream.sendMessage(castList.get(castName.toLowerCase()) + " " + castMessage, sender);
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/ChatModeManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/ChatModeManager.java
index 986942be..0f5080e2 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/ChatModeManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/ChatModeManager.java
@@ -33,19 +33,19 @@ public void setLocal(UUID uuid) {
globalPlayers.put(uuid, false);
// TODO
- Channel.setChannel(uuid, Channel.getLocalChannel());
+ LegacyChannel.setChannel(uuid, LegacyChannel.getLocalChannel());
// TODO
ProxiedPlayer player = ProxyServer.getInstance().getPlayer(uuid);
if (player == null) return;
- Channel local = Channel.getLocalChannel();
+ LegacyChannel local = LegacyChannel.getLocalChannel();
if (!local.isMember(uuid)) {
local.removeMember(uuid);
MessageManager.sendSpecialMessage(player, "command_channel_show", "LOCAL");
}
- ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), Channel.getChannel(uuid).getName(), Channel.getChannel(uuid), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
+ ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), LegacyChannel.getChannel(uuid).getName(), LegacyChannel.getChannel(uuid), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
}
@@ -54,19 +54,19 @@ public void setGlobal(UUID uuid) {
globalPlayers.put(uuid, true);
// TODO
- Channel.setChannel(uuid, Channel.getGlobalChannel());
+ LegacyChannel.setChannel(uuid, LegacyChannel.getGlobalChannel());
// TODO
ProxiedPlayer player = ProxyServer.getInstance().getPlayer(uuid);
if (player == null) return;
- Channel global = Channel.getGlobalChannel();
+ LegacyChannel global = LegacyChannel.getGlobalChannel();
if (!global.isMember(uuid)) {
global.removeMember(uuid);
MessageManager.sendSpecialMessage(player, "command_channel_show", "GLOBAL");
}
- ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), Channel.getChannel(uuid).getName(), Channel.getChannel(uuid), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
+ ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), LegacyChannel.getChannel(uuid).getName(), LegacyChannel.getChannel(uuid), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java
index dc671448..d64d6932 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java
@@ -325,7 +325,7 @@ public void onChat(ChatEvent event) {
String message = MultiChatUtil.getMessageFromArgs(parts, 1);
- CastControl.sendCast(parts[0].substring(1),message,Channel.getChannel(playerSender.getUniqueId()), playerSender);
+ CastControl.sendCast(parts[0].substring(1),message,LegacyChannel.getChannel(playerSender.getUniqueId()), playerSender);
event.setCancelled(true);
@@ -335,7 +335,7 @@ public void onChat(ChatEvent event) {
String message = MultiChatUtil.getMessageFromArgs(parts, 1);
- CastControl.sendCast(parts[0].substring(1), message, Channel.getGlobalChannel(), ProxyServer.getInstance().getConsole());
+ CastControl.sendCast(parts[0].substring(1), message, LegacyChannel.getGlobalChannel(), ProxyServer.getInstance().getConsole());
event.setCancelled(true);
@@ -397,7 +397,7 @@ public void onChat(ChatEvent event) {
DebugManager.log("Does player have rgb colour permission? " + (player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
// Let server know players channel preference
- ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), Channel.getChannel(player.getUniqueId()).getName(), Channel.getChannel(player.getUniqueId()), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
+ ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), LegacyChannel.getChannel(player.getUniqueId()).getName(), LegacyChannel.getChannel(player.getUniqueId()), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
// Message passes through to spigot here
@@ -485,9 +485,9 @@ public void onLogin(PostLoginEvent event) {
// Set player to appropriate channels
if (ChatModeManager.getInstance().isGlobal(uuid)) {
- Channel.setChannel(player.getUniqueId(), Channel.getGlobalChannel());
+ LegacyChannel.setChannel(player.getUniqueId(), LegacyChannel.getGlobalChannel());
} else {
- Channel.setChannel(player.getUniqueId(), Channel.getLocalChannel());
+ LegacyChannel.setChannel(player.getUniqueId(), LegacyChannel.getLocalChannel());
}
//BungeeComm.sendPlayerChannelMessage(player.getName(), Channel.getChannel(player.getUniqueId()).getName(), Channel.getChannel(player.getUniqueId()), player.getServer().getInfo());
@@ -593,7 +593,7 @@ public void onLogout(PlayerDisconnectEvent event) {
ChatControl.spamPardonPlayer(uuid);
///
- Channel.removePlayer(player.getUniqueId());
+ LegacyChannel.removePlayer(player.getUniqueId());
///
if (ds.getViewedChats().containsKey(uuid)) {
@@ -604,12 +604,12 @@ public void onLogout(PlayerDisconnectEvent event) {
ConsoleManager.log("Un-Registered player " + player.getName());
- if (!Channel.getGlobalChannel().isMember(player.getUniqueId())) {
- Channel.getGlobalChannel().removeMember(uuid);
+ if (!LegacyChannel.getGlobalChannel().isMember(player.getUniqueId())) {
+ LegacyChannel.getGlobalChannel().removeMember(uuid);
}
- if (!Channel.getLocalChannel().isMember(player.getUniqueId())) {
- Channel.getLocalChannel().removeMember(uuid);
+ if (!LegacyChannel.getLocalChannel().isMember(player.getUniqueId())) {
+ LegacyChannel.getLocalChannel().removeMember(uuid);
}
if ( ConfigManager.getInstance().getHandler("joinmessages.yml").getConfig().getBoolean("showquit") == true ) {
@@ -645,7 +645,7 @@ public void onServerSwitch(ServerSwitchEvent event) {
ProxyServer.getInstance().getScheduler().schedule(MultiChatProxy.getInstance().getPlugin(), new Runnable() {
public void run() {
- ProxyLocalCommunicationManager.sendPlayerDataMessage(event.getPlayer().getName(), Channel.getChannel(event.getPlayer().getUniqueId()).getName(), Channel.getChannel(event.getPlayer().getUniqueId()), event.getPlayer().getServer().getInfo(), (event.getPlayer().hasPermission("multichat.chat.colour")||event.getPlayer().hasPermission("multichat.chat.color")||event.getPlayer().hasPermission("multichat.chat.colour.simple")||event.getPlayer().hasPermission("multichat.chat.color.simple")), (event.getPlayer().hasPermission("multichat.chat.colour")||event.getPlayer().hasPermission("multichat.chat.color")||event.getPlayer().hasPermission("multichat.chat.colour.rgb")||event.getPlayer().hasPermission("multichat.chat.color.rgb")));
+ ProxyLocalCommunicationManager.sendPlayerDataMessage(event.getPlayer().getName(), LegacyChannel.getChannel(event.getPlayer().getUniqueId()).getName(), LegacyChannel.getChannel(event.getPlayer().getUniqueId()), event.getPlayer().getServer().getInfo(), (event.getPlayer().hasPermission("multichat.chat.colour")||event.getPlayer().hasPermission("multichat.chat.color")||event.getPlayer().hasPermission("multichat.chat.colour.simple")||event.getPlayer().hasPermission("multichat.chat.color.simple")), (event.getPlayer().hasPermission("multichat.chat.colour")||event.getPlayer().hasPermission("multichat.chat.color")||event.getPlayer().hasPermission("multichat.chat.colour.rgb")||event.getPlayer().hasPermission("multichat.chat.color.rgb")));
ProxyLocalCommunicationManager.sendLegacyServerData(event.getPlayer().getServer().getInfo());
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/GlobalChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/GlobalChannel.java
index 5d84f61c..020cfb2a 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/GlobalChannel.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/GlobalChannel.java
@@ -1,6 +1,6 @@
package xyz.olivermartin.multichat.bungee;
-public class GlobalChannel extends Channel {
+public class GlobalChannel extends LegacyChannel {
public GlobalChannel(String format) {
super("global", format, false, false);
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Channel.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/LegacyChannel.java
similarity index 93%
rename from multichat/src/main/java/xyz/olivermartin/multichat/bungee/Channel.java
rename to multichat/src/main/java/xyz/olivermartin/multichat/bungee/LegacyChannel.java
index e7db5f27..c542fe45 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Channel.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/LegacyChannel.java
@@ -24,7 +24,7 @@
* @author Oliver Martin (Revilo410)
*
*/
-public class Channel {
+public class LegacyChannel {
private static GlobalChannel global;
private static LocalChannel local;
@@ -44,18 +44,18 @@ public static LocalChannel getLocalChannel() {
return local;
}
- public static Map playerChannels = new HashMap();
+ public static Map playerChannels = new HashMap();
- public static void setChannel (UUID uuid, Channel channel) {
- Channel.playerChannels.put(uuid, channel);
+ public static void setChannel (UUID uuid, LegacyChannel channel) {
+ LegacyChannel.playerChannels.put(uuid, channel);
}
- public static Channel getChannel (UUID uuid) {
- return Channel.playerChannels.get(uuid);
+ public static LegacyChannel getChannel (UUID uuid) {
+ return LegacyChannel.playerChannels.get(uuid);
}
public static void removePlayer (UUID uuid) {
- Channel.playerChannels.remove(uuid);
+ LegacyChannel.playerChannels.remove(uuid);
}
/* END STATIC */
@@ -69,7 +69,7 @@ public static void removePlayer (UUID uuid) {
protected String name;
protected String format;
- public Channel(String name, String format, boolean whitelistServers, boolean whitelistMembers) {
+ public LegacyChannel(String name, String format, boolean whitelistServers, boolean whitelistMembers) {
this.name = name;
this.whitelistServers = whitelistServers;
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/LocalChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/LocalChannel.java
index dc1f093a..f87d55c6 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/LocalChannel.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/LocalChannel.java
@@ -4,7 +4,7 @@
import net.md_5.bungee.api.connection.ProxiedPlayer;
import xyz.olivermartin.multichat.proxy.common.ProxyLocalCommunicationManager;
-public class LocalChannel extends Channel {
+public class LocalChannel extends LegacyChannel {
public LocalChannel() {
super("local", "", false, false);
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
index e87b28ef..25be6785 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
@@ -363,7 +363,7 @@ public void onEnable() {
forceChannelOnJoin = configYML.getBoolean("force_channel_on_join");
// Set up global chat
- GlobalChannel channel = Channel.getGlobalChannel();
+ GlobalChannel channel = LegacyChannel.getGlobalChannel();
channel.setFormat(configYML.getString("globalformat"));
// Add all appropriate servers to this hardcoded global chat stream
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ChannelCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ChannelCommand.java
index 38ddb6a7..6f25fb56 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ChannelCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ChannelCommand.java
@@ -4,7 +4,7 @@
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command;
-import xyz.olivermartin.multichat.bungee.Channel;
+import xyz.olivermartin.multichat.bungee.LegacyChannel;
import xyz.olivermartin.multichat.bungee.ChatModeManager;
import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.MessageManager;
@@ -77,7 +77,7 @@ public void execute(CommandSender sender, String[] args) {
return;
}
- Channel local = Channel.getLocalChannel();
+ LegacyChannel local = LegacyChannel.getLocalChannel();
if (local.isMember(((ProxiedPlayer)sender).getUniqueId())) {
local.addMember(((ProxiedPlayer)sender).getUniqueId());
MessageManager.sendSpecialMessage(sender, "command_channel_hide", operand.toUpperCase());
@@ -92,7 +92,7 @@ public void execute(CommandSender sender, String[] args) {
return;
}
- Channel global = Channel.getGlobalChannel();
+ LegacyChannel global = LegacyChannel.getGlobalChannel();
if (global.isMember(((ProxiedPlayer)sender).getUniqueId())) {
global.addMember(((ProxiedPlayer)sender).getUniqueId());
MessageManager.sendSpecialMessage(sender, "command_channel_hide", operand.toUpperCase());
@@ -112,7 +112,7 @@ public void execute(CommandSender sender, String[] args) {
}
if (operand.equals("local")) {
- Channel local = Channel.getLocalChannel();
+ LegacyChannel local = LegacyChannel.getLocalChannel();
if (!local.isMember(((ProxiedPlayer)sender).getUniqueId())) {
local.removeMember(((ProxiedPlayer)sender).getUniqueId());
MessageManager.sendSpecialMessage(sender, "command_channel_show", operand.toUpperCase());
@@ -122,7 +122,7 @@ public void execute(CommandSender sender, String[] args) {
} else if (operand.equals("global")) {
- Channel global = Channel.getGlobalChannel();
+ LegacyChannel global = LegacyChannel.getGlobalChannel();
if (!global.isMember(((ProxiedPlayer)sender).getUniqueId())) {
global.removeMember(((ProxiedPlayer)sender).getUniqueId());
MessageManager.sendSpecialMessage(sender, "command_channel_show", operand.toUpperCase());
@@ -142,7 +142,7 @@ public void execute(CommandSender sender, String[] args) {
// Update local channel info
for (ProxiedPlayer p : ProxyServer.getInstance().getPlayers()) {
- ProxyLocalCommunicationManager.sendPlayerDataMessage(p.getName(), Channel.getChannel(p.getUniqueId()).getName(), Channel.getChannel(p.getUniqueId()), p.getServer().getInfo(), (p.hasPermission("multichat.chat.colour")||p.hasPermission("multichat.chat.color")||p.hasPermission("multichat.chat.colour.simple")||p.hasPermission("multichat.chat.color.simple")), (p.hasPermission("multichat.chat.colour")||p.hasPermission("multichat.chat.color")||p.hasPermission("multichat.chat.colour.rgb")||p.hasPermission("multichat.chat.color.rgb")));
+ ProxyLocalCommunicationManager.sendPlayerDataMessage(p.getName(), LegacyChannel.getChannel(p.getUniqueId()).getName(), LegacyChannel.getChannel(p.getUniqueId()), p.getServer().getInfo(), (p.hasPermission("multichat.chat.colour")||p.hasPermission("multichat.chat.color")||p.hasPermission("multichat.chat.colour.simple")||p.hasPermission("multichat.chat.color.simple")), (p.hasPermission("multichat.chat.colour")||p.hasPermission("multichat.chat.color")||p.hasPermission("multichat.chat.colour.rgb")||p.hasPermission("multichat.chat.color.rgb")));
}
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GlobalCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GlobalCommand.java
index 6eff45b3..2037689e 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GlobalCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GlobalCommand.java
@@ -5,7 +5,7 @@
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command;
-import xyz.olivermartin.multichat.bungee.Channel;
+import xyz.olivermartin.multichat.bungee.LegacyChannel;
import xyz.olivermartin.multichat.bungee.ChatControl;
import xyz.olivermartin.multichat.bungee.ChatModeManager;
import xyz.olivermartin.multichat.bungee.ConfigManager;
@@ -82,14 +82,14 @@ public void execute(CommandSender sender, String[] args) {
}
// If they had this channel hidden, then unhide it...
- Channel global = Channel.getGlobalChannel();
+ LegacyChannel global = LegacyChannel.getGlobalChannel();
if (!global.isMember(player.getUniqueId())) {
global.removeMember(player.getUniqueId());
MessageManager.sendSpecialMessage(player, "command_channel_show", "GLOBAL");
}
// Let server know players channel preference
- ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), Channel.getChannel(player.getUniqueId()).getName(), Channel.getChannel(player.getUniqueId()), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
+ ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), LegacyChannel.getChannel(player.getUniqueId()).getName(), LegacyChannel.getChannel(player.getUniqueId()), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
// Message passes through to spigot here
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/LocalCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/LocalCommand.java
index ceeba62a..90d45026 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/LocalCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/LocalCommand.java
@@ -5,7 +5,7 @@
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command;
-import xyz.olivermartin.multichat.bungee.Channel;
+import xyz.olivermartin.multichat.bungee.LegacyChannel;
import xyz.olivermartin.multichat.bungee.ChatControl;
import xyz.olivermartin.multichat.bungee.ChatModeManager;
import xyz.olivermartin.multichat.bungee.ConfigManager;
@@ -78,14 +78,14 @@ public void execute(CommandSender sender, String[] args) {
}
// If they had this channel hidden, then unhide it...
- Channel local = Channel.getLocalChannel();
+ LegacyChannel local = LegacyChannel.getLocalChannel();
if (!local.isMember(player.getUniqueId())) {
local.removeMember(player.getUniqueId());
MessageManager.sendSpecialMessage(player, "command_channel_show", "LOCAL");
}
// Let server know players channel preference
- ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), Channel.getChannel(player.getUniqueId()).getName(), Channel.getChannel(player.getUniqueId()), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
+ ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), LegacyChannel.getChannel(player.getUniqueId()).getName(), LegacyChannel.getChannel(player.getUniqueId()), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
// Message passes through to spigot here
// Send message directly to local chat...
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
index 199dc709..63ec3caa 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
@@ -5,7 +5,7 @@
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.chat.ComponentBuilder;
import net.md_5.bungee.api.plugin.Command;
-import xyz.olivermartin.multichat.bungee.Channel;
+import xyz.olivermartin.multichat.bungee.LegacyChannel;
import xyz.olivermartin.multichat.bungee.ChatControl;
import xyz.olivermartin.multichat.bungee.CommandManager;
import xyz.olivermartin.multichat.bungee.ConfigManager;
@@ -131,11 +131,11 @@ public void execute(CommandSender sender, String[] args) {
MultiChat.defaultChannel = ConfigManager.getInstance().getHandler("config.yml").getConfig().getString("default_channel");
MultiChat.forceChannelOnJoin = ConfigManager.getInstance().getHandler("config.yml").getConfig().getBoolean("force_channel_on_join");
- Channel.getGlobalChannel().setFormat(ConfigManager.getInstance().getHandler("config.yml").getConfig().getString("globalformat"));
- Channel.getGlobalChannel().clearServers();
+ LegacyChannel.getGlobalChannel().setFormat(ConfigManager.getInstance().getHandler("config.yml").getConfig().getString("globalformat"));
+ LegacyChannel.getGlobalChannel().clearServers();
for (String server : ConfigManager.getInstance().getHandler("config.yml").getConfig().getStringList("no_global")) {
- Channel.getGlobalChannel().addServer(server);
+ LegacyChannel.getGlobalChannel().addServer(server);
}
if (ProxyServer.getInstance().getPluginManager().getPlugin("PremiumVanish") != null) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/UseCastCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/UseCastCommand.java
index b2b4da85..d246ba6a 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/UseCastCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/UseCastCommand.java
@@ -5,7 +5,7 @@
import net.md_5.bungee.api.chat.ComponentBuilder;
import net.md_5.bungee.api.plugin.Command;
import xyz.olivermartin.multichat.bungee.CastControl;
-import xyz.olivermartin.multichat.bungee.Channel;
+import xyz.olivermartin.multichat.bungee.LegacyChannel;
import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.MessageManager;
import xyz.olivermartin.multichat.common.MultiChatUtil;
@@ -40,7 +40,7 @@ public void execute(CommandSender sender, String[] args) {
String message = MultiChatUtil.getMessageFromArgs(args, 1);
- CastControl.sendCast(args[0], message, Channel.getGlobalChannel(), sender);
+ CastControl.sendCast(args[0], message, LegacyChannel.getGlobalChannel(), sender);
} else {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/ProxyLocalCommunicationManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/ProxyLocalCommunicationManager.java
index f262a194..f9bfb343 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/ProxyLocalCommunicationManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/ProxyLocalCommunicationManager.java
@@ -7,7 +7,7 @@
import net.md_5.bungee.api.config.ServerInfo;
import net.md_5.bungee.config.Configuration;
-import xyz.olivermartin.multichat.bungee.Channel;
+import xyz.olivermartin.multichat.bungee.LegacyChannel;
import xyz.olivermartin.multichat.bungee.ChatControl;
import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.DebugManager;
@@ -44,7 +44,7 @@ public static void sendGlobalServerData(ServerInfo server) {
boolean globalChatServer = ConfigManager.getInstance().getHandler("config.yml").getConfig().getBoolean("global") == true
&& !ConfigManager.getInstance().getHandler("config.yml").getConfig().getStringList("no_global").contains(server.getName());
- String globalChatFormat = Channel.getGlobalChannel().getFormat();
+ String globalChatFormat = LegacyChannel.getGlobalChannel().getFormat();
out.writeUTF("global");
out.writeBoolean(globalChatServer);
@@ -277,7 +277,7 @@ public static void sendServerChatMessage(String channel, String message, ServerI
}
- public static void sendPlayerDataMessage(String playerName, String channel, Channel channelObject, ServerInfo server, boolean colour, boolean rgb) {
+ public static void sendPlayerDataMessage(String playerName, String channel, LegacyChannel channelObject, ServerInfo server, boolean colour, boolean rgb) {
sendIgnoreServerData(server);
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyPlayerChatListener.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyPlayerChatListener.java
index 14a0f746..4e464c8c 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyPlayerChatListener.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyPlayerChatListener.java
@@ -11,7 +11,7 @@
import net.md_5.bungee.api.event.PluginMessageEvent;
import net.md_5.bungee.api.plugin.Listener;
import net.md_5.bungee.event.EventHandler;
-import xyz.olivermartin.multichat.bungee.Channel;
+import xyz.olivermartin.multichat.bungee.LegacyChannel;
import xyz.olivermartin.multichat.bungee.DebugManager;
import xyz.olivermartin.multichat.bungee.PlayerMeta;
import xyz.olivermartin.multichat.bungee.PlayerMetaManager;
@@ -83,8 +83,8 @@ public static void onPluginMessage(PluginMessageEvent event) {
switch (channel) {
case "global":
- DebugManager.log("{multichat:pchat} Global Channel Available? = " + (Channel.getGlobalChannel() != null));
- Channel.getGlobalChannel().sendMessage(player, message, format);
+ DebugManager.log("{multichat:pchat} Global Channel Available? = " + (LegacyChannel.getGlobalChannel() != null));
+ LegacyChannel.getGlobalChannel().sendMessage(player, message, format);
break;
case "local":
From ab131bbe1f265c571bcb52261bcf6398917fa36e Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Wed, 22 Jul 2020 21:01:10 +0100
Subject: [PATCH 038/188] First batch of new channel and context implementation
---
.../olivermartin/multichat/bungee/Events.java | 10 +-
.../multichat/bungee/MultiChat.java | 20 ++-
.../bungee/commands/MultiChatCommand.java | 31 +++-
.../proxy/common/MultiChatProxy.java | 20 +++
.../proxy/common/channels/Channel.java | 7 +
.../proxy/common/channels/ChannelFactory.java | 11 ++
.../proxy/common/channels/ChannelManager.java | 7 +
.../proxy/common/channels/Context.java | 127 +++++++++++++++
.../proxy/common/channels/ContextManager.java | 27 ++++
.../proxy/common/channels/GlobalContext.java | 11 ++
.../proxy/common/channels/NetworkChannel.java | 151 ++++++++++++++++++
.../common/channels/StaticNetworkChannel.java | 97 +++++++++++
12 files changed, 506 insertions(+), 13 deletions(-)
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/Channel.java
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelFactory.java
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelManager.java
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/Context.java
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ContextManager.java
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalContext.java
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/NetworkChannel.java
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/StaticNetworkChannel.java
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java
index d64d6932..355b7a48 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java
@@ -457,10 +457,14 @@ public void onLogin(PostLoginEvent event) {
}
+ String defaultChannel = MultiChatProxy.getInstance().getContextManager().getGlobalContext().getDefaultChannel();
+ boolean forceChannel = MultiChatProxy.getInstance().getContextManager().getGlobalContext().isForceChannel();
+
if (!ChatModeManager.getInstance().existsPlayer(uuid)) {
boolean globalMode;
- if (!MultiChat.defaultChannel.equalsIgnoreCase("local")) {
+
+ if (!defaultChannel.equalsIgnoreCase("local")) {
globalMode = true;
} else {
globalMode = false;
@@ -471,10 +475,10 @@ public void onLogin(PostLoginEvent event) {
}
- if (MultiChat.forceChannelOnJoin) {
+ if (forceChannel) {
boolean globalMode;
- if (!MultiChat.defaultChannel.equalsIgnoreCase("local")) {
+ if (!defaultChannel.equalsIgnoreCase("local")) {
globalMode = true;
} else {
globalMode = false;
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
index 25be6785..169f4c42 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
@@ -20,6 +20,8 @@
import xyz.olivermartin.multichat.proxy.common.ProxyBackupManager;
import xyz.olivermartin.multichat.proxy.common.ProxyDataStore;
import xyz.olivermartin.multichat.proxy.common.ProxyLocalCommunicationManager;
+import xyz.olivermartin.multichat.proxy.common.channels.ContextManager;
+import xyz.olivermartin.multichat.proxy.common.channels.GlobalContext;
import xyz.olivermartin.multichat.proxy.common.listeners.communication.ProxyPlayerActionListener;
import xyz.olivermartin.multichat.proxy.common.listeners.communication.ProxyPlayerChatListener;
import xyz.olivermartin.multichat.proxy.common.listeners.communication.ProxyPlayerMetaListener;
@@ -88,8 +90,6 @@ public class MultiChat extends Plugin implements Listener {
public static String configversion;
// Config values
- public static String defaultChannel = "";
- public static boolean forceChannelOnJoin = false;
public static boolean logPMs = true;
public static boolean logStaffChat = true;
@@ -359,18 +359,30 @@ public void onEnable() {
}
// Set default channel
- defaultChannel = configYML.getString("default_channel");
- forceChannelOnJoin = configYML.getBoolean("force_channel_on_join");
+ String defaultChannel = configYML.getString("default_channel");
+ boolean forceChannelOnJoin = configYML.getBoolean("force_channel_on_join");
// Set up global chat
GlobalChannel channel = LegacyChannel.getGlobalChannel();
channel.setFormat(configYML.getString("globalformat"));
+ List noGlobalServers = new ArrayList();
+
// Add all appropriate servers to this hardcoded global chat stream
for (String server : configYML.getStringList("no_global")) {
channel.addServer(server);
+ noGlobalServers.add(server);
}
+ ///
+
+ // New context manager
+ GlobalContext globalContext = new GlobalContext(defaultChannel, forceChannelOnJoin, true, noGlobalServers);
+ ContextManager contextManager = new ContextManager(globalContext);
+ MultiChatProxy.getInstance().registerContextManager(contextManager);
+
+ ///
+
// Initiate backup routine
ProxyBackupManager backupManager = new ProxyBackupManager();
MultiChatProxy.getInstance().registerBackupManager(backupManager);
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
index 63ec3caa..ba167965 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
@@ -1,18 +1,23 @@
package xyz.olivermartin.multichat.bungee.commands;
+import java.util.ArrayList;
+import java.util.List;
+
import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.chat.ComponentBuilder;
import net.md_5.bungee.api.plugin.Command;
-import xyz.olivermartin.multichat.bungee.LegacyChannel;
import xyz.olivermartin.multichat.bungee.ChatControl;
import xyz.olivermartin.multichat.bungee.CommandManager;
import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.DebugManager;
+import xyz.olivermartin.multichat.bungee.GlobalChannel;
+import xyz.olivermartin.multichat.bungee.LegacyChannel;
import xyz.olivermartin.multichat.bungee.MessageManager;
import xyz.olivermartin.multichat.bungee.MultiChat;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
+import xyz.olivermartin.multichat.proxy.common.channels.GlobalContext;
/**
* MultiChat (Admin) Command
@@ -128,16 +133,30 @@ public void execute(CommandSender sender, String[] args) {
}
// Set default channel
- MultiChat.defaultChannel = ConfigManager.getInstance().getHandler("config.yml").getConfig().getString("default_channel");
- MultiChat.forceChannelOnJoin = ConfigManager.getInstance().getHandler("config.yml").getConfig().getBoolean("force_channel_on_join");
+ String defaultChannel = ConfigManager.getInstance().getHandler("config.yml").getConfig().getString("default_channel");
+ boolean forceChannelOnJoin = ConfigManager.getInstance().getHandler("config.yml").getConfig().getBoolean("force_channel_on_join");
+
+ // Set up global chat
+ GlobalChannel channel = LegacyChannel.getGlobalChannel();
+ channel.setFormat(ConfigManager.getInstance().getHandler("config.yml").getConfig().getString("globalformat"));
- LegacyChannel.getGlobalChannel().setFormat(ConfigManager.getInstance().getHandler("config.yml").getConfig().getString("globalformat"));
- LegacyChannel.getGlobalChannel().clearServers();
+ List noGlobalServers = new ArrayList();
+ channel.clearServers();
+ // Add all appropriate servers to this hardcoded global chat stream
for (String server : ConfigManager.getInstance().getHandler("config.yml").getConfig().getStringList("no_global")) {
- LegacyChannel.getGlobalChannel().addServer(server);
+ channel.addServer(server);
+ noGlobalServers.add(server);
}
+ ///
+
+ // New context manager
+ GlobalContext globalContext = new GlobalContext(defaultChannel, forceChannelOnJoin, true, noGlobalServers);
+ MultiChatProxy.getInstance().getContextManager().setGlobalContext(globalContext);
+
+ ///
+
if (ProxyServer.getInstance().getPluginManager().getPlugin("PremiumVanish") != null) {
MultiChat.premiumVanish = true;
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/MultiChatProxy.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/MultiChatProxy.java
index 7bde7e95..548e2fe5 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/MultiChatProxy.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/MultiChatProxy.java
@@ -3,6 +3,8 @@
import java.io.File;
import net.md_5.bungee.api.plugin.Plugin;
+import xyz.olivermartin.multichat.proxy.common.channels.ChannelManager;
+import xyz.olivermartin.multichat.proxy.common.channels.ContextManager;
import xyz.olivermartin.multichat.proxy.common.storage.ProxyFileStoreManager;
/**
@@ -31,6 +33,8 @@ public static MultiChatProxy getInstance() {
private ProxyDataStore dataStore;
private ProxyFileStoreManager fileStoreManager;
private ProxyBackupManager backupManager;
+ private ContextManager contextManager;
+ private ChannelManager channelManager;
/* END ATTRIBUTES */
@@ -84,4 +88,20 @@ public void registerBackupManager(ProxyBackupManager backupManager) {
this.backupManager = backupManager;
}
+ public ContextManager getContextManager() {
+ return this.contextManager;
+ }
+
+ public void registerContextManager(ContextManager contextManager) {
+ this.contextManager = contextManager;
+ }
+
+ public ChannelManager getChannelManager() {
+ return this.channelManager;
+ }
+
+ public void registerChannelManager(ChannelManager channelManager) {
+ this.channelManager = channelManager;
+ }
+
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/Channel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/Channel.java
new file mode 100644
index 00000000..fb352c44
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/Channel.java
@@ -0,0 +1,7 @@
+package xyz.olivermartin.multichat.proxy.common.channels;
+
+public interface Channel {
+
+
+
+}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelFactory.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelFactory.java
new file mode 100644
index 00000000..118f34ee
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelFactory.java
@@ -0,0 +1,11 @@
+package xyz.olivermartin.multichat.proxy.common.channels;
+
+public class ChannelFactory {
+
+ public ChannelFactory() {
+
+
+
+ }
+
+}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelManager.java
new file mode 100644
index 00000000..09acbdd4
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelManager.java
@@ -0,0 +1,7 @@
+package xyz.olivermartin.multichat.proxy.common.channels;
+
+public class ChannelManager {
+
+
+
+}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/Context.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/Context.java
new file mode 100644
index 00000000..0b49fbe3
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/Context.java
@@ -0,0 +1,127 @@
+package xyz.olivermartin.multichat.proxy.common.channels;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import net.md_5.bungee.api.CommandSender;
+import net.md_5.bungee.api.connection.ProxiedPlayer;
+
+public class Context {
+
+ private String id;
+ private int priority;
+ private String defaultChannel;
+ private boolean forceChannel;
+ private boolean blacklistServers;
+ private List servers;
+
+ public Context(String id, int priority, String defaultChannel, boolean forceChannel, boolean blacklistServers, List servers) {
+ this.id = id;
+ this.priority = priority;
+ this.defaultChannel = defaultChannel;
+ this.forceChannel = forceChannel;
+ this.blacklistServers = blacklistServers;
+ this.servers = servers;
+ }
+
+ public Context(String id, int priority, String defaultChannel, boolean forceChannel) {
+ this.id = id;
+ this.priority = priority;
+ this.defaultChannel = defaultChannel;
+ this.forceChannel = forceChannel;
+ this.blacklistServers = true;
+ this.servers = new ArrayList();
+ }
+
+ public Context(String id, int priority, String defaultChannel) {
+ this.id = id;
+ this.priority = priority;
+ this.defaultChannel = defaultChannel;
+ this.forceChannel = false;
+ this.blacklistServers = true;
+ this.servers = new ArrayList();
+ }
+
+ public Context(String id, int priority) {
+ this.id = id;
+ this.priority = priority;
+ this.defaultChannel = "global";
+ this.forceChannel = false;
+ this.blacklistServers = true;
+ this.servers = new ArrayList();
+ }
+
+ /**
+ * Get the ID of this context
+ * @return the id
+ */
+ public String getId() {
+ return this.id;
+ }
+
+ /**
+ * Get the priority of this context
+ * @return the priority
+ */
+ public int getPriority() {
+ return this.priority;
+ }
+
+ /**
+ * Get the default channel of this context
+ * @return the default channel
+ */
+ public String getDefaultChannel() {
+ return this.defaultChannel;
+ }
+
+ /**
+ * Are players forced into the default channel every time they enter the context?
+ * @return true if they are forced into the default channel
+ */
+ public boolean isForceChannel() {
+ return this.forceChannel;
+ }
+
+ /**
+ * Is the server list a blacklist (rather than a whitelist)
+ * @return true if the server list is a blacklist
+ */
+ public boolean isBlacklistServers() {
+ return this.blacklistServers;
+ }
+
+ /**
+ * Gets the blacklist/whitelist of servers for this context.
+ * List is a blacklist if isBlacklistServers() returns true, otherwise is a whitelist
+ * @return the blacklist/whitelist of servers
+ */
+ public List getServerList() {
+ return this.servers;
+ }
+
+ /**
+ * Checks if a command sender is contained by this context (on one of the allowed servers)
+ * Note: If the sender is not a player then it is assumed they are always in the context
+ * @param sender The sender to check
+ * @return true if the sender is within the context
+ */
+ public boolean contains(CommandSender sender) {
+
+ if (!(sender instanceof ProxiedPlayer)) return true;
+
+ ProxiedPlayer player = (ProxiedPlayer) sender;
+
+ if (player.getServer() == null) return false;
+
+ String server = player.getServer().getInfo().getName();
+
+ if (blacklistServers) {
+ return !servers.contains(server);
+ } else {
+ return servers.contains(server);
+ }
+
+ }
+
+}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ContextManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ContextManager.java
new file mode 100644
index 00000000..ea6b6b81
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ContextManager.java
@@ -0,0 +1,27 @@
+package xyz.olivermartin.multichat.proxy.common.channels;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class ContextManager {
+
+ private Map contexts;
+ private GlobalContext global;
+
+ public ContextManager(GlobalContext global) {
+ contexts = new HashMap();
+ this.global = global;
+ contexts.put("global", global);
+ }
+
+ public Context getGlobalContext() {
+ return this.global;
+ }
+
+ public void setGlobalContext(GlobalContext global) {
+ this.global = global;
+ contexts.remove("global");
+ contexts.put("global", global);
+ }
+
+}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalContext.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalContext.java
new file mode 100644
index 00000000..26b4f95b
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalContext.java
@@ -0,0 +1,11 @@
+package xyz.olivermartin.multichat.proxy.common.channels;
+
+import java.util.List;
+
+public class GlobalContext extends Context {
+
+ public GlobalContext(String defaultChannel, boolean forceChannel, boolean blacklistServers, List servers) {
+ super("global", 0, defaultChannel, forceChannel, blacklistServers, servers);
+ }
+
+}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/NetworkChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/NetworkChannel.java
new file mode 100644
index 00000000..cbe49ae3
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/NetworkChannel.java
@@ -0,0 +1,151 @@
+package xyz.olivermartin.multichat.proxy.common.channels;
+
+import java.util.List;
+import java.util.Optional;
+import java.util.Set;
+import java.util.UUID;
+
+import net.md_5.bungee.api.CommandSender;
+
+public abstract class NetworkChannel {
+
+ private String id; // The channel ID
+ private String desc; // A short description of the channel
+ private String format; // The format of this channel
+ private boolean unhideable; // If the channel is unhideable
+ private Context context; // The context for this channel
+ private List aliases; // The command aliases for this channel
+
+ private String permission; // Permission to view / speak
+ private String viewPermission; // Permission to view only
+
+ private boolean blacklistMembers; // Should member list of the channel be a blacklist or whitelist
+ private Set members; // Member list of the channel
+
+ public NetworkChannel(String id, String desc, String format, boolean unhideable, Context context, List aliases, String permission, String viewPermission, boolean blacklistMembers, Set members) {
+
+ this.id = id;
+ this.desc = desc;
+ this.format = format;
+ this.unhideable = unhideable;
+ this.context = context;
+ this.aliases = aliases;
+
+ this.permission = null;
+ this.viewPermission = null;
+
+ this.blacklistMembers = blacklistMembers;
+ this.members = members;
+
+ }
+
+ /**
+ * Gets the ID of this channel
+ * @return the id
+ */
+ public String getId() {
+ return this.id;
+ }
+
+ /**
+ * Gets a short description of this channel
+ * @return the description
+ */
+ public String getDescription() {
+ return this.desc;
+ }
+
+ /**
+ * Gets the format used for chat in this channel
+ * @return the format
+ */
+ public String getFormat() {
+ return this.format;
+ }
+
+ /**
+ * Checks if this channel is not allowed to be hidden
+ * @return true if the channel can not be hidden
+ */
+ public boolean isUnhideable() {
+ return this.unhideable;
+ }
+
+ /**
+ * Gets the context of this channel
+ * @return the context
+ */
+ public Context getContext() {
+ return this.context;
+ }
+
+ /**
+ * Gets the command aliases of this channel
+ * @return the command aliases
+ */
+ public List getAliases() {
+ return this.aliases;
+ }
+
+ /**
+ * Checks if this channel requires a permission to view / speak
+ * @return true if the channel requires a permission
+ */
+ public boolean isPermissionProtected() {
+ return this.permission == null;
+ }
+
+ /**
+ * Gets the permission required to view / speak in the channel (if one exists)
+ * @return an optional of the permission
+ */
+ public Optional getPermission() {
+ return Optional.ofNullable(permission);
+ }
+
+ /**
+ * Gets the permission required to ONLY view the channel (if one exists)
+ * @return an optional of the permission
+ */
+ public Optional getViewPermission() {
+ return Optional.ofNullable(viewPermission);
+ }
+
+ /**
+ * Checks if this command sender is allowed to speak in the channel
+ * @param sender The command sender
+ * @return true if they are allowed to speak
+ */
+ public boolean canSpeak(CommandSender sender) {
+ if (!isPermissionProtected()) return true;
+ return sender.hasPermission(permission);
+ }
+
+ /**
+ * Checks if this command sender is allowed to view the channel
+ * @param sender The command sender
+ * @return true if they are allowed to view
+ */
+ public boolean canView(CommandSender sender) {
+ if (!isPermissionProtected()) return true;
+ return sender.hasPermission(permission) || sender.hasPermission(viewPermission);
+ }
+
+ /**
+ * Is the member list for this channel a blacklist or a whitelist?
+ * @return true if it is a blacklist
+ */
+ public boolean isBlacklistMembers() {
+ return this.blacklistMembers;
+ }
+
+ /**
+ * Gets the blacklist/whitelist of members for this channel.
+ * List is a blacklist if isBlacklistMembers() returns true, otherwise is a whitelist
+ * @return the blacklist/whitelist of members
+ */
+ public Set getMembers() {
+ return this.members;
+ }
+
+}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/StaticNetworkChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/StaticNetworkChannel.java
new file mode 100644
index 00000000..450332b1
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/StaticNetworkChannel.java
@@ -0,0 +1,97 @@
+package xyz.olivermartin.multichat.proxy.common.channels;
+
+import java.util.HashSet;
+import java.util.List;
+import java.util.UUID;
+
+public class StaticNetworkChannel extends NetworkChannel {
+
+ /*public static class Builder {
+
+ private String id; // The channel ID
+ private String desc; // A short description of the channel
+ private String format; // The format of this channel
+ private boolean unhideable; // If the channel is unhideable
+ private Context context; // The context for this channel
+ private List aliases; // The command aliases for this channel
+
+ private String permission; // Permission to view / speak
+ private String viewPermission; // Permission to view only
+
+ private boolean blacklistMembers; // Should member list of the channel be a blacklist or whitelist
+ private Set members; // Member list of the channel
+
+ public Builder(String id) {
+
+ this.id = id;
+ this.desc = id;
+ this.format = "[" + id + "] %DISPLAYNAME%&f: ";
+ this.unhideable = false;
+ this.context = MultiChatProxy.getInstance().getContextManager().getGlobalContext();
+ this.aliases = new ArrayList();
+
+ this.permission = null;
+ this.viewPermission = null;
+
+ this.blacklistMembers = true;
+ this.members = new HashSet();
+
+ }
+
+ public Builder withDescription(String desc) {
+ this.desc = desc;
+ return this;
+ }
+
+ public Builder withFormat(String format) {
+ this.format = format;
+ return this;
+ }
+
+ public Builder isUnhideable(boolean unhideable) {
+ this.unhideable = unhideable;
+ return this;
+ }
+
+ public Builder inContext(Context context) {
+ this.context = context;
+ return this;
+ }
+
+ public Builder withAliases(List aliases) {
+ this.aliases = aliases;
+ return this;
+ }
+
+ public Builder withPemission(String permission) {
+ this.permission = permission;
+ return this;
+ }
+
+ public Builder withViewPemission(String viewPermission) {
+ this.viewPermission = viewPermission;
+ return this;
+ }
+
+ public Builder isBlacklistMembers(boolean blacklistMembers) {
+ this.blacklistMembers = blacklistMembers;
+ return this;
+ }
+
+ public Builder withMemberList(Set members) {
+ this.members = members;
+ return this;
+ }
+
+ public StaticNetworkChannel build() {
+ return new StaticNetworkChannel(id, desc, format, unhideable, context, aliases, permission, viewPermission);
+ }
+
+ }*/
+
+ public StaticNetworkChannel(String id, String desc, String format, boolean unhideable, Context context, List aliases, String permission, String viewPermission) {
+ // Create NetworkChannel with a "blacklist of members" that will always be empty (as this is a static channel)
+ super(id, desc, format, unhideable, context, aliases, permission, viewPermission, true, new HashSet());
+ }
+
+}
From 8ff2cb0871d573fe522574e64201d0345439335d Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Wed, 22 Jul 2020 23:56:20 +0100
Subject: [PATCH 039/188] Much of the framework for new chat channels is now in
place
---
.../proxy/common/channels/Channel.java | 2 +-
.../proxy/common/channels/ChannelFactory.java | 2 +-
.../proxy/common/channels/ChannelInfo.java | 124 ++++++++++++
.../proxy/common/channels/ChannelManager.java | 50 ++++-
.../channels/DynamicNetworkChannel.java | 75 +++++++
.../proxy/common/channels/GlobalChannel.java | 13 ++
.../proxy/common/channels/NetworkChannel.java | 189 ++++++++----------
.../common/channels/StaticNetworkChannel.java | 19 +-
8 files changed, 363 insertions(+), 111 deletions(-)
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelInfo.java
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/DynamicNetworkChannel.java
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalChannel.java
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/Channel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/Channel.java
index fb352c44..9d86ebea 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/Channel.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/Channel.java
@@ -2,6 +2,6 @@
public interface Channel {
-
+ /* Not yet implemented */
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelFactory.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelFactory.java
index 118f34ee..299be675 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelFactory.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelFactory.java
@@ -4,7 +4,7 @@ public class ChannelFactory {
public ChannelFactory() {
-
+ /* Not yet implemented */
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelInfo.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelInfo.java
new file mode 100644
index 00000000..9514fea9
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelInfo.java
@@ -0,0 +1,124 @@
+package xyz.olivermartin.multichat.proxy.common.channels;
+
+import java.util.List;
+import java.util.Optional;
+
+import net.md_5.bungee.api.CommandSender;
+
+public class ChannelInfo {
+
+ private String desc; // A short description of the channel
+ private String format; // The format of this channel
+ private boolean unhideable; // If the channel is unhideable
+ private Context context; // The context for this channel
+ private List aliases; // The command aliases for this channel
+
+ private String permission; // Permission to view / speak
+ private String viewPermission; // Permission to view only
+
+ public ChannelInfo(String desc, String format, boolean unhideable, Context context, List aliases) {
+
+ this.desc = desc;
+ this.format = format;
+ this.unhideable = unhideable;
+ this.context = context;
+ this.aliases = aliases;
+
+ this.permission = null;
+ this.viewPermission = null;
+
+ }
+
+ /**
+ * Gets a short description of this channel
+ * @return the description
+ */
+ public String getDescription() {
+ return this.desc;
+ }
+
+ /**
+ * Gets the format used for chat in this channel
+ * @return the format
+ */
+ public String getFormat() {
+ return this.format;
+ }
+
+ /**
+ * Checks if this channel is not allowed to be hidden
+ * @return true if the channel can not be hidden
+ */
+ public boolean isUnhideable() {
+ return this.unhideable;
+ }
+
+ /**
+ * Gets the context of this channel
+ * @return the context
+ */
+ public Context getContext() {
+ return this.context;
+ }
+
+ /**
+ * Gets the command aliases of this channel
+ * @return the command aliases
+ */
+ public List getAliases() {
+ return this.aliases;
+ }
+
+ /*
+ * Are any permissions set for this channel?
+ */
+ private boolean isPermissionProtected() {
+ return this.permission != null;
+ }
+
+ /**
+ * Gets the permission required to view / speak in the channel (if one exists)
+ * @return an optional of the permission
+ */
+ public Optional getPermission() {
+ return Optional.ofNullable(permission);
+ }
+
+ /**
+ * Gets the permission required to ONLY view the channel (if one exists)
+ * @return an optional of the permission
+ */
+ public Optional getViewPermission() {
+ return Optional.ofNullable(viewPermission);
+ }
+
+ /**
+ * Checks if the command sender has permission to view this channel
+ * @param sender The command sender to check
+ * @return true if they have permission to view the channel
+ */
+ public boolean hasViewPermission(CommandSender sender) {
+ if (!isPermissionProtected()) return true;
+ return sender.hasPermission(permission) || sender.hasPermission(viewPermission);
+ }
+
+ /**
+ * Checks if the command sender has permission to speak in channel
+ * @param sender The command sender to check
+ * @return true if they have permission to speak into the channel
+ */
+ public boolean hasSpeakPermission(CommandSender sender) {
+ if (!isPermissionProtected()) return true;
+ return sender.hasPermission(permission);
+ }
+
+ /**
+ * Checks if the command sender is in the context of the channel
+ * @param sender The command sender to check
+ * @return true if they are in the context
+ */
+ public boolean inContext(CommandSender sender) {
+ return context.contains(sender);
+ }
+
+}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelManager.java
index 09acbdd4..bb824252 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelManager.java
@@ -1,7 +1,53 @@
package xyz.olivermartin.multichat.proxy.common.channels;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
+
public class ChannelManager {
-
-
+ private NetworkChannel global;
+ //private Something local;
+
+ private Map channels;
+ private Map> hiddenChannels;
+
+ public ChannelManager() {
+ channels = new HashMap();
+ hiddenChannels = new HashMap>();
+ }
+
+ public NetworkChannel getGlobalChannel() {
+ return this.global;
+ }
+
+ /*public Something getLocalChannel() {
+ return this.local;
+ }*/
+
+ public void setGlobalChannel(GlobalChannel global) {
+ this.global = global;
+ channels.remove("global");
+ channels.put("global", global);
+ }
+
+ public void hide(UUID uuid, String channelId) {
+ Set hidden = hiddenChannels.getOrDefault(uuid, new HashSet());
+ hidden.add(channelId);
+ }
+
+ public void show(UUID uuid, String channelId) {
+ Set hidden = hiddenChannels.getOrDefault(uuid, new HashSet());
+ hidden.remove(channelId);
+ if (hidden.size() == 0) hiddenChannels.remove(uuid);
+ }
+
+ public boolean isHidden(UUID uuid, String channelId) {
+ if (!hiddenChannels.containsKey(uuid)) return false;
+ Set hidden = hiddenChannels.get(uuid);
+ return hidden.contains(channelId);
+ }
+
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/DynamicNetworkChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/DynamicNetworkChannel.java
new file mode 100644
index 00000000..593308c5
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/DynamicNetworkChannel.java
@@ -0,0 +1,75 @@
+package xyz.olivermartin.multichat.proxy.common.channels;
+
+import java.util.Set;
+import java.util.UUID;
+
+import net.md_5.bungee.api.CommandSender;
+import net.md_5.bungee.api.connection.ProxiedPlayer;
+
+public class DynamicNetworkChannel extends NetworkChannel {
+
+ private boolean blacklistMembers; // Should member list of the channel be a blacklist or whitelist
+ private Set members; // Member list of the channel
+
+ public DynamicNetworkChannel(String id, ChannelInfo info, ChannelManager manager, boolean blacklistMembers, Set members) {
+ super(id, info, manager);
+ this.blacklistMembers = blacklistMembers;
+ this.members = members;
+ }
+
+ /**
+ * Checks if the command sender is a member of this channel
+ * @param sender The command sender to check
+ * @return true if they are a member of the channel
+ */
+ public boolean isMember(CommandSender sender) {
+
+ // Console always member
+ if (!(sender instanceof ProxiedPlayer)) return true;
+
+ ProxiedPlayer player = (ProxiedPlayer) sender;
+
+ if (blacklistMembers) {
+ return !members.contains(player.getUniqueId());
+ } else {
+ return members.contains(player.getUniqueId());
+ }
+
+ }
+
+ /**
+ * Is the member list for this channel a blacklist or a whitelist?
+ * @return true if it is a blacklist
+ */
+ public boolean isBlacklistMembers() {
+ return this.blacklistMembers;
+ }
+
+ /**
+ * Controls if the member list for this channel is a blacklist or a whitelist
+ * @param blacklistMembers TRUE for blacklist, FALSE for whitelist
+ */
+ public void setBlacklistMembers(boolean blacklistMembers) {
+ this.blacklistMembers = blacklistMembers;
+ }
+
+ /**
+ * Gets the blacklist/whitelist of members for this channel.
+ * List is a blacklist if isBlacklistMembers() returns true, otherwise is a whitelist
+ * @return the blacklist/whitelist of members
+ */
+ public Set getMembers() {
+ return this.members;
+ }
+
+ @Override
+ public boolean canSpeak(CommandSender sender) {
+ return isMember(sender) && getInfo().inContext(sender) && getInfo().hasSpeakPermission(sender);
+ }
+
+ @Override
+ public boolean canView(CommandSender sender) {
+ return isMember(sender) && getInfo().inContext(sender) && getInfo().hasViewPermission(sender);
+ }
+
+}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalChannel.java
new file mode 100644
index 00000000..80d4dfcf
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalChannel.java
@@ -0,0 +1,13 @@
+package xyz.olivermartin.multichat.proxy.common.channels;
+
+import java.util.List;
+
+import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
+
+public class GlobalChannel extends StaticNetworkChannel {
+
+ public GlobalChannel(String id, String desc, String format, List aliases, ChannelManager manager) {
+ super(id, new ChannelInfo(desc, format, false, MultiChatProxy.getInstance().getContextManager().getGlobalContext(), aliases), manager);
+ }
+
+}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/NetworkChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/NetworkChannel.java
index cbe49ae3..e7a12e67 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/NetworkChannel.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/NetworkChannel.java
@@ -1,42 +1,26 @@
package xyz.olivermartin.multichat.proxy.common.channels;
-import java.util.List;
-import java.util.Optional;
-import java.util.Set;
-import java.util.UUID;
-
import net.md_5.bungee.api.CommandSender;
+import net.md_5.bungee.api.ProxyServer;
+import net.md_5.bungee.api.chat.TextComponent;
+import net.md_5.bungee.api.connection.ProxiedPlayer;
+import xyz.olivermartin.multichat.bungee.ChatControl;
+import xyz.olivermartin.multichat.bungee.ConsoleManager;
+import xyz.olivermartin.multichat.bungee.MultiChat;
+import xyz.olivermartin.multichat.bungee.events.PostBroadcastEvent;
+import xyz.olivermartin.multichat.bungee.events.PostGlobalChatEvent;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
public abstract class NetworkChannel {
- private String id; // The channel ID
- private String desc; // A short description of the channel
- private String format; // The format of this channel
- private boolean unhideable; // If the channel is unhideable
- private Context context; // The context for this channel
- private List aliases; // The command aliases for this channel
-
- private String permission; // Permission to view / speak
- private String viewPermission; // Permission to view only
-
- private boolean blacklistMembers; // Should member list of the channel be a blacklist or whitelist
- private Set members; // Member list of the channel
-
- public NetworkChannel(String id, String desc, String format, boolean unhideable, Context context, List aliases, String permission, String viewPermission, boolean blacklistMembers, Set members) {
+ private String id;
+ private ChannelInfo info;
+ private ChannelManager manager;
+ public NetworkChannel(String id, ChannelInfo info, ChannelManager manager) {
this.id = id;
- this.desc = desc;
- this.format = format;
- this.unhideable = unhideable;
- this.context = context;
- this.aliases = aliases;
-
- this.permission = null;
- this.viewPermission = null;
-
- this.blacklistMembers = blacklistMembers;
- this.members = members;
-
+ this.info = info;
+ this.manager = manager;
}
/**
@@ -48,67 +32,93 @@ public String getId() {
}
/**
- * Gets a short description of this channel
- * @return the description
+ * Gets the info for this channel
+ * @return the info
*/
- public String getDescription() {
- return this.desc;
+ public ChannelInfo getInfo() {
+ return this.info;
}
/**
- * Gets the format used for chat in this channel
- * @return the format
+ * Updates the ChannelInfo used for this channel
+ * @param info The new info for the channel
*/
- public String getFormat() {
- return this.format;
+ public void updateInfo(ChannelInfo info) {
+ this.info = info;
}
/**
- * Checks if this channel is not allowed to be hidden
- * @return true if the channel can not be hidden
+ * Gets the manager for this channel
+ * @return the manager
*/
- public boolean isUnhideable() {
- return this.unhideable;
+ public ChannelManager getManager() {
+ return this.manager;
}
- /**
- * Gets the context of this channel
- * @return the context
- */
- public Context getContext() {
- return this.context;
- }
+ public void sendMessage(CommandSender sender, String message) {
- /**
- * Gets the command aliases of this channel
- * @return the command aliases
- */
- public List getAliases() {
- return this.aliases;
- }
+ // If the sender can't speak then return
+ if (!canSpeak(sender)) return;
- /**
- * Checks if this channel requires a permission to view / speak
- * @return true if the channel requires a permission
- */
- public boolean isPermissionProtected() {
- return this.permission == null;
- }
+ for (ProxiedPlayer receiver : ProxyServer.getInstance().getPlayers()) {
+
+ // Skip sending to this player if they shouldn't receive the message
+ if (receiver.getServer() == null // Receiver is between servers
+ || !canView(receiver) // Receiver is not permitted to view message
+ || manager.isHidden(receiver.getUniqueId(), id)) // Receiver has hidden this channel
+ continue;
+
+ if (MultiChat.legacyServers.contains(receiver.getServer().getInfo().getName())) {
+ message = MultiChatUtil.approximateHexCodes(message);
+ }
+
+ receiver.sendMessage(TextComponent.fromLegacyText(message));
+
+ }
+
+ // Trigger PostBroadcastEvent
+ ProxyServer.getInstance().getPluginManager().callEvent(new PostBroadcastEvent("cast", message));
+
+ ConsoleManager.logDisplayMessage(message);
- /**
- * Gets the permission required to view / speak in the channel (if one exists)
- * @return an optional of the permission
- */
- public Optional getPermission() {
- return Optional.ofNullable(permission);
}
- /**
- * Gets the permission required to ONLY view the channel (if one exists)
- * @return an optional of the permission
- */
- public Optional getViewPermission() {
- return Optional.ofNullable(viewPermission);
+ public void distributeMessage(ProxiedPlayer sender, String message, String format) {
+
+ // If the sender can't speak, or is between servers, then return
+ if (!canSpeak(sender) || sender.getServer() == null) return;
+
+ String senderServer = sender.getServer().getInfo().getName();
+ String joined = format + message;
+
+ for (ProxiedPlayer receiver : ProxyServer.getInstance().getPlayers()) {
+
+ // Skip sending to this player if they shouldn't receive the message
+ if (receiver.getServer() == null // Receiver is between servers
+ || !canView(receiver) // Receiver is not permitted to view message
+ || manager.isHidden(receiver.getUniqueId(), id) // Receiver has hidden this channel
+ || receiver.getServer().getInfo().getName().equals(senderServer)) // Receiver is on same server as sender
+ continue;
+
+ // If receiver ignores sender
+ if (ChatControl.ignores(sender.getUniqueId(), receiver.getUniqueId(), "global_chat")) {
+ ChatControl.sendIgnoreNotifications(receiver, sender, "global_chat");
+ continue;
+ }
+
+ if (MultiChat.legacyServers.contains(receiver.getServer().getInfo().getName())) {
+ joined = MultiChatUtil.approximateHexCodes(joined);
+ }
+
+ receiver.sendMessage(TextComponent.fromLegacyText(joined));
+
+ }
+
+ // Trigger PostGlobalChatEvent
+ ProxyServer.getInstance().getPluginManager().callEvent(new PostGlobalChatEvent(sender, format, message));
+
+ ConsoleManager.logChat(MultiChatUtil.approximateHexCodes(joined));
+
}
/**
@@ -116,36 +126,13 @@ public Optional getViewPermission() {
* @param sender The command sender
* @return true if they are allowed to speak
*/
- public boolean canSpeak(CommandSender sender) {
- if (!isPermissionProtected()) return true;
- return sender.hasPermission(permission);
- }
+ public abstract boolean canSpeak(CommandSender sender);
/**
* Checks if this command sender is allowed to view the channel
* @param sender The command sender
* @return true if they are allowed to view
*/
- public boolean canView(CommandSender sender) {
- if (!isPermissionProtected()) return true;
- return sender.hasPermission(permission) || sender.hasPermission(viewPermission);
- }
-
- /**
- * Is the member list for this channel a blacklist or a whitelist?
- * @return true if it is a blacklist
- */
- public boolean isBlacklistMembers() {
- return this.blacklistMembers;
- }
-
- /**
- * Gets the blacklist/whitelist of members for this channel.
- * List is a blacklist if isBlacklistMembers() returns true, otherwise is a whitelist
- * @return the blacklist/whitelist of members
- */
- public Set getMembers() {
- return this.members;
- }
+ public abstract boolean canView(CommandSender sender);
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/StaticNetworkChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/StaticNetworkChannel.java
index 450332b1..a0b86d3d 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/StaticNetworkChannel.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/StaticNetworkChannel.java
@@ -1,8 +1,6 @@
package xyz.olivermartin.multichat.proxy.common.channels;
-import java.util.HashSet;
-import java.util.List;
-import java.util.UUID;
+import net.md_5.bungee.api.CommandSender;
public class StaticNetworkChannel extends NetworkChannel {
@@ -89,9 +87,18 @@ public StaticNetworkChannel build() {
}*/
- public StaticNetworkChannel(String id, String desc, String format, boolean unhideable, Context context, List aliases, String permission, String viewPermission) {
- // Create NetworkChannel with a "blacklist of members" that will always be empty (as this is a static channel)
- super(id, desc, format, unhideable, context, aliases, permission, viewPermission, true, new HashSet());
+ public StaticNetworkChannel(String id, ChannelInfo info, ChannelManager manager) {
+ super(id, info, manager);
+ }
+
+ @Override
+ public boolean canSpeak(CommandSender sender) {
+ return getInfo().inContext(sender) && getInfo().hasSpeakPermission(sender);
+ }
+
+ @Override
+ public boolean canView(CommandSender sender) {
+ return getInfo().inContext(sender) && getInfo().hasViewPermission(sender);
}
}
From cfa537fdd0d833d93d9bed45cd83aaed37672c51 Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Thu, 23 Jul 2020 19:24:30 +0100
Subject: [PATCH 040/188] Channels seem to practically work except local
channel
---
.../multichat/bungee/CastControl.java | 5 +-
.../multichat/bungee/ChatModeManager.java | 32 +-
.../olivermartin/multichat/bungee/Events.java | 32 +-
.../multichat/bungee/GlobalChannel.java | 9 -
.../multichat/bungee/LegacyChannel.java | 419 ------------------
.../multichat/bungee/LocalChannel.java | 33 --
.../multichat/bungee/MultiChat.java | 14 +-
.../bungee/commands/ChannelCommand.java | 27 +-
.../bungee/commands/GlobalCommand.java | 11 +-
.../bungee/commands/LocalCommand.java | 11 +-
.../bungee/commands/MultiChatCommand.java | 15 +-
.../bungee/commands/UseCastCommand.java | 4 +-
.../multichat/common/MultiChatUtil.java | 10 +-
.../LocalBungeeCommunicationManager.java | 7 +-
.../local/common/LocalChatManager.java | 44 ++
.../LocalProxyCommunicationManager.java | 3 +-
.../chat/LocalChatListenerHighest.java | 14 +-
.../chat/LocalChatListenerMonitor.java | 7 +-
.../chat/MultiChatLocalPlayerChatEvent.java | 10 +-
.../LocalPlayerDataListener.java | 29 +-
.../local/common/storage/LocalDataStore.java | 19 +
.../SpigotBungeeCommunicationManager.java | 33 ++
.../MultiChatLocalSpigotPlayerChatEvent.java | 33 +-
.../SpongeBungeeCommunicationManager.java | 50 +++
.../MultiChatLocalSpongePlayerChatEvent.java | 46 +-
.../chat/MultiChatMessageChannel.java | 24 +-
.../ProxyLocalCommunicationManager.java | 12 +-
.../proxy/common/channels/ChannelManager.java | 55 ++-
.../proxy/common/channels/ContextManager.java | 25 ++
.../proxy/common/channels/GlobalChannel.java | 4 +-
.../proxy/common/channels/LocalChannel.java | 130 ++++++
.../proxy/common/channels/NetworkChannel.java | 13 +-
.../ProxyPlayerChatListener.java | 23 +-
33 files changed, 625 insertions(+), 578 deletions(-)
delete mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/bungee/GlobalChannel.java
delete mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/bungee/LegacyChannel.java
delete mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/bungee/LocalChannel.java
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/LocalChannel.java
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/CastControl.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/CastControl.java
index a7e38f70..20d55915 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/CastControl.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/CastControl.java
@@ -5,6 +5,7 @@
import net.md_5.bungee.api.CommandSender;
import xyz.olivermartin.multichat.common.MultiChatUtil;
+import xyz.olivermartin.multichat.proxy.common.channels.NetworkChannel;
/**
* Cast Control
@@ -17,9 +18,9 @@ public class CastControl {
public static Map castList = new HashMap();
- public static void sendCast(String castName, String castMessage, LegacyChannel chatStream, CommandSender sender) {
+ public static void sendCast(String castName, String castMessage, NetworkChannel chatStream, CommandSender sender) {
castMessage = ChatControl.applyChatRules(castMessage, "casts", "").get();
- chatStream.sendMessage(castList.get(castName.toLowerCase()) + " " + castMessage, sender);
+ chatStream.sendMessage(sender, castList.get(castName.toLowerCase()) + " " + castMessage);
}
public static void addCast(String castName, String castFormat) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/ChatModeManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/ChatModeManager.java
index 0f5080e2..60fec1b0 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/ChatModeManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/ChatModeManager.java
@@ -6,7 +6,9 @@
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.connection.ProxiedPlayer;
+import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
import xyz.olivermartin.multichat.proxy.common.ProxyLocalCommunicationManager;
+import xyz.olivermartin.multichat.proxy.common.channels.ChannelManager;
public class ChatModeManager {
@@ -30,43 +32,61 @@ private ChatModeManager() {
public void setLocal(UUID uuid) {
+ ChannelManager channelManager = MultiChatProxy.getInstance().getChannelManager();
+
globalPlayers.put(uuid, false);
// TODO
- LegacyChannel.setChannel(uuid, LegacyChannel.getLocalChannel());
+ //LegacyChannel.setChannel(uuid, LegacyChannel.getLocalChannel());
+ channelManager.select(uuid, "local");
// TODO
ProxiedPlayer player = ProxyServer.getInstance().getPlayer(uuid);
if (player == null) return;
- LegacyChannel local = LegacyChannel.getLocalChannel();
+ /*LegacyChannel local = LegacyChannel.getLocalChannel();
if (!local.isMember(uuid)) {
local.removeMember(uuid);
MessageManager.sendSpecialMessage(player, "command_channel_show", "LOCAL");
+ }*/
+
+ if (channelManager.isHidden(uuid, "local")) {
+ channelManager.show(uuid, "local");
+ MessageManager.sendSpecialMessage(player, "command_channel_show", "LOCAL");
}
- ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), LegacyChannel.getChannel(uuid).getName(), LegacyChannel.getChannel(uuid), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
+ // TODO
+ //ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), LegacyChannel.getChannel(uuid).getName(), LegacyChannel.getChannel(uuid), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
+ ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), "local", player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
}
public void setGlobal(UUID uuid) {
+ ChannelManager channelManager = MultiChatProxy.getInstance().getChannelManager();
+
globalPlayers.put(uuid, true);
// TODO
- LegacyChannel.setChannel(uuid, LegacyChannel.getGlobalChannel());
+ channelManager.select(uuid, "global");
+ //LegacyChannel.setChannel(uuid, LegacyChannel.getGlobalChannel());
// TODO
ProxiedPlayer player = ProxyServer.getInstance().getPlayer(uuid);
if (player == null) return;
- LegacyChannel global = LegacyChannel.getGlobalChannel();
+ /*LegacyChannel global = LegacyChannel.getGlobalChannel();
if (!global.isMember(uuid)) {
global.removeMember(uuid);
MessageManager.sendSpecialMessage(player, "command_channel_show", "GLOBAL");
+ }*/
+
+ if (channelManager.isHidden(uuid, "global")) {
+ channelManager.show(uuid, "global");
+ MessageManager.sendSpecialMessage(player, "command_channel_show", "GLOBAL");
}
- ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), LegacyChannel.getChannel(uuid).getName(), LegacyChannel.getChannel(uuid), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
+ ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), "global", player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java
index 355b7a48..512f6c80 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java
@@ -32,6 +32,7 @@
import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
import xyz.olivermartin.multichat.proxy.common.ProxyDataStore;
import xyz.olivermartin.multichat.proxy.common.ProxyLocalCommunicationManager;
+import xyz.olivermartin.multichat.proxy.common.channels.ChannelManager;
/**
* Events Manager
@@ -143,6 +144,7 @@ public static boolean togglePM(UUID uuid, UUID uuidt) {
public void onChat(ChatEvent event) {
ProxyDataStore ds = MultiChatProxy.getInstance().getDataStore();
+ ChannelManager channelManager = MultiChatProxy.getInstance().getChannelManager();
ProxiedPlayer player = (ProxiedPlayer) event.getSender();
// New null pointer checks
@@ -325,7 +327,7 @@ public void onChat(ChatEvent event) {
String message = MultiChatUtil.getMessageFromArgs(parts, 1);
- CastControl.sendCast(parts[0].substring(1),message,LegacyChannel.getChannel(playerSender.getUniqueId()), playerSender);
+ CastControl.sendCast(parts[0].substring(1),message,channelManager.getChannel(player), playerSender);
event.setCancelled(true);
@@ -335,7 +337,7 @@ public void onChat(ChatEvent event) {
String message = MultiChatUtil.getMessageFromArgs(parts, 1);
- CastControl.sendCast(parts[0].substring(1), message, LegacyChannel.getGlobalChannel(), ProxyServer.getInstance().getConsole());
+ CastControl.sendCast(parts[0].substring(1), message, channelManager.getGlobalChannel(), ProxyServer.getInstance().getConsole());
event.setCancelled(true);
@@ -397,7 +399,12 @@ public void onChat(ChatEvent event) {
DebugManager.log("Does player have rgb colour permission? " + (player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
// Let server know players channel preference
- ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), LegacyChannel.getChannel(player.getUniqueId()).getName(), LegacyChannel.getChannel(player.getUniqueId()), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
+
+ DebugManager.log("!!!!! : " + channelManager.getChannel(player).toString());
+ DebugManager.log("!!!!! : " + channelManager.getChannel(player).getId());
+ DebugManager.log("!!!!! : " + player.getServer().getInfo().getName());
+
+ ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), channelManager.getChannel(player).getId(), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
// Message passes through to spigot here
@@ -419,6 +426,7 @@ public void onChat(ChatEvent event) {
public void onLogin(PostLoginEvent event) {
ProxyDataStore ds = MultiChatProxy.getInstance().getDataStore();
+ ChannelManager channelManager = MultiChatProxy.getInstance().getChannelManager();
ProxiedPlayer player = event.getPlayer();
UUID uuid = player.getUniqueId();
@@ -489,9 +497,9 @@ public void onLogin(PostLoginEvent event) {
// Set player to appropriate channels
if (ChatModeManager.getInstance().isGlobal(uuid)) {
- LegacyChannel.setChannel(player.getUniqueId(), LegacyChannel.getGlobalChannel());
+ channelManager.select(uuid, "global");
} else {
- LegacyChannel.setChannel(player.getUniqueId(), LegacyChannel.getLocalChannel());
+ channelManager.select(uuid, "local");
}
//BungeeComm.sendPlayerChannelMessage(player.getName(), Channel.getChannel(player.getUniqueId()).getName(), Channel.getChannel(player.getUniqueId()), player.getServer().getInfo());
@@ -596,10 +604,6 @@ public void onLogout(PlayerDisconnectEvent event) {
// Reset their spam data on logout (nothing is stored persistantly)
ChatControl.spamPardonPlayer(uuid);
- ///
- LegacyChannel.removePlayer(player.getUniqueId());
- ///
-
if (ds.getViewedChats().containsKey(uuid)) {
ds.getViewedChats().remove(uuid);
}
@@ -608,14 +612,6 @@ public void onLogout(PlayerDisconnectEvent event) {
ConsoleManager.log("Un-Registered player " + player.getName());
- if (!LegacyChannel.getGlobalChannel().isMember(player.getUniqueId())) {
- LegacyChannel.getGlobalChannel().removeMember(uuid);
- }
-
- if (!LegacyChannel.getLocalChannel().isMember(player.getUniqueId())) {
- LegacyChannel.getLocalChannel().removeMember(uuid);
- }
-
if ( ConfigManager.getInstance().getHandler("joinmessages.yml").getConfig().getBoolean("showquit") == true ) {
String joinformat = ConfigManager.getInstance().getHandler("joinmessages.yml").getConfig().getString("networkquit");
@@ -649,7 +645,7 @@ public void onServerSwitch(ServerSwitchEvent event) {
ProxyServer.getInstance().getScheduler().schedule(MultiChatProxy.getInstance().getPlugin(), new Runnable() {
public void run() {
- ProxyLocalCommunicationManager.sendPlayerDataMessage(event.getPlayer().getName(), LegacyChannel.getChannel(event.getPlayer().getUniqueId()).getName(), LegacyChannel.getChannel(event.getPlayer().getUniqueId()), event.getPlayer().getServer().getInfo(), (event.getPlayer().hasPermission("multichat.chat.colour")||event.getPlayer().hasPermission("multichat.chat.color")||event.getPlayer().hasPermission("multichat.chat.colour.simple")||event.getPlayer().hasPermission("multichat.chat.color.simple")), (event.getPlayer().hasPermission("multichat.chat.colour")||event.getPlayer().hasPermission("multichat.chat.color")||event.getPlayer().hasPermission("multichat.chat.colour.rgb")||event.getPlayer().hasPermission("multichat.chat.color.rgb")));
+ ProxyLocalCommunicationManager.sendPlayerDataMessage(event.getPlayer().getName(), MultiChatProxy.getInstance().getChannelManager().getChannel(event.getPlayer()).getId(), event.getPlayer().getServer().getInfo(), (event.getPlayer().hasPermission("multichat.chat.colour")||event.getPlayer().hasPermission("multichat.chat.color")||event.getPlayer().hasPermission("multichat.chat.colour.simple")||event.getPlayer().hasPermission("multichat.chat.color.simple")), (event.getPlayer().hasPermission("multichat.chat.colour")||event.getPlayer().hasPermission("multichat.chat.color")||event.getPlayer().hasPermission("multichat.chat.colour.rgb")||event.getPlayer().hasPermission("multichat.chat.color.rgb")));
ProxyLocalCommunicationManager.sendLegacyServerData(event.getPlayer().getServer().getInfo());
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/GlobalChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/GlobalChannel.java
deleted file mode 100644
index 020cfb2a..00000000
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/GlobalChannel.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package xyz.olivermartin.multichat.bungee;
-
-public class GlobalChannel extends LegacyChannel {
-
- public GlobalChannel(String format) {
- super("global", format, false, false);
- }
-
-}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/LegacyChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/LegacyChannel.java
deleted file mode 100644
index c542fe45..00000000
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/LegacyChannel.java
+++ /dev/null
@@ -1,419 +0,0 @@
-package xyz.olivermartin.multichat.bungee;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.UUID;
-
-import net.md_5.bungee.api.ChatColor;
-import net.md_5.bungee.api.CommandSender;
-import net.md_5.bungee.api.ProxyServer;
-import net.md_5.bungee.api.chat.BaseComponent;
-import net.md_5.bungee.api.chat.TextComponent;
-import net.md_5.bungee.api.connection.ProxiedPlayer;
-import xyz.olivermartin.multichat.bungee.events.PostBroadcastEvent;
-import xyz.olivermartin.multichat.bungee.events.PostGlobalChatEvent;
-import xyz.olivermartin.multichat.common.MultiChatUtil;
-
-/**
- * Channel
- * A class to represent a chat channel and control the messages sent etc.
- *
- * @author Oliver Martin (Revilo410)
- *
- */
-public class LegacyChannel {
-
- private static GlobalChannel global;
- private static LocalChannel local;
-
- static {
-
- global = new GlobalChannel("&f%DISPLAYNAME%&f: ");
- local = new LocalChannel();
-
- }
-
- public static GlobalChannel getGlobalChannel() {
- return global;
- }
-
- public static LocalChannel getLocalChannel() {
- return local;
- }
-
- public static Map playerChannels = new HashMap();
-
- public static void setChannel (UUID uuid, LegacyChannel channel) {
- LegacyChannel.playerChannels.put(uuid, channel);
- }
-
- public static LegacyChannel getChannel (UUID uuid) {
- return LegacyChannel.playerChannels.get(uuid);
- }
-
- public static void removePlayer (UUID uuid) {
- LegacyChannel.playerChannels.remove(uuid);
- }
-
- /* END STATIC */
-
- boolean whitelistMembers;
- protected List members;
-
- boolean whitelistServers;
- protected List servers;
-
- protected String name;
- protected String format;
-
- public LegacyChannel(String name, String format, boolean whitelistServers, boolean whitelistMembers) {
-
- this.name = name;
- this.whitelistServers = whitelistServers;
- this.format = format;
- this.servers = new ArrayList();
- this.members = new ArrayList();
- this.whitelistMembers = whitelistMembers;
-
- }
-
- public boolean isMember(UUID player) {
- if (this.whitelistMembers) {
- return this.members.contains(player);
- } else {
- return !this.members.contains(player);
- }
- }
-
- public void removeMember(UUID player) {
- this.members.remove(player);
- }
-
- public List getMembers() {
- return this.members;
- }
-
- public boolean isWhitelistMembers() {
- return this.whitelistMembers;
- }
-
- public void addServer(String server) {
- if (!servers.contains(server)) servers.add(server);
- }
-
- public void setServers(List servers) {
- this.servers = servers;
- }
-
- public void clearServers() {
- this.servers = new ArrayList();
- }
-
- public void addMember(UUID member) {
- if (!members.contains(member)) members.add(member);
- }
-
- public void setMembers(List members) {
- this.members = members;
- }
-
- public String getName() {
- return this.name;
- }
-
- public String getFormat() {
- return this.format;
- }
-
- public void setFormat(String format) {
- this.format = format;
- }
-
- public void sendMessage(ProxiedPlayer sender, String message, String format) {
-
- DebugManager.log("CHANNEL #" + getName() + ": Got a message for the channel");
- DebugManager.log("CHANNEL #" + getName() + ": SENDER = " + sender.getName());
- DebugManager.log("CHANNEL #" + getName() + ": MESSAGE = " + message);
- DebugManager.log("CHANNEL #" + getName() + ": FORMAT = " + format);
-
- for (ProxiedPlayer receiver : ProxyServer.getInstance().getPlayers()) {
-
- if (receiver != null && sender != null) {
-
- synchronized (receiver) {
-
- if (sender.getServer() != null && receiver.getServer() != null) {
-
- if ( (whitelistMembers && members.contains(receiver.getUniqueId())) || (!whitelistMembers && !members.contains(receiver.getUniqueId()))) {
- if ( (whitelistServers && servers.contains(receiver.getServer().getInfo().getName())) || (!whitelistServers && !servers.contains(receiver.getServer().getInfo().getName()))) {
-
- if (!ChatControl.ignores(sender.getUniqueId(), receiver.getUniqueId(), "global_chat")) {
- if (!receiver.getServer().getInfo().getName().equals(sender.getServer().getInfo().getName())) {
- receiver.sendMessage(buildFormat(sender,receiver,format,message));
- } else {
- // If they are on the same server, this message will already have been displayed locally.
- }
- } else {
- ChatControl.sendIgnoreNotifications(receiver, sender, "global_chat");
- }
-
- }
-
- }
-
- }
-
- }
-
- }
-
- }
-
- // Trigger PostGlobalChatEvent
- ProxyServer.getInstance().getPluginManager().callEvent(new PostGlobalChatEvent(sender, format, message));
-
- sendToConsole(sender,format,message);
-
- }
-
- public void sendMessage(String message, CommandSender sender) {
-
- for (ProxiedPlayer receiver : ProxyServer.getInstance().getPlayers()) {
- if (receiver != null && sender != null) {
- if (receiver.getServer() != null) {
- if ( (whitelistMembers && members.contains(receiver.getUniqueId())) || (!whitelistMembers && !members.contains(receiver.getUniqueId()))) {
- if ( (whitelistServers && servers.contains(receiver.getServer().getInfo().getName())) || (!whitelistServers && !servers.contains(receiver.getServer().getInfo().getName()))) {
- //TODO hiding & showing streams
-
- if (MultiChat.legacyServers.contains(receiver.getServer().getInfo().getName())) {
- receiver.sendMessage(TextComponent.fromLegacyText(MultiChatUtil.approximateHexCodes(ChatColor.translateAlternateColorCodes('&', message))));
- } else {
- receiver.sendMessage(TextComponent.fromLegacyText(ChatColor.translateAlternateColorCodes('&', message)));
- }
-
- }
- }
- }
- }
- }
-
- // Trigger PostBroadcastEvent
- ProxyServer.getInstance().getPluginManager().callEvent(new PostBroadcastEvent("cast", message));
-
- ConsoleManager.logDisplayMessage(message);
-
- }
-
- /*public String buildSpigotFormat(ProxiedPlayer sender, String format, String message) {
-
- String newFormat = format;
-
- /*newFormat = newFormat.replace("%DISPLAYNAME%", sender.getDisplayName());
- newFormat = newFormat.replace("%NAME%", sender.getName());
-
- Optional opm = PlayerMetaManager.getInstance().getPlayer(sender.getUniqueId());
- if (opm.isPresent()) {
- newFormat = newFormat.replace("%PREFIX%", opm.get().prefix);
- newFormat = newFormat.replace("%SUFFIX%", opm.get().suffix);
- newFormat = newFormat.replace("%NICK%", opm.get().nick);
- newFormat = newFormat.replace("%WORLD%", opm.get().world);
- }
-
- newFormat = newFormat.replace("%SERVER%", sender.getServer().getInfo().getName());
-
-
- if (!ChatModeManager.getInstance().isGlobal(sender.getUniqueId())) {
- newFormat = newFormat.replace("%MODE%", "Local");
- newFormat = newFormat.replace("%M%", "L");
- }
-
- if (ChatModeManager.getInstance().isGlobal(sender.getUniqueId())) {
- newFormat = newFormat.replace("%MODE%", "Global");
- newFormat = newFormat.replace("%M%", "G");
- }
-
- newFormat = newFormat + "%MESSAGE%";
-
- return newFormat;
-
- }*/
-
- public BaseComponent[] buildFormat(ProxiedPlayer sender, ProxiedPlayer receiver, String format, String message) {
-
- String newFormat = format;
-
- /*newFormat = newFormat.replace("%DISPLAYNAME%", sender.getDisplayName());
- newFormat = newFormat.replace("%NAME%", sender.getName());
-
- Optional opm = PlayerMetaManager.getInstance().getPlayer(sender.getUniqueId());
- if (opm.isPresent()) {
- newFormat = newFormat.replace("%PREFIX%", opm.get().prefix);
- newFormat = newFormat.replace("%SUFFIX%", opm.get().suffix);
- newFormat = newFormat.replace("%NICK%", opm.get().nick);
- newFormat = newFormat.replace("%WORLD%", opm.get().world);
- }
-
- newFormat = newFormat.replace("%DISPLAYNAMET%", receiver.getDisplayName());
- newFormat = newFormat.replace("%NAMET%", receiver.getName());
-
- Optional opmt = PlayerMetaManager.getInstance().getPlayer(receiver.getUniqueId());
- if (opmt.isPresent()) {
- newFormat = newFormat.replace("%PREFIXT%", opmt.get().prefix);
- newFormat = newFormat.replace("%SUFFIXT%", opmt.get().suffix);
- newFormat = newFormat.replace("%NICKT%", opmt.get().nick);
- newFormat = newFormat.replace("%WORLDT%", opmt.get().world);
- }
-
- newFormat = newFormat.replace("%SERVER%", sender.getServer().getInfo().getName());
- newFormat = newFormat.replace("%SERVERT%", receiver.getServer().getInfo().getName());
-
-
- if (!ChatModeManager.getInstance().isGlobal(sender.getUniqueId())) {
- newFormat = newFormat.replace("%MODE%", "Local");
- newFormat = newFormat.replace("%M%", "L");
- }
-
- if (ChatModeManager.getInstance().isGlobal(sender.getUniqueId())) {
- newFormat = newFormat.replace("%MODE%", "Global");
- newFormat = newFormat.replace("%M%", "G");
- }*/
-
- newFormat = newFormat + "%MESSAGE%";
-
- BaseComponent[] toSend;
-
- if (sender.hasPermission("multichat.chat.colour") || sender.hasPermission("multichat.chat.color")) {
-
- newFormat = newFormat.replace("%MESSAGE%", message);
- if (MultiChat.legacyServers.contains(receiver.getServer().getInfo().getName())) {
- newFormat = MultiChatUtil.approximateHexCodes(newFormat);
- }
- toSend = TextComponent.fromLegacyText(ChatColor.translateAlternateColorCodes('&', newFormat));
-
- } else {
-
- newFormat = newFormat.replace("%MESSAGE%", "");
- if (MultiChat.legacyServers.contains(receiver.getServer().getInfo().getName())) {
- newFormat = MultiChatUtil.approximateHexCodes(newFormat);
- }
- toSend = TextComponent.fromLegacyText(ChatColor.translateAlternateColorCodes('&', newFormat) + message);
- }
-
- return toSend;
-
- }
-
- public BaseComponent[] buildFormat(String name, String displayName, String server, String world, ProxiedPlayer receiver, String format, String message) {
-
- String newFormat = format;
-
- newFormat = newFormat.replace("%DISPLAYNAME%", displayName);
- newFormat = newFormat.replace("%NAME%", name);
- newFormat = newFormat.replace("%DISPLAYNAMET%", receiver.getDisplayName());
- newFormat = newFormat.replace("%NAMET%", receiver.getName());
-
- Optional opmt = PlayerMetaManager.getInstance().getPlayer(receiver.getUniqueId());
- if (opmt.isPresent()) {
- newFormat = newFormat.replace("%PREFIXT%", opmt.get().prefix);
- newFormat = newFormat.replace("%SUFFIXT%", opmt.get().suffix);
- newFormat = newFormat.replace("%NICKT%", opmt.get().nick);
- newFormat = newFormat.replace("%WORLDT%", opmt.get().world);
- }
-
- newFormat = newFormat.replace("%SERVER%", server);
- newFormat = newFormat.replace("%SERVERT%", receiver.getServer().getInfo().getName());
-
- newFormat = newFormat.replace("%WORLD%", world);
-
-
- /*newFormat = newFormat.replace("%MODE%", "Global");
- newFormat = newFormat.replace("%M%", "G");*/
-
- newFormat = newFormat + "%MESSAGE%";
-
- BaseComponent[] toSend;
-
- newFormat = newFormat.replace("%MESSAGE%", message);
- if (MultiChat.legacyServers.contains(receiver.getServer().getInfo().getName())) {
- newFormat = MultiChatUtil.approximateHexCodes(newFormat);
- }
- toSend = TextComponent.fromLegacyText(ChatColor.translateAlternateColorCodes('&', newFormat));
-
- return toSend;
-
- }
-
- public void sendToConsole(ProxiedPlayer sender, String format, String message) {
-
- String newFormat = format;
-
- newFormat = newFormat.replace("%DISPLAYNAME%", sender.getDisplayName());
- newFormat = newFormat.replace("%NAME%", sender.getName());
-
- Optional opm = PlayerMetaManager.getInstance().getPlayer(sender.getUniqueId());
- if (opm.isPresent()) {
- newFormat = newFormat.replace("%PREFIX%", opm.get().prefix);
- newFormat = newFormat.replace("%SUFFIX%", opm.get().suffix);
- newFormat = newFormat.replace("%NICK%", opm.get().nick);
- newFormat = newFormat.replace("%WORLD%", opm.get().world);
- }
-
- newFormat = newFormat.replace("%DISPLAYNAMET%", "CONSOLE");
- newFormat = newFormat.replace("%NAMET%", "CONSOLE");
- newFormat = newFormat.replace("%SERVER%", sender.getServer().getInfo().getName());
- newFormat = newFormat.replace("%SERVERT%", "CONSOLE");
- newFormat = newFormat.replace("%WORLDT%", "CONSOLE");
-
- /*if (!ChatModeManager.getInstance().isGlobal(sender.getUniqueId())) {
- newFormat = newFormat.replace("%MODE%", "Local");
- newFormat = newFormat.replace("%M%", "L");
- }
-
- if (ChatModeManager.getInstance().isGlobal(sender.getUniqueId())) {
- newFormat = newFormat.replace("%MODE%", "Global");
- newFormat = newFormat.replace("%M%", "G");
- }*/
-
- newFormat = newFormat + "%MESSAGE%";
-
- if (sender.hasPermission("multichat.chat.colour") || sender.hasPermission("multichat.chat.color")) {
-
- newFormat = newFormat.replace("%MESSAGE%", message);
- ConsoleManager.logChat(newFormat);
-
- } else {
-
- newFormat = newFormat.replace("%MESSAGE%", "");
- ConsoleManager.logBasicChat(newFormat, message);
-
- }
-
- }
-
- public void sendToConsole(String name, String displayName, String server, String world, String format, String message) {
-
- String newFormat = format;
-
- newFormat = newFormat.replace("%DISPLAYNAME%", displayName);
- newFormat = newFormat.replace("%NAME%", name);
- newFormat = newFormat.replace("%DISPLAYNAMET%", "CONSOLE");
- newFormat = newFormat.replace("%NAMET%", "CONSOLE");
- newFormat = newFormat.replace("%SERVER%", server);
- newFormat = newFormat.replace("%SERVERT%", "CONSOLE");
- newFormat = newFormat.replace("%WORLD%", world);
- newFormat = newFormat.replace("%WORLDT%", "CONSOLE");
-
- /*newFormat = newFormat.replace("%MODE%", "Global");
- newFormat = newFormat.replace("%M%", "G");*/
-
- newFormat = newFormat + "%MESSAGE%";
-
- newFormat = newFormat.replace("%MESSAGE%", message);
-
- ConsoleManager.logChat(newFormat);
-
- }
-}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/LocalChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/LocalChannel.java
deleted file mode 100644
index f87d55c6..00000000
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/LocalChannel.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package xyz.olivermartin.multichat.bungee;
-
-import net.md_5.bungee.api.CommandSender;
-import net.md_5.bungee.api.connection.ProxiedPlayer;
-import xyz.olivermartin.multichat.proxy.common.ProxyLocalCommunicationManager;
-
-public class LocalChannel extends LegacyChannel {
-
- public LocalChannel() {
- super("local", "", false, false);
- }
-
- /**
- * This has no purpose as local chat for players is handled by the local servers
- */
- @Override
- public void sendMessage(ProxiedPlayer sender, String message, String format) {
- /* EMPTY */
- }
-
- @Override
- public void sendMessage(String message, CommandSender sender) {
-
- DebugManager.log("LocalChannel wants to send a cast message!");
-
- // Use this to relay CASTS to local chat!
- if (sender instanceof ProxiedPlayer) {
- ProxyLocalCommunicationManager.sendServerChatMessage("local", message, ((ProxiedPlayer)sender).getServer().getInfo());
- }
-
- }
-
-}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
index 169f4c42..727fd529 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
@@ -20,7 +20,9 @@
import xyz.olivermartin.multichat.proxy.common.ProxyBackupManager;
import xyz.olivermartin.multichat.proxy.common.ProxyDataStore;
import xyz.olivermartin.multichat.proxy.common.ProxyLocalCommunicationManager;
+import xyz.olivermartin.multichat.proxy.common.channels.ChannelManager;
import xyz.olivermartin.multichat.proxy.common.channels.ContextManager;
+import xyz.olivermartin.multichat.proxy.common.channels.GlobalChannel;
import xyz.olivermartin.multichat.proxy.common.channels.GlobalContext;
import xyz.olivermartin.multichat.proxy.common.listeners.communication.ProxyPlayerActionListener;
import xyz.olivermartin.multichat.proxy.common.listeners.communication.ProxyPlayerChatListener;
@@ -363,24 +365,28 @@ public void onEnable() {
boolean forceChannelOnJoin = configYML.getBoolean("force_channel_on_join");
// Set up global chat
- GlobalChannel channel = LegacyChannel.getGlobalChannel();
- channel.setFormat(configYML.getString("globalformat"));
+ //GlobalChannel channel = LegacyChannel.getGlobalChannel();
+ //channel.setFormat(configYML.getString("globalformat"));
List noGlobalServers = new ArrayList();
// Add all appropriate servers to this hardcoded global chat stream
for (String server : configYML.getStringList("no_global")) {
- channel.addServer(server);
+ //channel.addServer(server);
noGlobalServers.add(server);
}
///
- // New context manager
+ // New context manager and channels
GlobalContext globalContext = new GlobalContext(defaultChannel, forceChannelOnJoin, true, noGlobalServers);
ContextManager contextManager = new ContextManager(globalContext);
MultiChatProxy.getInstance().registerContextManager(contextManager);
+ ChannelManager channelManager = new ChannelManager();
+ channelManager.setGlobalChannel(new GlobalChannel("Global Channel", configYML.getString("globalformat"), ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("global"), channelManager));
+ MultiChatProxy.getInstance().registerChannelManager(channelManager);
+
///
// Initiate backup routine
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ChannelCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ChannelCommand.java
index 6f25fb56..aa61d1a3 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ChannelCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ChannelCommand.java
@@ -4,11 +4,12 @@
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command;
-import xyz.olivermartin.multichat.bungee.LegacyChannel;
import xyz.olivermartin.multichat.bungee.ChatModeManager;
import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.MessageManager;
+import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
import xyz.olivermartin.multichat.proxy.common.ProxyLocalCommunicationManager;
+import xyz.olivermartin.multichat.proxy.common.channels.ChannelManager;
/**
* Chat Channel Command
@@ -32,6 +33,8 @@ private void showHelp(CommandSender sender) {
@Override
public void execute(CommandSender sender, String[] args) {
+ ChannelManager channelManager = MultiChatProxy.getInstance().getChannelManager();
+
if ((sender instanceof ProxiedPlayer)) {
if ((args.length < 1) || ((args.length == 1) && (args[0].toLowerCase().equals("help")))) {
@@ -77,9 +80,8 @@ public void execute(CommandSender sender, String[] args) {
return;
}
- LegacyChannel local = LegacyChannel.getLocalChannel();
- if (local.isMember(((ProxiedPlayer)sender).getUniqueId())) {
- local.addMember(((ProxiedPlayer)sender).getUniqueId());
+ if (!channelManager.isHidden(((ProxiedPlayer)sender).getUniqueId(), "local")) {
+ channelManager.hide(((ProxiedPlayer)sender).getUniqueId(),"local");
MessageManager.sendSpecialMessage(sender, "command_channel_hide", operand.toUpperCase());
} else {
MessageManager.sendSpecialMessage(sender, "command_channel_already_hide", operand.toUpperCase());
@@ -92,9 +94,8 @@ public void execute(CommandSender sender, String[] args) {
return;
}
- LegacyChannel global = LegacyChannel.getGlobalChannel();
- if (global.isMember(((ProxiedPlayer)sender).getUniqueId())) {
- global.addMember(((ProxiedPlayer)sender).getUniqueId());
+ if (!channelManager.isHidden(((ProxiedPlayer)sender).getUniqueId(), "global")) {
+ channelManager.hide(((ProxiedPlayer)sender).getUniqueId(),"global");
MessageManager.sendSpecialMessage(sender, "command_channel_hide", operand.toUpperCase());
} else {
MessageManager.sendSpecialMessage(sender, "command_channel_already_hide", operand.toUpperCase());
@@ -112,9 +113,8 @@ public void execute(CommandSender sender, String[] args) {
}
if (operand.equals("local")) {
- LegacyChannel local = LegacyChannel.getLocalChannel();
- if (!local.isMember(((ProxiedPlayer)sender).getUniqueId())) {
- local.removeMember(((ProxiedPlayer)sender).getUniqueId());
+ if (channelManager.isHidden(((ProxiedPlayer)sender).getUniqueId(), "local")) {
+ channelManager.show(((ProxiedPlayer)sender).getUniqueId(),"local");
MessageManager.sendSpecialMessage(sender, "command_channel_show", operand.toUpperCase());
} else {
MessageManager.sendSpecialMessage(sender, "command_channel_already_show", operand.toUpperCase());
@@ -122,9 +122,8 @@ public void execute(CommandSender sender, String[] args) {
} else if (operand.equals("global")) {
- LegacyChannel global = LegacyChannel.getGlobalChannel();
- if (!global.isMember(((ProxiedPlayer)sender).getUniqueId())) {
- global.removeMember(((ProxiedPlayer)sender).getUniqueId());
+ if (channelManager.isHidden(((ProxiedPlayer)sender).getUniqueId(), "global")) {
+ channelManager.show(((ProxiedPlayer)sender).getUniqueId(),"global");
MessageManager.sendSpecialMessage(sender, "command_channel_show", operand.toUpperCase());
} else {
MessageManager.sendSpecialMessage(sender, "command_channel_already_show", operand.toUpperCase());
@@ -142,7 +141,7 @@ public void execute(CommandSender sender, String[] args) {
// Update local channel info
for (ProxiedPlayer p : ProxyServer.getInstance().getPlayers()) {
- ProxyLocalCommunicationManager.sendPlayerDataMessage(p.getName(), LegacyChannel.getChannel(p.getUniqueId()).getName(), LegacyChannel.getChannel(p.getUniqueId()), p.getServer().getInfo(), (p.hasPermission("multichat.chat.colour")||p.hasPermission("multichat.chat.color")||p.hasPermission("multichat.chat.colour.simple")||p.hasPermission("multichat.chat.color.simple")), (p.hasPermission("multichat.chat.colour")||p.hasPermission("multichat.chat.color")||p.hasPermission("multichat.chat.colour.rgb")||p.hasPermission("multichat.chat.color.rgb")));
+ ProxyLocalCommunicationManager.sendPlayerDataMessage(p.getName(), channelManager.getChannel(p).getId(), p.getServer().getInfo(), (p.hasPermission("multichat.chat.colour")||p.hasPermission("multichat.chat.color")||p.hasPermission("multichat.chat.colour.simple")||p.hasPermission("multichat.chat.color.simple")), (p.hasPermission("multichat.chat.colour")||p.hasPermission("multichat.chat.color")||p.hasPermission("multichat.chat.colour.rgb")||p.hasPermission("multichat.chat.color.rgb")));
}
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GlobalCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GlobalCommand.java
index 2037689e..ee2b5c54 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GlobalCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GlobalCommand.java
@@ -5,7 +5,6 @@
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command;
-import xyz.olivermartin.multichat.bungee.LegacyChannel;
import xyz.olivermartin.multichat.bungee.ChatControl;
import xyz.olivermartin.multichat.bungee.ChatModeManager;
import xyz.olivermartin.multichat.bungee.ConfigManager;
@@ -15,6 +14,7 @@
import xyz.olivermartin.multichat.common.MultiChatUtil;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
import xyz.olivermartin.multichat.proxy.common.ProxyLocalCommunicationManager;
+import xyz.olivermartin.multichat.proxy.common.channels.ChannelManager;
/**
* Global Command
@@ -31,6 +31,8 @@ public GlobalCommand() {
public void execute(CommandSender sender, String[] args) {
+ ChannelManager channelManager = MultiChatProxy.getInstance().getChannelManager();
+
if ((sender instanceof ProxiedPlayer)) {
if (args.length < 1) {
@@ -82,14 +84,13 @@ public void execute(CommandSender sender, String[] args) {
}
// If they had this channel hidden, then unhide it...
- LegacyChannel global = LegacyChannel.getGlobalChannel();
- if (!global.isMember(player.getUniqueId())) {
- global.removeMember(player.getUniqueId());
+ if (channelManager.isHidden(player.getUniqueId(), "global")) {
+ channelManager.show(player.getUniqueId(), "global");
MessageManager.sendSpecialMessage(player, "command_channel_show", "GLOBAL");
}
// Let server know players channel preference
- ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), LegacyChannel.getChannel(player.getUniqueId()).getName(), LegacyChannel.getChannel(player.getUniqueId()), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
+ ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), channelManager.getChannel(player).getId(), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
// Message passes through to spigot here
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/LocalCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/LocalCommand.java
index 90d45026..93c9163e 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/LocalCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/LocalCommand.java
@@ -5,7 +5,6 @@
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command;
-import xyz.olivermartin.multichat.bungee.LegacyChannel;
import xyz.olivermartin.multichat.bungee.ChatControl;
import xyz.olivermartin.multichat.bungee.ChatModeManager;
import xyz.olivermartin.multichat.bungee.ConfigManager;
@@ -15,6 +14,7 @@
import xyz.olivermartin.multichat.common.MultiChatUtil;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
import xyz.olivermartin.multichat.proxy.common.ProxyLocalCommunicationManager;
+import xyz.olivermartin.multichat.proxy.common.channels.ChannelManager;
/**
* Local Chat Command
@@ -31,6 +31,8 @@ public LocalCommand() {
public void execute(CommandSender sender, String[] args) {
+ ChannelManager channelManager = MultiChatProxy.getInstance().getChannelManager();
+
if ((sender instanceof ProxiedPlayer)) {
if (args.length < 1) {
@@ -78,14 +80,13 @@ public void execute(CommandSender sender, String[] args) {
}
// If they had this channel hidden, then unhide it...
- LegacyChannel local = LegacyChannel.getLocalChannel();
- if (!local.isMember(player.getUniqueId())) {
- local.removeMember(player.getUniqueId());
+ if (channelManager.isHidden(player.getUniqueId(), "local")) {
+ channelManager.show(player.getUniqueId(), "local");
MessageManager.sendSpecialMessage(player, "command_channel_show", "LOCAL");
}
// Let server know players channel preference
- ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), LegacyChannel.getChannel(player.getUniqueId()).getName(), LegacyChannel.getChannel(player.getUniqueId()), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
+ ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), channelManager.getChannel(player).getId(), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
// Message passes through to spigot here
// Send message directly to local chat...
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
index ba167965..db393f14 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
@@ -12,11 +12,10 @@
import xyz.olivermartin.multichat.bungee.CommandManager;
import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.DebugManager;
-import xyz.olivermartin.multichat.bungee.GlobalChannel;
-import xyz.olivermartin.multichat.bungee.LegacyChannel;
import xyz.olivermartin.multichat.bungee.MessageManager;
import xyz.olivermartin.multichat.bungee.MultiChat;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
+import xyz.olivermartin.multichat.proxy.common.channels.GlobalChannel;
import xyz.olivermartin.multichat.proxy.common.channels.GlobalContext;
/**
@@ -137,24 +136,26 @@ public void execute(CommandSender sender, String[] args) {
boolean forceChannelOnJoin = ConfigManager.getInstance().getHandler("config.yml").getConfig().getBoolean("force_channel_on_join");
// Set up global chat
- GlobalChannel channel = LegacyChannel.getGlobalChannel();
- channel.setFormat(ConfigManager.getInstance().getHandler("config.yml").getConfig().getString("globalformat"));
+ //GlobalAChannel channel = LegacyChannel.getGlobalChannel();
+ //channel.setFormat(ConfigManager.getInstance().getHandler("config.yml").getConfig().getString("globalformat"));
List noGlobalServers = new ArrayList();
- channel.clearServers();
+ //channel.clearServers();
// Add all appropriate servers to this hardcoded global chat stream
for (String server : ConfigManager.getInstance().getHandler("config.yml").getConfig().getStringList("no_global")) {
- channel.addServer(server);
+ //channel.addServer(server);
noGlobalServers.add(server);
}
///
- // New context manager
+ // New context manager and channels
GlobalContext globalContext = new GlobalContext(defaultChannel, forceChannelOnJoin, true, noGlobalServers);
MultiChatProxy.getInstance().getContextManager().setGlobalContext(globalContext);
+ MultiChatProxy.getInstance().getChannelManager().setGlobalChannel(new GlobalChannel("Global Channel", ConfigManager.getInstance().getHandler("config.yml").getConfig().getString("globalformat"), ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("global"), MultiChatProxy.getInstance().getChannelManager()));
+
///
if (ProxyServer.getInstance().getPluginManager().getPlugin("PremiumVanish") != null) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/UseCastCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/UseCastCommand.java
index d246ba6a..3a1c4d16 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/UseCastCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/UseCastCommand.java
@@ -5,10 +5,10 @@
import net.md_5.bungee.api.chat.ComponentBuilder;
import net.md_5.bungee.api.plugin.Command;
import xyz.olivermartin.multichat.bungee.CastControl;
-import xyz.olivermartin.multichat.bungee.LegacyChannel;
import xyz.olivermartin.multichat.bungee.ConfigManager;
import xyz.olivermartin.multichat.bungee.MessageManager;
import xyz.olivermartin.multichat.common.MultiChatUtil;
+import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
/**
* Use Cast Command
@@ -40,7 +40,7 @@ public void execute(CommandSender sender, String[] args) {
String message = MultiChatUtil.getMessageFromArgs(args, 1);
- CastControl.sendCast(args[0], message, LegacyChannel.getGlobalChannel(), sender);
+ CastControl.sendCast(args[0], message, MultiChatProxy.getInstance().getChannelManager().getGlobalChannel(), sender);
} else {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/common/MultiChatUtil.java b/multichat/src/main/java/xyz/olivermartin/multichat/common/MultiChatUtil.java
index 4de37048..84e65ba0 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/common/MultiChatUtil.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/common/MultiChatUtil.java
@@ -31,7 +31,15 @@ public static String approximateHexCodes(String message) {
}
for (String match : allMatches) {
- String hexonly = match.split("#")[1];
+
+ String hexonly;
+ if (match.contains("#")) {
+ hexonly = match.split("#")[1];
+ } else if (match.contains("x")) {
+ hexonly = match.split("x")[1];
+ } else {
+ hexonly = match.split("X")[1];
+ }
String minecraftCode = hexToMinecraft(hexonly);
message = message.replace(match,"§"+minecraftCode);
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/LocalBungeeCommunicationManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/LocalBungeeCommunicationManager.java
index 2191b815..9a0fbbfc 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/LocalBungeeCommunicationManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/LocalBungeeCommunicationManager.java
@@ -1,5 +1,6 @@
package xyz.olivermartin.multichat.local.common;
+import java.util.Set;
import java.util.UUID;
import xyz.olivermartin.multichat.common.communication.CommChannels;
@@ -23,6 +24,8 @@ protected LocalBungeeCommunicationManager(MultiChatLocalPlatform localPlatform)
protected abstract boolean sendUUIDAndStringAndStringAndString(String channel, UUID uuid, String value1, String value2, String value3);
+ protected abstract boolean sendPlatformChatMessage(String channel, UUID uuid, String chatChannel, String message, String format, Set otherRecipients);
+
protected abstract boolean sendStringAndString(String channel, String string1, String string2);
protected abstract boolean sendString(String channel, String string);
@@ -43,8 +46,8 @@ public void sendProxyExecutePlayerMessage(String command, String player) {
}
@Override
- public void sendPlayerChatMessage(UUID uuid, String channel, String message, String format) {
- sendUUIDAndStringAndStringAndString(CommChannels.PLAYER_CHAT, uuid, channel, message, format);
+ public void sendPlayerChatMessage(UUID uuid, String channel, String message, String format, Set otherRecipients) {
+ sendPlatformChatMessage(CommChannels.PLAYER_CHAT, uuid, channel, message, format, otherRecipients);
}
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/LocalChatManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/LocalChatManager.java
index 680c9466..8d41e49e 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/LocalChatManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/LocalChatManager.java
@@ -5,6 +5,7 @@
import java.util.Map;
import java.util.Optional;
import java.util.Queue;
+import java.util.Set;
import java.util.UUID;
import xyz.olivermartin.multichat.local.common.config.LocalConfig;
@@ -58,6 +59,29 @@ public String getSelectedChatChannel(UUID uuid) {
}
+ public void queueRecipients(UUID uuid, Set recipients) {
+
+ Map>> recipientQueues = MultiChatLocal.getInstance().getDataStore().getRecipientQueues();
+
+ synchronized (recipientQueues) {
+
+ if (recipientQueues.containsKey(uuid)) {
+
+ Queue> q = recipientQueues.get(uuid);
+ q.add(recipients);
+
+ } else {
+
+ Queue> q = new LinkedList>();
+ q.add(recipients);
+ recipientQueues.put(uuid, q);
+
+ }
+
+ }
+
+ }
+
public void queueChatChannel(String playerName, String channel) {
Map> chatQueues = MultiChatLocal.getInstance().getDataStore().getChatQueues();
@@ -81,6 +105,26 @@ public void queueChatChannel(String playerName, String channel) {
}
+ public Set getRecipientsFromRecipientQueue(UUID uuid) {
+
+ LocalDataStore store = MultiChatLocal.getInstance().getDataStore();
+ Map>> recipientQueues = store.getRecipientQueues();
+ Set recipients;
+
+ synchronized (recipientQueues) {
+
+ recipients = recipientQueues.get(uuid).poll();
+
+ if (recipientQueues.get(uuid).size() < 1) {
+ recipientQueues.remove(uuid);
+ }
+
+ }
+
+ return recipients;
+
+ }
+
private String getChannelFromChatQueue(MultiChatLocalPlayer player, boolean pollQueue) {
LocalDataStore store = MultiChatLocal.getInstance().getDataStore();
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/LocalProxyCommunicationManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/LocalProxyCommunicationManager.java
index a3013a0f..e47bad34 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/LocalProxyCommunicationManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/LocalProxyCommunicationManager.java
@@ -1,5 +1,6 @@
package xyz.olivermartin.multichat.local.common;
+import java.util.Set;
import java.util.UUID;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxyPlatform;
@@ -44,6 +45,6 @@ public void updatePlayerMeta(UUID uuid) {
public abstract void sendProxyExecutePlayerMessage(String command, String player);
- public abstract void sendPlayerChatMessage(UUID uuid, String channel, String message, String format);
+ public abstract void sendPlayerChatMessage(UUID uuid, String channel, String message, String format, Set otherRecipients);
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/chat/LocalChatListenerHighest.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/chat/LocalChatListenerHighest.java
index 28d357a9..3e8a587a 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/chat/LocalChatListenerHighest.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/chat/LocalChatListenerHighest.java
@@ -1,9 +1,9 @@
package xyz.olivermartin.multichat.local.common.listeners.chat;
-import java.util.Optional;
+import java.util.Set;
+import java.util.UUID;
import xyz.olivermartin.multichat.local.common.LocalChatManager;
-import xyz.olivermartin.multichat.local.common.LocalPseudoChannel;
import xyz.olivermartin.multichat.local.common.MultiChatLocal;
import xyz.olivermartin.multichat.local.common.MultiChatLocalPlatform;
@@ -43,7 +43,13 @@ public void handleChat(MultiChatLocalPlayerChatEvent event) {
// Deal with ignores and channel members
- Optional opChannelObject = chatManager.getChannelObject(channel);
+ Set intendedRecipients = event.getOtherRecipients();
+
+ chatManager.queueRecipients(event.getPlayer().getUniqueId(), intendedRecipients);
+
+ event.removeOtherPlayers();
+
+ /*Optional opChannelObject = chatManager.getChannelObject(channel);
if (opChannelObject.isPresent()) {
@@ -58,7 +64,7 @@ public void handleChat(MultiChatLocalPlayerChatEvent event) {
MultiChatLocal.getInstance().getConsoleLogger().debug("#CHAT@HIGHEST - We didn't find a channel object to match that name... Probably not good!");
- }
+ }*/
if (!chatManager.isGlobalChatServer() || channel.equalsIgnoreCase("local")) {
MultiChatLocal.getInstance().getConsoleLogger().debug("#CHAT@HIGHEST - We are speaking into local chat, so at this point we are returning! Bye!");
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/chat/LocalChatListenerMonitor.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/chat/LocalChatListenerMonitor.java
index dea81504..390fbd14 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/chat/LocalChatListenerMonitor.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/chat/LocalChatListenerMonitor.java
@@ -1,5 +1,8 @@
package xyz.olivermartin.multichat.local.common.listeners.chat;
+import java.util.Set;
+import java.util.UUID;
+
import xyz.olivermartin.multichat.local.common.LocalChatManager;
import xyz.olivermartin.multichat.local.common.MultiChatLocal;
import xyz.olivermartin.multichat.local.common.MultiChatLocalPlatform;
@@ -14,6 +17,8 @@ public void handleChat(MultiChatLocalPlayerChatEvent event) {
LocalConfig config = MultiChatLocal.getInstance().getConfigManager().getLocalConfig();
LocalChatManager chatManager = MultiChatLocal.getInstance().getChatManager();
+ Set originalRecipients = chatManager.getRecipientsFromRecipientQueue(event.getPlayer().getUniqueId());
+
String channel = chatManager.pollChatChannel(event.getPlayer());
// Deal with regex channel forcing...
@@ -74,7 +79,7 @@ public void handleChat(MultiChatLocalPlayerChatEvent event) {
}
- MultiChatLocal.getInstance().getProxyCommunicationManager().sendPlayerChatMessage(event.getPlayer().getUniqueId(), "global", proxyMessage, proxyFormat);
+ MultiChatLocal.getInstance().getProxyCommunicationManager().sendPlayerChatMessage(event.getPlayer().getUniqueId(), "global", proxyMessage, proxyFormat, originalRecipients);
MultiChatLocal.getInstance().getConsoleLogger().debug("#CHAT@MONITOR - Aaaaand we sent it to the proxy! ALL DONE.");
MultiChatLocal.getInstance().getConsoleLogger().debug("#CHAT@MONITOR - UUID: " + event.getPlayer().getUniqueId());
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/chat/MultiChatLocalPlayerChatEvent.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/chat/MultiChatLocalPlayerChatEvent.java
index 8ace0f64..fbf9dce7 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/chat/MultiChatLocalPlayerChatEvent.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/chat/MultiChatLocalPlayerChatEvent.java
@@ -1,6 +1,8 @@
package xyz.olivermartin.multichat.local.common.listeners.chat;
-import xyz.olivermartin.multichat.local.common.LocalPseudoChannel;
+import java.util.Set;
+import java.util.UUID;
+
import xyz.olivermartin.multichat.local.common.MultiChatLocalPlayer;
public interface MultiChatLocalPlayerChatEvent {
@@ -19,6 +21,10 @@ public interface MultiChatLocalPlayerChatEvent {
public void setCancelled(boolean cancelled);
- public void removeIgnoredPlayersAndNonChannelMembersFromRecipients(LocalPseudoChannel channel);
+ //public void removeIgnoredPlayersAndNonChansnelMembersFromRecipients(LocalPseudoChannel channel);
+
+ public void removeOtherPlayers();
+
+ public Set getOtherRecipients();
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/communication/LocalPlayerDataListener.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/communication/LocalPlayerDataListener.java
index eb205efa..e670e054 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/communication/LocalPlayerDataListener.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/communication/LocalPlayerDataListener.java
@@ -1,12 +1,11 @@
package xyz.olivermartin.multichat.local.common.listeners.communication;
import java.io.IOException;
-import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.UUID;
-import xyz.olivermartin.multichat.local.common.LocalPseudoChannel;
+import xyz.olivermartin.multichat.local.common.LocalConsoleLogger;
import xyz.olivermartin.multichat.local.common.MultiChatLocal;
import xyz.olivermartin.multichat.local.common.MultiChatLocalPlayer;
import xyz.olivermartin.multichat.local.common.listeners.LocalBungeeObjectMessage;
@@ -15,25 +14,39 @@ public abstract class LocalPlayerDataListener {
protected abstract Optional getPlayerFromName(String playername);
- @SuppressWarnings("unchecked")
protected boolean handleMessage(LocalBungeeObjectMessage message) {
+ LocalConsoleLogger logger = MultiChatLocal.getInstance().getConsoleLogger();
+
try {
+ logger.debug("Starting processing of pdata message");
+
Optional opPlayer = getPlayerFromName(message.readUTF());
if (!opPlayer.isPresent()) return true;
MultiChatLocalPlayer player = opPlayer.get();
+ logger.debug("Player is present: " + player.getName());
+
String channelName = message.readUTF();
+
+ logger.debug("Channel is present: " + channelName);
+
Map playerChannels = MultiChatLocal.getInstance().getDataStore().getPlayerChannels();
synchronized (playerChannels) {
playerChannels.put(player.getUniqueId(), channelName);
}
boolean colour = message.readBoolean();
+
+ logger.debug("Colour: " + colour);
+
boolean rgb = message.readBoolean();
+
+ logger.debug("RGB: " + rgb);
+
Map simpleColourMap = MultiChatLocal.getInstance().getDataStore().getSimpleColourMap();
Map rgbColourMap = MultiChatLocal.getInstance().getDataStore().getRGBColourMap();
synchronized (simpleColourMap) {
@@ -43,27 +56,23 @@ protected boolean handleMessage(LocalBungeeObjectMessage message) {
rgbColourMap.put(player.getUniqueId(), rgb);
}
- boolean whitelistMembers = message.readBoolean();
+ /*boolean whitelistMembers = message.readBoolean();
List channelMembers = (List) message.readObject();
LocalPseudoChannel channelObject = new LocalPseudoChannel(channelName, channelMembers, whitelistMembers);
Map channelObjects = MultiChatLocal.getInstance().getDataStore().getChannelObjects();
synchronized (channelObjects) {
channelObjects.put(channelName, channelObject);
- }
+ }*/
return true;
} catch (IOException e) {
+ e.printStackTrace();
MultiChatLocal.getInstance().getConsoleLogger().log("An error occurred trying to read player data message from Bungeecord, is the server lagging?");
return false;
- } catch (ClassNotFoundException e) {
-
- MultiChatLocal.getInstance().getConsoleLogger().log("Could not read List of UUIDs from local player data message...");
- return false;
-
}
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/storage/LocalDataStore.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/storage/LocalDataStore.java
index 8c9bdd15..42d990f8 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/storage/LocalDataStore.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/storage/LocalDataStore.java
@@ -43,6 +43,11 @@ public class LocalDataStore {
*/
private Map> chatQueues = new HashMap>();
+ /**
+ * Recipient Queues
+ */
+ private Map>> recipientQueues = new HashMap>>();
+
/**
* What channel is each player speaking in?
*/
@@ -108,6 +113,13 @@ public synchronized Map> getChatQueues() {
return chatQueues;
}
+ /**
+ * @return the recipientQueues
+ */
+ public synchronized Map>> getRecipientQueues() {
+ return recipientQueues;
+ }
+
/**
* @return the playerChannels
*/
@@ -185,6 +197,13 @@ public synchronized void setChatQueues(Map> chatQueues) {
this.chatQueues = chatQueues;
}
+ /**
+ * @param recipientQueues the recipientQueues to set
+ */
+ public synchronized void setRecipientQueues(Map>> recipientQueues) {
+ this.recipientQueues = recipientQueues;
+ }
+
/**
* @param playerChannels the playerChannels to set
*/
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/SpigotBungeeCommunicationManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/SpigotBungeeCommunicationManager.java
index 04c631db..d8cdd4bf 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/SpigotBungeeCommunicationManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/SpigotBungeeCommunicationManager.java
@@ -3,6 +3,8 @@
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;
+import java.io.ObjectOutputStream;
+import java.util.Set;
import java.util.UUID;
import org.bukkit.Bukkit;
@@ -150,4 +152,35 @@ protected boolean sendUUIDAndStringAndStringAndString(String channel, UUID uuid,
}
+ @Override
+ protected boolean sendPlatformChatMessage(String channel, UUID uuid, String chatChannel, String message, String format, Set otherRecipients) {
+
+ ByteArrayOutputStream stream = new ByteArrayOutputStream();
+
+ try {
+
+ ObjectOutputStream out = new ObjectOutputStream(stream);
+
+ out.writeUTF(uuid.toString());
+ out.writeUTF(chatChannel);
+ out.writeUTF(message);
+ out.writeUTF(format);
+ out.writeObject(otherRecipients);
+ out.flush();
+
+ } catch (IOException e) {
+
+ return false;
+
+ }
+
+ if (Bukkit.getServer().getOnlinePlayers().size() < 1) return false;
+
+ ((PluginMessageRecipient)Bukkit.getServer().getOnlinePlayers().toArray()[0]).sendPluginMessage(Bukkit.getPluginManager().getPlugin(MultiChatLocal.getInstance().getPluginName()), channel, stream.toByteArray());
+
+ return true;
+
+
+ }
+
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/chat/MultiChatLocalSpigotPlayerChatEvent.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/chat/MultiChatLocalSpigotPlayerChatEvent.java
index 551327cb..7824554a 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/chat/MultiChatLocalSpigotPlayerChatEvent.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/chat/MultiChatLocalSpigotPlayerChatEvent.java
@@ -1,15 +1,13 @@
package xyz.olivermartin.multichat.local.spigot.listeners.chat;
+import java.util.HashSet;
import java.util.Iterator;
-import java.util.Map;
import java.util.Set;
import java.util.UUID;
import org.bukkit.entity.Player;
import org.bukkit.event.player.AsyncPlayerChatEvent;
-import xyz.olivermartin.multichat.local.common.LocalPseudoChannel;
-import xyz.olivermartin.multichat.local.common.MultiChatLocal;
import xyz.olivermartin.multichat.local.common.MultiChatLocalPlayer;
import xyz.olivermartin.multichat.local.common.listeners.chat.MultiChatLocalPlayerChatEvent;
import xyz.olivermartin.multichat.local.spigot.MultiChatLocalSpigotPlayer;
@@ -62,6 +60,33 @@ public void setCancelled(boolean cancelled) {
}
@Override
+ public void removeOtherPlayers() {
+
+ Iterator it = event.getRecipients().iterator();
+
+ while (it.hasNext()) {
+ Player p = it.next();
+ if (!p.getUniqueId().equals(player.getUniqueId())) it.remove();
+ }
+
+ }
+
+ @Override
+ public Set getOtherRecipients() {
+
+ Set rSet = new HashSet();
+
+ for (Player p : event.getRecipients()) {
+ rSet.add(p.getUniqueId());
+ }
+
+ rSet.remove(player.getUniqueId());
+
+ return rSet;
+
+ }
+
+ /*@Override
public void removeIgnoredPlayersAndNonChannelMembersFromRecipients(LocalPseudoChannel channel) {
MultiChatLocal.getInstance().getConsoleLogger().debug("[MultiChatLocalSpigotChatEvent] Removing Ignored Players and Non Channel Members from recipients!");
@@ -105,6 +130,6 @@ public void removeIgnoredPlayersAndNonChannelMembersFromRecipients(LocalPseudoCh
}
}
- }
+ }*/
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/SpongeBungeeCommunicationManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/SpongeBungeeCommunicationManager.java
index 787bacf7..0b9f30a6 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/SpongeBungeeCommunicationManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/SpongeBungeeCommunicationManager.java
@@ -1,7 +1,13 @@
package xyz.olivermartin.multichat.local.sponge;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.io.ObjectOutputStream;
import java.util.HashMap;
import java.util.Map;
+import java.util.Set;
import java.util.UUID;
import org.spongepowered.api.Sponge;
@@ -111,4 +117,48 @@ protected boolean sendUUIDAndStringAndStringAndString(String channel, UUID uuid,
return true;
}
+ @Override
+ protected boolean sendPlatformChatMessage(String channel, UUID uuid, String chatChannel, String message, String format, Set otherRecipients) {
+
+ if (!this.channels.containsKey(channel)) throw new IllegalStateException("Sponge Raw Data Channels must first be registered with MultiChat's SpongeBungeeCommunicationManager!");
+
+ if (Sponge.getServer().getOnlinePlayers().size() < 1) return false;
+
+ Player facilitatingPlayer = (Player) Sponge.getServer().getOnlinePlayers().toArray()[0];
+
+ ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+
+ ByteArrayInputStream inputStream;
+ byte[] byteArray;
+
+ try {
+
+ ObjectOutputStream objectOutputStream = new ObjectOutputStream(outputStream);
+
+ objectOutputStream.writeUTF(uuid.toString());
+ objectOutputStream.writeUTF(chatChannel);
+ objectOutputStream.writeUTF(message);
+ objectOutputStream.writeUTF(format);
+ objectOutputStream.writeObject(otherRecipients);
+ objectOutputStream.flush();
+
+ inputStream = new ByteArrayInputStream(outputStream.toByteArray());
+
+ DataInputStream dis = new DataInputStream(inputStream);
+
+ byteArray = new byte[dis.available()];
+
+ dis.readFully(byteArray);;
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ return false;
+ }
+
+ this.channels.get(channel).sendTo(facilitatingPlayer, buffer -> buffer.writeBytes(byteArray));
+
+ return true;
+
+ }
+
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/listeners/chat/MultiChatLocalSpongePlayerChatEvent.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/listeners/chat/MultiChatLocalSpongePlayerChatEvent.java
index b28032fe..d51fe42d 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/listeners/chat/MultiChatLocalSpongePlayerChatEvent.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/listeners/chat/MultiChatLocalSpongePlayerChatEvent.java
@@ -3,14 +3,16 @@
import java.util.Collection;
import java.util.HashSet;
import java.util.Optional;
+import java.util.Set;
+import java.util.UUID;
import org.spongepowered.api.Sponge;
+import org.spongepowered.api.entity.living.player.Player;
import org.spongepowered.api.event.message.MessageChannelEvent;
import org.spongepowered.api.text.channel.MessageChannel;
import org.spongepowered.api.text.channel.MessageReceiver;
import org.spongepowered.api.text.serializer.TextSerializers;
-import xyz.olivermartin.multichat.local.common.LocalPseudoChannel;
import xyz.olivermartin.multichat.local.common.MultiChatLocalPlayer;
import xyz.olivermartin.multichat.local.common.listeners.chat.MultiChatLocalPlayerChatEvent;
@@ -60,6 +62,46 @@ public void setCancelled(boolean cancelled) {
}
@Override
+ public void removeOtherPlayers() {
+
+ Optional currentChannel = event.getChannel();
+ Collection recipients;
+ if (currentChannel.isPresent()) {
+ recipients = currentChannel.get().getMembers();
+ } else {
+ recipients = new HashSet(Sponge.getServer().getOnlinePlayers());
+ }
+ MultiChatMessageChannel messageChannel = new MultiChatMessageChannel(player, recipients);
+ event.setChannel(messageChannel);
+
+ }
+
+ @Override
+ public Set getOtherRecipients() {
+
+ Set rSet = new HashSet();
+ Optional currentChannel = event.getChannel();
+ Collection recipients;
+
+ if (currentChannel.isPresent()) {
+ recipients = currentChannel.get().getMembers();
+ } else {
+ recipients = new HashSet(Sponge.getServer().getOnlinePlayers());
+ }
+
+ for (MessageReceiver r : recipients) {
+ if (r instanceof Player) {
+ rSet.add(((Player)r).getUniqueId());
+ }
+ }
+
+ rSet.remove(player.getUniqueId());
+
+ return rSet;
+
+ }
+
+ /*@Override
public void removeIgnoredPlayersAndNonChannelMembersFromRecipients(LocalPseudoChannel channel) {
channel = null; // TODO Ignored for Sponge...
Optional currentChannel = event.getChannel();
@@ -71,6 +113,6 @@ public void removeIgnoredPlayersAndNonChannelMembersFromRecipients(LocalPseudoCh
}
MultiChatMessageChannel messageChannel = new MultiChatMessageChannel(player, recipients);
event.setChannel(messageChannel);
- }
+ }*/
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/listeners/chat/MultiChatMessageChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/listeners/chat/MultiChatMessageChannel.java
index fe0d2f11..9a9cc6aa 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/listeners/chat/MultiChatMessageChannel.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/listeners/chat/MultiChatMessageChannel.java
@@ -3,19 +3,13 @@
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
-import java.util.Map;
-import java.util.Optional;
import java.util.Set;
-import java.util.UUID;
import org.spongepowered.api.Sponge;
import org.spongepowered.api.entity.living.player.Player;
import org.spongepowered.api.text.channel.MessageReceiver;
import org.spongepowered.api.text.channel.impl.SimpleMutableMessageChannel;
-import xyz.olivermartin.multichat.local.common.LocalConsoleLogger;
-import xyz.olivermartin.multichat.local.common.LocalPseudoChannel;
-import xyz.olivermartin.multichat.local.common.MultiChatLocal;
import xyz.olivermartin.multichat.local.common.MultiChatLocalPlayer;
public class MultiChatMessageChannel extends SimpleMutableMessageChannel {
@@ -30,7 +24,21 @@ public MultiChatMessageChannel(MultiChatLocalPlayer sender, Collection recipients = new HashSet(originalRecipients);
- LocalConsoleLogger logger = MultiChatLocal.getInstance().getConsoleLogger();
+ Iterator it = recipients.iterator();
+
+ while (it.hasNext()) {
+
+ MessageReceiver p = it.next();
+
+ if (p instanceof Player) {
+
+ if (!((Player) p).getUniqueId().equals(sender.getUniqueId())) it.remove();
+
+ }
+
+ }
+
+ /*LocalConsoleLogger logger = MultiChatLocal.getInstance().getConsoleLogger();
logger.debug("Creating new MultiChatMessageChannel for " + sender.getName());
@@ -93,7 +101,7 @@ public MultiChatMessageChannel(MultiChatLocalPlayer sender, Collection channels;
+ private Map selectedChannels;
private Map> hiddenChannels;
public ChannelManager() {
channels = new HashMap();
+ selectedChannels = new HashMap();
hiddenChannels = new HashMap>();
}
+ public Optional getChannel(String channelId) {
+ return Optional.ofNullable(channels.get(channelId));
+ }
+
+ public NetworkChannel getChannel(ProxiedPlayer player) {
+
+ DebugManager.log("Getting channel for: " + player.getName());
+
+ UUID uuid = player.getUniqueId();
+ if (selectedChannels.containsKey(uuid)) {
+ DebugManager.log("Their UUID has a selected channel...");
+ String channel = selectedChannels.get(uuid);
+ DebugManager.log("Their channel=" + channel);
+ return channels.get(channel);
+ } else {
+ DebugManager.log("They don't yet have a selected channel");
+ ContextManager cm = MultiChatProxy.getInstance().getContextManager();
+ String defaultChannel = cm.getContext(player).getDefaultChannel();
+ DebugManager.log("Default channel for their context is..." + defaultChannel);
+ select(player.getUniqueId(), defaultChannel);
+ return channels.get(defaultChannel);
+ }
+ }
+
public NetworkChannel getGlobalChannel() {
return this.global;
}
- /*public Something getLocalChannel() {
+ public LocalChannel getLocalChannel() {
return this.local;
- }*/
+ }
public void setGlobalChannel(GlobalChannel global) {
this.global = global;
@@ -33,6 +64,15 @@ public void setGlobalChannel(GlobalChannel global) {
channels.put("global", global);
}
+ public void setLocalChannel(LocalChannel local) {
+ this.local = local;
+ }
+
+ public boolean existsChannel(String channelId) {
+ if (channelId.equals("local")) return true;
+ return channels.containsKey(channelId);
+ }
+
public void hide(UUID uuid, String channelId) {
Set hidden = hiddenChannels.getOrDefault(uuid, new HashSet());
hidden.add(channelId);
@@ -50,4 +90,13 @@ public boolean isHidden(UUID uuid, String channelId) {
return hidden.contains(channelId);
}
+ public boolean select(UUID uuid, String channelId) {
+ if (existsChannel(channelId)) {
+ selectedChannels.put(uuid, channelId);
+ return true;
+ } else {
+ return false;
+ }
+ }
+
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ContextManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ContextManager.java
index ea6b6b81..2632e3ea 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ContextManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ContextManager.java
@@ -2,6 +2,9 @@
import java.util.HashMap;
import java.util.Map;
+import java.util.Optional;
+
+import net.md_5.bungee.api.connection.ProxiedPlayer;
public class ContextManager {
@@ -24,4 +27,26 @@ public void setGlobalContext(GlobalContext global) {
contexts.put("global", global);
}
+ public Optional getContext(String id) {
+ return Optional.ofNullable(contexts.get(id));
+ }
+
+ public Context getContext(ProxiedPlayer player) {
+
+ int lastPriority = -1;
+ Context lastContext = null;
+
+ for (Context c : contexts.values()) {
+ if (c.contains(player)) {
+ if (c.getPriority() > lastPriority) {
+ lastContext = c;
+ lastPriority = c.getPriority();
+ }
+ }
+ }
+
+ return lastContext;
+
+ }
+
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalChannel.java
index 80d4dfcf..b1f1fa9e 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalChannel.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalChannel.java
@@ -6,8 +6,8 @@
public class GlobalChannel extends StaticNetworkChannel {
- public GlobalChannel(String id, String desc, String format, List aliases, ChannelManager manager) {
- super(id, new ChannelInfo(desc, format, false, MultiChatProxy.getInstance().getContextManager().getGlobalContext(), aliases), manager);
+ public GlobalChannel(String desc, String format, List aliases, ChannelManager manager) {
+ super("global", new ChannelInfo(desc, format, false, MultiChatProxy.getInstance().getContextManager().getGlobalContext(), aliases), manager);
}
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/LocalChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/LocalChannel.java
new file mode 100644
index 00000000..e4400aa0
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/LocalChannel.java
@@ -0,0 +1,130 @@
+package xyz.olivermartin.multichat.proxy.common.channels;
+
+import java.util.List;
+import java.util.Set;
+import java.util.UUID;
+
+import net.md_5.bungee.api.CommandSender;
+import net.md_5.bungee.api.ProxyServer;
+import net.md_5.bungee.api.chat.TextComponent;
+import net.md_5.bungee.api.connection.ProxiedPlayer;
+import xyz.olivermartin.multichat.bungee.ChatControl;
+import xyz.olivermartin.multichat.bungee.MultiChat;
+import xyz.olivermartin.multichat.common.MultiChatUtil;
+
+public abstract class LocalChannel {
+
+ private String id;
+
+ private String desc;
+ private String format;
+ private List aliases;
+
+ private ChannelManager manager;
+
+ public LocalChannel(String id, String desc, String format, List aliases, ChannelManager manager) {
+ this.id = id;
+
+ this.desc = desc;
+ this.format = format;
+ this.aliases = aliases;
+
+ this.manager = manager;
+ }
+
+ /**
+ * Gets the ID of this channel
+ * @return the id
+ */
+ public String getId() {
+ return this.id;
+ }
+
+ /**
+ * Gets the description of this channel
+ * @return the description
+ */
+ public String getDiscription() {
+ return this.desc;
+ }
+
+ /**
+ * Gets the format of this channel
+ * @return the format
+ */
+ public String getFormat() {
+ return this.format;
+ }
+
+ /**
+ * Gets the aliases of this channel
+ * @return the aliases
+ */
+ public List getAliases() {
+ return this.aliases;
+ }
+
+ /**
+ * Gets the manager for this channel
+ * @return the manager
+ */
+ public ChannelManager getManager() {
+ return this.manager;
+ }
+
+ public void sendMessage(CommandSender sender, String message, String server) {
+
+ for (ProxiedPlayer receiver : ProxyServer.getInstance().getPlayers()) {
+
+ // Skip sending to this player if they shouldn't receive the message
+ if (receiver.getServer() == null // Receiver is between servers
+ || manager.isHidden(receiver.getUniqueId(), id)) // Receiver has hidden this channel
+ continue;
+
+ // If not on specified server then return
+ if (!receiver.getServer().getInfo().getName().equals(server)) continue;
+
+ if (MultiChat.legacyServers.contains(receiver.getServer().getInfo().getName())) {
+ message = MultiChatUtil.approximateHexCodes(message);
+ }
+
+ receiver.sendMessage(TextComponent.fromLegacyText(message));
+
+ }
+
+ }
+
+ public void distributeMessage(ProxiedPlayer sender, String message, String format, Set otherRecipients) {
+
+ // If the sender can't speak, or is between servers, then return
+ if (sender.getServer() == null) return;
+
+ String joined = format + message;
+
+ for (ProxiedPlayer receiver : ProxyServer.getInstance().getPlayers()) {
+
+ // Skip sending to this player if they shouldn't receive the message
+ if (receiver.getServer() == null // Receiver is between servers
+ || manager.isHidden(receiver.getUniqueId(), id)) // Receiver has hidden this channel
+ continue;
+
+ // If receiver is NOT in the other recipients list then leave processing (as this is local only)
+ if (!otherRecipients.contains(receiver.getUniqueId())) continue;
+
+ // If receiver ignores sender
+ if (ChatControl.ignores(sender.getUniqueId(), receiver.getUniqueId(), "global_chat")) {
+ ChatControl.sendIgnoreNotifications(receiver, sender, "global_chat");
+ continue;
+ }
+
+ if (MultiChat.legacyServers.contains(receiver.getServer().getInfo().getName())) {
+ joined = MultiChatUtil.approximateHexCodes(joined);
+ }
+
+ receiver.sendMessage(TextComponent.fromLegacyText(joined));
+
+ }
+
+ }
+
+}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/NetworkChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/NetworkChannel.java
index e7a12e67..0ab85ae1 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/NetworkChannel.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/NetworkChannel.java
@@ -1,5 +1,8 @@
package xyz.olivermartin.multichat.proxy.common.channels;
+import java.util.Set;
+import java.util.UUID;
+
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.chat.TextComponent;
@@ -83,7 +86,7 @@ public void sendMessage(CommandSender sender, String message) {
}
- public void distributeMessage(ProxiedPlayer sender, String message, String format) {
+ public void distributeMessage(ProxiedPlayer sender, String message, String format, Set otherRecipients) {
// If the sender can't speak, or is between servers, then return
if (!canSpeak(sender) || sender.getServer() == null) return;
@@ -96,8 +99,12 @@ public void distributeMessage(ProxiedPlayer sender, String message, String forma
// Skip sending to this player if they shouldn't receive the message
if (receiver.getServer() == null // Receiver is between servers
|| !canView(receiver) // Receiver is not permitted to view message
- || manager.isHidden(receiver.getUniqueId(), id) // Receiver has hidden this channel
- || receiver.getServer().getInfo().getName().equals(senderServer)) // Receiver is on same server as sender
+ || manager.isHidden(receiver.getUniqueId(), id)) // Receiver has hidden this channel
+ continue;
+
+ // If receiver is on the same server as the sender AND NOT in the other recipients list
+ if (receiver.getServer().getInfo().getName().equals(senderServer)
+ && !otherRecipients.contains(receiver.getUniqueId()))
continue;
// If receiver ignores sender
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyPlayerChatListener.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyPlayerChatListener.java
index 4e464c8c..8cd2780a 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyPlayerChatListener.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyPlayerChatListener.java
@@ -1,9 +1,10 @@
package xyz.olivermartin.multichat.proxy.common.listeners.communication;
import java.io.ByteArrayInputStream;
-import java.io.DataInputStream;
import java.io.IOException;
+import java.io.ObjectInputStream;
import java.util.Optional;
+import java.util.Set;
import java.util.UUID;
import net.md_5.bungee.api.ProxyServer;
@@ -11,11 +12,12 @@
import net.md_5.bungee.api.event.PluginMessageEvent;
import net.md_5.bungee.api.plugin.Listener;
import net.md_5.bungee.event.EventHandler;
-import xyz.olivermartin.multichat.bungee.LegacyChannel;
import xyz.olivermartin.multichat.bungee.DebugManager;
import xyz.olivermartin.multichat.bungee.PlayerMeta;
import xyz.olivermartin.multichat.bungee.PlayerMetaManager;
import xyz.olivermartin.multichat.common.communication.CommChannels;
+import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
+import xyz.olivermartin.multichat.proxy.common.channels.ChannelManager;
/**
* Listener for communication over the Player Chat communication channel
@@ -25,6 +27,7 @@
*/
public class ProxyPlayerChatListener implements Listener {
+ @SuppressWarnings("unchecked")
@EventHandler
public static void onPluginMessage(PluginMessageEvent event) {
@@ -42,14 +45,18 @@ public static void onPluginMessage(PluginMessageEvent event) {
*/
ByteArrayInputStream stream = new ByteArrayInputStream(event.getData());
- DataInputStream in = new DataInputStream(stream);
+
UUID uuid;
String channel;
String message;
String format;
+ Set otherRecipients;
try {
+
+ ObjectInputStream in = new ObjectInputStream(stream);
+
uuid = UUID.fromString(in.readUTF());
DebugManager.log("{multichat:pchat} UUID = " + uuid);
channel = in.readUTF();
@@ -57,7 +64,9 @@ public static void onPluginMessage(PluginMessageEvent event) {
message = in.readUTF();
DebugManager.log("{multichat:pchat} Message = " + message);
format = in.readUTF();
- } catch (IOException e) {
+ otherRecipients = (Set) in.readObject();
+
+ } catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
return;
}
@@ -77,14 +86,16 @@ public static void onPluginMessage(PluginMessageEvent event) {
DebugManager.log("{multichat:pchat} Got player successfully! Name = " + player.getName());
Optional opm = PlayerMetaManager.getInstance().getPlayer(uuid);
+ ChannelManager channelManager = MultiChatProxy.getInstance().getChannelManager();
if (opm.isPresent()) {
switch (channel) {
case "global":
- DebugManager.log("{multichat:pchat} Global Channel Available? = " + (LegacyChannel.getGlobalChannel() != null));
- LegacyChannel.getGlobalChannel().sendMessage(player, message, format);
+ //DebugManager.log("{multichat:pchat} Global Channel Available? = " + (LegacyChannel.getGlobalChannel() != null));
+ //LegacyChannel.getGlobalChannel().sendMessage(player, message, format);
+ channelManager.getGlobalChannel().distributeMessage(player, message, format, otherRecipients);
break;
case "local":
From 74c683c121c5cbed02aa26566b9b647ac70b60c6 Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Fri, 24 Jul 2020 16:12:09 +0100
Subject: [PATCH 041/188] Made changes to proxy channels, need to fix local
part
---
.../multichat/bungee/CastControl.java | 12 ++-
.../multichat/bungee/MultiChat.java | 4 +-
.../bungee/commands/MultiChatCommand.java | 4 +-
.../proxy/common/channels/Channel.java | 7 --
.../proxy/common/channels/ChannelManager.java | 37 +++----
...kChannel.java => DynamicProxyChannel.java} | 4 +-
...kChannel.java => GenericProxyChannel.java} | 97 +++++++++----------
.../proxy/common/channels/GlobalChannel.java | 13 ---
.../channels/GlobalStaticProxyChannel.java | 13 +++
.../proxy/common/channels/LocalChannel.java | 82 ++++++++--------
.../proxy/common/channels/ProxyChannel.java | 57 +++++++++++
...ChannelInfo.java => ProxyChannelInfo.java} | 4 +-
...rkChannel.java => StaticProxyChannel.java} | 4 +-
13 files changed, 199 insertions(+), 139 deletions(-)
delete mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/Channel.java
rename multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/{DynamicNetworkChannel.java => DynamicProxyChannel.java} (88%)
rename multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/{NetworkChannel.java => GenericProxyChannel.java} (82%)
delete mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalChannel.java
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalStaticProxyChannel.java
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ProxyChannel.java
rename multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/{ChannelInfo.java => ProxyChannelInfo.java} (91%)
rename multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/{StaticNetworkChannel.java => StaticProxyChannel.java} (91%)
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/CastControl.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/CastControl.java
index 20d55915..bd5a6a00 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/CastControl.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/CastControl.java
@@ -4,8 +4,10 @@
import java.util.Map;
import net.md_5.bungee.api.CommandSender;
+import net.md_5.bungee.api.connection.ProxiedPlayer;
import xyz.olivermartin.multichat.common.MultiChatUtil;
-import xyz.olivermartin.multichat.proxy.common.channels.NetworkChannel;
+import xyz.olivermartin.multichat.proxy.common.channels.ProxyChannel;
+import xyz.olivermartin.multichat.proxy.common.channels.GenericProxyChannel;
/**
* Cast Control
@@ -18,7 +20,13 @@ public class CastControl {
public static Map castList = new HashMap();
- public static void sendCast(String castName, String castMessage, NetworkChannel chatStream, CommandSender sender) {
+ public static void sendCast(String castName, String castMessage, ProxyChannel channel, ProxiedPlayer player) {
+ MultiChatProxy
+ castMessage = ChatControl.applyChatRules(castMessage, "casts", "").get();
+ chatStream.sendMessage(sender, castList.get(castName.toLowerCase()) + " " + castMessage);
+ }
+
+ public static void sendCast(String castName, String castMessage, GenericProxyChannel proxyChannel, CommandSender sender) {
castMessage = ChatControl.applyChatRules(castMessage, "casts", "").get();
chatStream.sendMessage(sender, castList.get(castName.toLowerCase()) + " " + castMessage);
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
index 727fd529..43129416 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
@@ -22,7 +22,7 @@
import xyz.olivermartin.multichat.proxy.common.ProxyLocalCommunicationManager;
import xyz.olivermartin.multichat.proxy.common.channels.ChannelManager;
import xyz.olivermartin.multichat.proxy.common.channels.ContextManager;
-import xyz.olivermartin.multichat.proxy.common.channels.GlobalChannel;
+import xyz.olivermartin.multichat.proxy.common.channels.GlobalStaticProxyChannel;
import xyz.olivermartin.multichat.proxy.common.channels.GlobalContext;
import xyz.olivermartin.multichat.proxy.common.listeners.communication.ProxyPlayerActionListener;
import xyz.olivermartin.multichat.proxy.common.listeners.communication.ProxyPlayerChatListener;
@@ -384,7 +384,7 @@ public void onEnable() {
MultiChatProxy.getInstance().registerContextManager(contextManager);
ChannelManager channelManager = new ChannelManager();
- channelManager.setGlobalChannel(new GlobalChannel("Global Channel", configYML.getString("globalformat"), ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("global"), channelManager));
+ channelManager.setGlobalChannel(new GlobalStaticProxyChannel("Global Channel", configYML.getString("globalformat"), ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("global"), channelManager));
MultiChatProxy.getInstance().registerChannelManager(channelManager);
///
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
index db393f14..38c78ef8 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
@@ -15,7 +15,7 @@
import xyz.olivermartin.multichat.bungee.MessageManager;
import xyz.olivermartin.multichat.bungee.MultiChat;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
-import xyz.olivermartin.multichat.proxy.common.channels.GlobalChannel;
+import xyz.olivermartin.multichat.proxy.common.channels.GlobalStaticProxyChannel;
import xyz.olivermartin.multichat.proxy.common.channels.GlobalContext;
/**
@@ -154,7 +154,7 @@ public void execute(CommandSender sender, String[] args) {
GlobalContext globalContext = new GlobalContext(defaultChannel, forceChannelOnJoin, true, noGlobalServers);
MultiChatProxy.getInstance().getContextManager().setGlobalContext(globalContext);
- MultiChatProxy.getInstance().getChannelManager().setGlobalChannel(new GlobalChannel("Global Channel", ConfigManager.getInstance().getHandler("config.yml").getConfig().getString("globalformat"), ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("global"), MultiChatProxy.getInstance().getChannelManager()));
+ MultiChatProxy.getInstance().getChannelManager().setGlobalChannel(new GlobalStaticProxyChannel("Global Channel", ConfigManager.getInstance().getHandler("config.yml").getConfig().getString("globalformat"), ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("global"), MultiChatProxy.getInstance().getChannelManager()));
///
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/Channel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/Channel.java
deleted file mode 100644
index 9d86ebea..00000000
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/Channel.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package xyz.olivermartin.multichat.proxy.common.channels;
-
-public interface Channel {
-
- /* Not yet implemented */
-
-}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelManager.java
index 0b58254a..5b083817 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelManager.java
@@ -13,44 +13,48 @@
public class ChannelManager {
- private NetworkChannel global;
+ // Local Channel Management
private LocalChannel local;
- private Map channels;
+ // Proxy Channel Management
+ private Map proxyChannels;
+ private GlobalStaticProxyChannel global;
+
+ // Player preferences for channels
private Map selectedChannels;
private Map> hiddenChannels;
public ChannelManager() {
- channels = new HashMap();
+ proxyChannels = new HashMap();
selectedChannels = new HashMap();
hiddenChannels = new HashMap>();
}
- public Optional getChannel(String channelId) {
- return Optional.ofNullable(channels.get(channelId));
+ public Optional getProxyChannel(String channelId) {
+ return Optional.ofNullable(proxyChannels.get(channelId));
}
- public NetworkChannel getChannel(ProxiedPlayer player) {
+ public String getChannel(ProxiedPlayer player) {
DebugManager.log("Getting channel for: " + player.getName());
-
UUID uuid = player.getUniqueId();
+
if (selectedChannels.containsKey(uuid)) {
DebugManager.log("Their UUID has a selected channel...");
String channel = selectedChannels.get(uuid);
DebugManager.log("Their channel=" + channel);
- return channels.get(channel);
+ return channel;
} else {
DebugManager.log("They don't yet have a selected channel");
ContextManager cm = MultiChatProxy.getInstance().getContextManager();
String defaultChannel = cm.getContext(player).getDefaultChannel();
DebugManager.log("Default channel for their context is..." + defaultChannel);
select(player.getUniqueId(), defaultChannel);
- return channels.get(defaultChannel);
+ return defaultChannel;
}
}
- public NetworkChannel getGlobalChannel() {
+ public GlobalStaticProxyChannel getGlobalChannel() {
return this.global;
}
@@ -58,19 +62,18 @@ public LocalChannel getLocalChannel() {
return this.local;
}
- public void setGlobalChannel(GlobalChannel global) {
+ public void setGlobalChannel(GlobalStaticProxyChannel global) {
this.global = global;
- channels.remove("global");
- channels.put("global", global);
+ proxyChannels.remove("global");
+ proxyChannels.put("global", global);
}
public void setLocalChannel(LocalChannel local) {
this.local = local;
}
- public boolean existsChannel(String channelId) {
- if (channelId.equals("local")) return true;
- return channels.containsKey(channelId);
+ public boolean existsProxyChannel(String channelId) {
+ return proxyChannels.containsKey(channelId);
}
public void hide(UUID uuid, String channelId) {
@@ -91,7 +94,7 @@ public boolean isHidden(UUID uuid, String channelId) {
}
public boolean select(UUID uuid, String channelId) {
- if (existsChannel(channelId)) {
+ if (existsProxyChannel(channelId)) {
selectedChannels.put(uuid, channelId);
return true;
} else {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/DynamicNetworkChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/DynamicProxyChannel.java
similarity index 88%
rename from multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/DynamicNetworkChannel.java
rename to multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/DynamicProxyChannel.java
index 593308c5..1d66e7b3 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/DynamicNetworkChannel.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/DynamicProxyChannel.java
@@ -6,12 +6,12 @@
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.connection.ProxiedPlayer;
-public class DynamicNetworkChannel extends NetworkChannel {
+public class DynamicProxyChannel extends GenericProxyChannel {
private boolean blacklistMembers; // Should member list of the channel be a blacklist or whitelist
private Set members; // Member list of the channel
- public DynamicNetworkChannel(String id, ChannelInfo info, ChannelManager manager, boolean blacklistMembers, Set members) {
+ public DynamicProxyChannel(String id, ProxyChannelInfo info, ChannelManager manager, boolean blacklistMembers, Set members) {
super(id, info, manager);
this.blacklistMembers = blacklistMembers;
this.members = members;
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/NetworkChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GenericProxyChannel.java
similarity index 82%
rename from multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/NetworkChannel.java
rename to multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GenericProxyChannel.java
index 0ab85ae1..b88774f8 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/NetworkChannel.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GenericProxyChannel.java
@@ -13,79 +13,44 @@
import xyz.olivermartin.multichat.bungee.events.PostBroadcastEvent;
import xyz.olivermartin.multichat.bungee.events.PostGlobalChatEvent;
import xyz.olivermartin.multichat.common.MultiChatUtil;
+import xyz.olivermartin.multichat.proxy.common.ProxyLocalCommunicationManager;
-public abstract class NetworkChannel {
+public abstract class GenericProxyChannel implements ProxyChannel {
private String id;
- private ChannelInfo info;
+ private ProxyChannelInfo info;
private ChannelManager manager;
- public NetworkChannel(String id, ChannelInfo info, ChannelManager manager) {
+ public GenericProxyChannel(String id, ProxyChannelInfo info, ChannelManager manager) {
this.id = id;
this.info = info;
this.manager = manager;
}
- /**
- * Gets the ID of this channel
- * @return the id
- */
+ @Override
public String getId() {
return this.id;
}
- /**
- * Gets the info for this channel
- * @return the info
- */
- public ChannelInfo getInfo() {
+ @Override
+ public ProxyChannelInfo getInfo() {
return this.info;
}
+ @Override
+ public ChannelManager getManager() {
+ return this.manager;
+ }
+
/**
* Updates the ChannelInfo used for this channel
* @param info The new info for the channel
*/
- public void updateInfo(ChannelInfo info) {
+ public void updateInfo(ProxyChannelInfo info) {
this.info = info;
}
- /**
- * Gets the manager for this channel
- * @return the manager
- */
- public ChannelManager getManager() {
- return this.manager;
- }
-
- public void sendMessage(CommandSender sender, String message) {
-
- // If the sender can't speak then return
- if (!canSpeak(sender)) return;
-
- for (ProxiedPlayer receiver : ProxyServer.getInstance().getPlayers()) {
-
- // Skip sending to this player if they shouldn't receive the message
- if (receiver.getServer() == null // Receiver is between servers
- || !canView(receiver) // Receiver is not permitted to view message
- || manager.isHidden(receiver.getUniqueId(), id)) // Receiver has hidden this channel
- continue;
-
- if (MultiChat.legacyServers.contains(receiver.getServer().getInfo().getName())) {
- message = MultiChatUtil.approximateHexCodes(message);
- }
-
- receiver.sendMessage(TextComponent.fromLegacyText(message));
-
- }
-
- // Trigger PostBroadcastEvent
- ProxyServer.getInstance().getPluginManager().callEvent(new PostBroadcastEvent("cast", message));
-
- ConsoleManager.logDisplayMessage(message);
-
- }
-
+ @Override
public void distributeMessage(ProxiedPlayer sender, String message, String format, Set otherRecipients) {
// If the sender can't speak, or is between servers, then return
@@ -128,6 +93,40 @@ public void distributeMessage(ProxiedPlayer sender, String message, String forma
}
+ @Override
+ public void sendMessage(ProxiedPlayer sender, String message) {
+ ProxyLocalCommunicationManager.sendPlayerDirectChatMessage(getId(), sender.getName(), message, sender.getServer().getInfo());
+ }
+
+ @Override
+ public void broadcastRawMessage(CommandSender sender, String message) {
+
+ // If the sender can't speak then return
+ if (!canSpeak(sender)) return;
+
+ for (ProxiedPlayer receiver : ProxyServer.getInstance().getPlayers()) {
+
+ // Skip sending to this player if they shouldn't receive the message
+ if (receiver.getServer() == null // Receiver is between servers
+ || !canView(receiver) // Receiver is not permitted to view message
+ || manager.isHidden(receiver.getUniqueId(), id)) // Receiver has hidden this channel
+ continue;
+
+ if (MultiChat.legacyServers.contains(receiver.getServer().getInfo().getName())) {
+ message = MultiChatUtil.approximateHexCodes(message);
+ }
+
+ receiver.sendMessage(TextComponent.fromLegacyText(message));
+
+ }
+
+ // Trigger PostBroadcastEvent
+ ProxyServer.getInstance().getPluginManager().callEvent(new PostBroadcastEvent("cast", message));
+
+ ConsoleManager.logDisplayMessage(message);
+
+ }
+
/**
* Checks if this command sender is allowed to speak in the channel
* @param sender The command sender
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalChannel.java
deleted file mode 100644
index b1f1fa9e..00000000
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalChannel.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package xyz.olivermartin.multichat.proxy.common.channels;
-
-import java.util.List;
-
-import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
-
-public class GlobalChannel extends StaticNetworkChannel {
-
- public GlobalChannel(String desc, String format, List aliases, ChannelManager manager) {
- super("global", new ChannelInfo(desc, format, false, MultiChatProxy.getInstance().getContextManager().getGlobalContext(), aliases), manager);
- }
-
-}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalStaticProxyChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalStaticProxyChannel.java
new file mode 100644
index 00000000..69919cb9
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalStaticProxyChannel.java
@@ -0,0 +1,13 @@
+package xyz.olivermartin.multichat.proxy.common.channels;
+
+import java.util.List;
+
+import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
+
+public class GlobalStaticProxyChannel extends StaticProxyChannel {
+
+ public GlobalStaticProxyChannel(String desc, String format, List aliases, ChannelManager manager) {
+ super("global", new ProxyChannelInfo(desc, format, false, MultiChatProxy.getInstance().getContextManager().getGlobalContext(), aliases), manager);
+ }
+
+}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/LocalChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/LocalChannel.java
index e4400aa0..db89723f 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/LocalChannel.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/LocalChannel.java
@@ -11,8 +11,9 @@
import xyz.olivermartin.multichat.bungee.ChatControl;
import xyz.olivermartin.multichat.bungee.MultiChat;
import xyz.olivermartin.multichat.common.MultiChatUtil;
+import xyz.olivermartin.multichat.proxy.common.ProxyLocalCommunicationManager;
-public abstract class LocalChannel {
+public class LocalChannel {
private String id;
@@ -23,6 +24,7 @@ public abstract class LocalChannel {
private ChannelManager manager;
public LocalChannel(String id, String desc, String format, List aliases, ChannelManager manager) {
+
this.id = id;
this.desc = desc;
@@ -30,49 +32,41 @@ public LocalChannel(String id, String desc, String format, List aliases,
this.aliases = aliases;
this.manager = manager;
+
}
- /**
- * Gets the ID of this channel
- * @return the id
- */
+ @Override
public String getId() {
return this.id;
}
- /**
- * Gets the description of this channel
- * @return the description
- */
- public String getDiscription() {
+ @Override
+ public String getDescription() {
return this.desc;
}
- /**
- * Gets the format of this channel
- * @return the format
- */
+ @Override
public String getFormat() {
return this.format;
}
- /**
- * Gets the aliases of this channel
- * @return the aliases
- */
+ @Override
public List getAliases() {
return this.aliases;
}
- /**
- * Gets the manager for this channel
- * @return the manager
- */
+ @Override
public ChannelManager getManager() {
return this.manager;
}
- public void sendMessage(CommandSender sender, String message, String server) {
+ @Override
+ public void distributeMessage(ProxiedPlayer sender, String message, String format, Set otherRecipients) {
+
+ // If the sender can't speak, or is between servers, then return
+ if (sender.getServer() == null) return;
+
+ String joined = format + message;
for (ProxiedPlayer receiver : ProxyServer.getInstance().getPlayers()) {
@@ -81,25 +75,37 @@ public void sendMessage(CommandSender sender, String message, String server) {
|| manager.isHidden(receiver.getUniqueId(), id)) // Receiver has hidden this channel
continue;
- // If not on specified server then return
- if (!receiver.getServer().getInfo().getName().equals(server)) continue;
+ // If receiver is NOT in the other recipients list then leave processing (as this is local only)
+ if (!otherRecipients.contains(receiver.getUniqueId())) continue;
+
+ // If receiver ignores sender
+ if (ChatControl.ignores(sender.getUniqueId(), receiver.getUniqueId(), "global_chat")) {
+ ChatControl.sendIgnoreNotifications(receiver, sender, "global_chat");
+ continue;
+ }
if (MultiChat.legacyServers.contains(receiver.getServer().getInfo().getName())) {
- message = MultiChatUtil.approximateHexCodes(message);
+ joined = MultiChatUtil.approximateHexCodes(joined);
}
- receiver.sendMessage(TextComponent.fromLegacyText(message));
+ receiver.sendMessage(TextComponent.fromLegacyText(joined));
}
}
- public void distributeMessage(ProxiedPlayer sender, String message, String format, Set otherRecipients) {
+ @Override
+ public void sendMessage(ProxiedPlayer sender, String message) {
+ ProxyLocalCommunicationManager.sendPlayerDirectChatMessage(getId(), sender.getName(), message, sender.getServer().getInfo());
+ }
- // If the sender can't speak, or is between servers, then return
- if (sender.getServer() == null) return;
+ @Override
+ public void broadcastRawMessage(ProxiedPlayer sender, String message) {
+ broadcastRawServerMessage(sender, sender.getServer().getInfo().getName(), message);
+ }
- String joined = format + message;
+ @Override
+ public void broadcastRawServerMessage(CommandSender sender, String server, String message) {
for (ProxiedPlayer receiver : ProxyServer.getInstance().getPlayers()) {
@@ -108,20 +114,14 @@ public void distributeMessage(ProxiedPlayer sender, String message, String forma
|| manager.isHidden(receiver.getUniqueId(), id)) // Receiver has hidden this channel
continue;
- // If receiver is NOT in the other recipients list then leave processing (as this is local only)
- if (!otherRecipients.contains(receiver.getUniqueId())) continue;
-
- // If receiver ignores sender
- if (ChatControl.ignores(sender.getUniqueId(), receiver.getUniqueId(), "global_chat")) {
- ChatControl.sendIgnoreNotifications(receiver, sender, "global_chat");
- continue;
- }
+ // If not on specified server then return
+ if (!receiver.getServer().getInfo().getName().equals(server)) continue;
if (MultiChat.legacyServers.contains(receiver.getServer().getInfo().getName())) {
- joined = MultiChatUtil.approximateHexCodes(joined);
+ message = MultiChatUtil.approximateHexCodes(message);
}
- receiver.sendMessage(TextComponent.fromLegacyText(joined));
+ receiver.sendMessage(TextComponent.fromLegacyText(message));
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ProxyChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ProxyChannel.java
new file mode 100644
index 00000000..55630aaa
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ProxyChannel.java
@@ -0,0 +1,57 @@
+package xyz.olivermartin.multichat.proxy.common.channels;
+
+import java.util.Set;
+import java.util.UUID;
+
+import net.md_5.bungee.api.CommandSender;
+import net.md_5.bungee.api.connection.ProxiedPlayer;
+
+public interface ProxyChannel {
+
+ /**
+ * Gets the ID of this proxy channel
+ * @return the id
+ */
+ public String getId();
+
+ /**
+ * Gets the info for this proxy channel
+ * @return the info
+ */
+ public ProxyChannelInfo getInfo();
+
+ /**
+ * Gets the channel manager for this channel
+ * @return the manager
+ */
+ public ChannelManager getManager();
+
+ /**
+ * Distributes the chat message to all remaining players
+ * MultiChat works by first handling the message formatting on each local server.
+ * This message is ONLY sent to the sender locally... It is then forwarded to the proxy to distribute.
+ * @param sender The sender of the message
+ * @param message The message to send
+ * @param format The format before the message part
+ * @param otherRecipients The recipients the message was intended for on the local server (excluding the sender)
+ */
+ public void distributeMessage(ProxiedPlayer sender, String message, String format, Set otherRecipients);
+
+ /**
+ * Sends a chat message from a player to the local server to be sent
+ * MultiChat works by first handling the message formatting on each local server.
+ * This message is ONLY sent to the sender locally... It is then forwarded to the proxy to distribute.
+ * @param sender The sender of the message
+ * @param message The message to send
+ */
+ public void sendMessage(ProxiedPlayer sender, String message);
+
+ /**
+ * Broadcasts a raw message to this channel
+ * This sends a message directly to all permitted viewers on the proxy only
+ * @param sender The sender of the message
+ * @param message The message to send
+ */
+ public void broadcastRawMessage(CommandSender sender, String message);
+
+}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelInfo.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ProxyChannelInfo.java
similarity index 91%
rename from multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelInfo.java
rename to multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ProxyChannelInfo.java
index 9514fea9..b5410608 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelInfo.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ProxyChannelInfo.java
@@ -5,7 +5,7 @@
import net.md_5.bungee.api.CommandSender;
-public class ChannelInfo {
+public class ProxyChannelInfo {
private String desc; // A short description of the channel
private String format; // The format of this channel
@@ -16,7 +16,7 @@ public class ChannelInfo {
private String permission; // Permission to view / speak
private String viewPermission; // Permission to view only
- public ChannelInfo(String desc, String format, boolean unhideable, Context context, List aliases) {
+ public ProxyChannelInfo(String desc, String format, boolean unhideable, Context context, List aliases) {
this.desc = desc;
this.format = format;
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/StaticNetworkChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/StaticProxyChannel.java
similarity index 91%
rename from multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/StaticNetworkChannel.java
rename to multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/StaticProxyChannel.java
index a0b86d3d..56de8ac4 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/StaticNetworkChannel.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/StaticProxyChannel.java
@@ -2,7 +2,7 @@
import net.md_5.bungee.api.CommandSender;
-public class StaticNetworkChannel extends NetworkChannel {
+public class StaticProxyChannel extends GenericProxyChannel {
/*public static class Builder {
@@ -87,7 +87,7 @@ public StaticNetworkChannel build() {
}*/
- public StaticNetworkChannel(String id, ChannelInfo info, ChannelManager manager) {
+ public StaticProxyChannel(String id, ProxyChannelInfo info, ChannelManager manager) {
super(id, info, manager);
}
From 8415e0c46e1224034f63a4cf523ccbebf4618436 Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Sun, 26 Jul 2020 21:01:17 +0100
Subject: [PATCH 042/188] Attempt to implement the local chat with new channels
---
.../multichat/bungee/CastControl.java | 14 ++++-----
.../olivermartin/multichat/bungee/Events.java | 21 ++++++++-----
.../bungee/commands/ChannelCommand.java | 2 +-
.../bungee/commands/GlobalCommand.java | 2 +-
.../bungee/commands/LocalCommand.java | 2 +-
.../chat/LocalChatListenerMonitor.java | 8 ++---
.../proxy/common/channels/ChannelManager.java | 10 ++++++
.../proxy/common/channels/ChannelMode.java | 6 ++++
.../proxy/common/channels/LocalChannel.java | 31 +++----------------
.../ProxyPlayerChatListener.java | 3 +-
10 files changed, 50 insertions(+), 49 deletions(-)
create mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelMode.java
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/CastControl.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/CastControl.java
index bd5a6a00..9d99115a 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/CastControl.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/CastControl.java
@@ -4,10 +4,9 @@
import java.util.Map;
import net.md_5.bungee.api.CommandSender;
-import net.md_5.bungee.api.connection.ProxiedPlayer;
import xyz.olivermartin.multichat.common.MultiChatUtil;
+import xyz.olivermartin.multichat.proxy.common.channels.LocalChannel;
import xyz.olivermartin.multichat.proxy.common.channels.ProxyChannel;
-import xyz.olivermartin.multichat.proxy.common.channels.GenericProxyChannel;
/**
* Cast Control
@@ -20,15 +19,14 @@ public class CastControl {
public static Map castList = new HashMap();
- public static void sendCast(String castName, String castMessage, ProxyChannel channel, ProxiedPlayer player) {
- MultiChatProxy
+ public static void sendCast(String castName, String castMessage, ProxyChannel channel, CommandSender sender) {
castMessage = ChatControl.applyChatRules(castMessage, "casts", "").get();
- chatStream.sendMessage(sender, castList.get(castName.toLowerCase()) + " " + castMessage);
+ channel.broadcastRawMessage(sender, castList.get(castName.toLowerCase()) + " " + castMessage);
}
-
- public static void sendCast(String castName, String castMessage, GenericProxyChannel proxyChannel, CommandSender sender) {
+
+ public static void sendCast(String castName, String castMessage, LocalChannel channel, String server, CommandSender sender) {
castMessage = ChatControl.applyChatRules(castMessage, "casts", "").get();
- chatStream.sendMessage(sender, castList.get(castName.toLowerCase()) + " " + castMessage);
+ channel.broadcastRawMessage(sender, server, castList.get(castName.toLowerCase()) + " " + castMessage);
}
public static void addCast(String castName, String castFormat) {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java
index 512f6c80..7eef5b41 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java
@@ -33,6 +33,8 @@
import xyz.olivermartin.multichat.proxy.common.ProxyDataStore;
import xyz.olivermartin.multichat.proxy.common.ProxyLocalCommunicationManager;
import xyz.olivermartin.multichat.proxy.common.channels.ChannelManager;
+import xyz.olivermartin.multichat.proxy.common.channels.ChannelMode;
+import xyz.olivermartin.multichat.proxy.common.channels.ProxyChannel;
/**
* Events Manager
@@ -327,7 +329,16 @@ public void onChat(ChatEvent event) {
String message = MultiChatUtil.getMessageFromArgs(parts, 1);
- CastControl.sendCast(parts[0].substring(1),message,channelManager.getChannel(player), playerSender);
+ if (channelManager.getChannelMode(player.getUniqueId()) == ChannelMode.LOCAL) {
+
+ CastControl.sendCast(parts[0].substring(1),message,channelManager.getLocalChannel(), player.getServer().getInfo().getName(), playerSender);
+
+ } else {
+
+ ProxyChannel pc = channelManager.getProxyChannel(channelManager.getChannel(player)).get(); // TODO unsafe
+ CastControl.sendCast(parts[0].substring(1),message,pc, playerSender);
+
+ }
event.setCancelled(true);
@@ -400,11 +411,7 @@ public void onChat(ChatEvent event) {
// Let server know players channel preference
- DebugManager.log("!!!!! : " + channelManager.getChannel(player).toString());
- DebugManager.log("!!!!! : " + channelManager.getChannel(player).getId());
- DebugManager.log("!!!!! : " + player.getServer().getInfo().getName());
-
- ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), channelManager.getChannel(player).getId(), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
+ ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), channelManager.getChannel(player), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
// Message passes through to spigot here
@@ -645,7 +652,7 @@ public void onServerSwitch(ServerSwitchEvent event) {
ProxyServer.getInstance().getScheduler().schedule(MultiChatProxy.getInstance().getPlugin(), new Runnable() {
public void run() {
- ProxyLocalCommunicationManager.sendPlayerDataMessage(event.getPlayer().getName(), MultiChatProxy.getInstance().getChannelManager().getChannel(event.getPlayer()).getId(), event.getPlayer().getServer().getInfo(), (event.getPlayer().hasPermission("multichat.chat.colour")||event.getPlayer().hasPermission("multichat.chat.color")||event.getPlayer().hasPermission("multichat.chat.colour.simple")||event.getPlayer().hasPermission("multichat.chat.color.simple")), (event.getPlayer().hasPermission("multichat.chat.colour")||event.getPlayer().hasPermission("multichat.chat.color")||event.getPlayer().hasPermission("multichat.chat.colour.rgb")||event.getPlayer().hasPermission("multichat.chat.color.rgb")));
+ ProxyLocalCommunicationManager.sendPlayerDataMessage(event.getPlayer().getName(), MultiChatProxy.getInstance().getChannelManager().getChannel(event.getPlayer()), event.getPlayer().getServer().getInfo(), (event.getPlayer().hasPermission("multichat.chat.colour")||event.getPlayer().hasPermission("multichat.chat.color")||event.getPlayer().hasPermission("multichat.chat.colour.simple")||event.getPlayer().hasPermission("multichat.chat.color.simple")), (event.getPlayer().hasPermission("multichat.chat.colour")||event.getPlayer().hasPermission("multichat.chat.color")||event.getPlayer().hasPermission("multichat.chat.colour.rgb")||event.getPlayer().hasPermission("multichat.chat.color.rgb")));
ProxyLocalCommunicationManager.sendLegacyServerData(event.getPlayer().getServer().getInfo());
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ChannelCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ChannelCommand.java
index aa61d1a3..9f51e22b 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ChannelCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/ChannelCommand.java
@@ -141,7 +141,7 @@ public void execute(CommandSender sender, String[] args) {
// Update local channel info
for (ProxiedPlayer p : ProxyServer.getInstance().getPlayers()) {
- ProxyLocalCommunicationManager.sendPlayerDataMessage(p.getName(), channelManager.getChannel(p).getId(), p.getServer().getInfo(), (p.hasPermission("multichat.chat.colour")||p.hasPermission("multichat.chat.color")||p.hasPermission("multichat.chat.colour.simple")||p.hasPermission("multichat.chat.color.simple")), (p.hasPermission("multichat.chat.colour")||p.hasPermission("multichat.chat.color")||p.hasPermission("multichat.chat.colour.rgb")||p.hasPermission("multichat.chat.color.rgb")));
+ ProxyLocalCommunicationManager.sendPlayerDataMessage(p.getName(), channelManager.getChannel(p), p.getServer().getInfo(), (p.hasPermission("multichat.chat.colour")||p.hasPermission("multichat.chat.color")||p.hasPermission("multichat.chat.colour.simple")||p.hasPermission("multichat.chat.color.simple")), (p.hasPermission("multichat.chat.colour")||p.hasPermission("multichat.chat.color")||p.hasPermission("multichat.chat.colour.rgb")||p.hasPermission("multichat.chat.color.rgb")));
}
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GlobalCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GlobalCommand.java
index ee2b5c54..6fed9a65 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GlobalCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/GlobalCommand.java
@@ -90,7 +90,7 @@ public void execute(CommandSender sender, String[] args) {
}
// Let server know players channel preference
- ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), channelManager.getChannel(player).getId(), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
+ ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), channelManager.getChannel(player), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
// Message passes through to spigot here
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/LocalCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/LocalCommand.java
index 93c9163e..51bd9bf3 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/LocalCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/LocalCommand.java
@@ -86,7 +86,7 @@ public void execute(CommandSender sender, String[] args) {
}
// Let server know players channel preference
- ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), channelManager.getChannel(player).getId(), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
+ ProxyLocalCommunicationManager.sendPlayerDataMessage(player.getName(), channelManager.getChannel(player), player.getServer().getInfo(), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.simple")||player.hasPermission("multichat.chat.color.simple")), (player.hasPermission("multichat.chat.colour")||player.hasPermission("multichat.chat.color")||player.hasPermission("multichat.chat.colour.rgb")||player.hasPermission("multichat.chat.color.rgb")));
// Message passes through to spigot here
// Send message directly to local chat...
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/chat/LocalChatListenerMonitor.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/chat/LocalChatListenerMonitor.java
index 390fbd14..b47f38de 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/chat/LocalChatListenerMonitor.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/chat/LocalChatListenerMonitor.java
@@ -32,14 +32,14 @@ public void handleChat(MultiChatLocalPlayerChatEvent event) {
MultiChatLocal.getInstance().getConsoleLogger().debug("#CHAT@MONITOR - The message isn't cancelled!");
// IF ITS LOCAL CHAT WE CAN IGNORE IT
- if (!chatManager.isGlobalChatServer() || channel.equalsIgnoreCase("local")) {
+ /*if (!chatManager.isGlobalChatServer() || channel.equalsIgnoreCase("local")) {
MultiChatLocal.getInstance().getConsoleLogger().debug("#CHAT@MONITOR - We are speaking into local chat, so at this point we are returning! Bye!");
return;
- }
+ }*/
// IF WE ARE MANAGING GLOBAL CHAT THEN WE NEED TO MANAGE IT!
- MultiChatLocal.getInstance().getConsoleLogger().debug("#CHAT@MONITOR - We are in global chat... SO TIME TO FORWARD TO PROXY!");
+ MultiChatLocal.getInstance().getConsoleLogger().debug("#CHAT@MONITOR - TIME TO FORWARD TO PROXY!");
MultiChatLocal.getInstance().getConsoleLogger().debug("#CHAT@MONITOR - First we are sending their meta data...");
MultiChatLocal.getInstance().getProxyCommunicationManager().updatePlayerMeta(event.getPlayer().getUniqueId());
@@ -79,7 +79,7 @@ public void handleChat(MultiChatLocalPlayerChatEvent event) {
}
- MultiChatLocal.getInstance().getProxyCommunicationManager().sendPlayerChatMessage(event.getPlayer().getUniqueId(), "global", proxyMessage, proxyFormat, originalRecipients);
+ MultiChatLocal.getInstance().getProxyCommunicationManager().sendPlayerChatMessage(event.getPlayer().getUniqueId(), channel, proxyMessage, proxyFormat, originalRecipients);
MultiChatLocal.getInstance().getConsoleLogger().debug("#CHAT@MONITOR - Aaaaand we sent it to the proxy! ALL DONE.");
MultiChatLocal.getInstance().getConsoleLogger().debug("#CHAT@MONITOR - UUID: " + event.getPlayer().getUniqueId());
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelManager.java
index 5b083817..8dea3510 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelManager.java
@@ -54,6 +54,16 @@ public String getChannel(ProxiedPlayer player) {
}
}
+ public ChannelMode getChannelMode(UUID uuid) {
+
+ if (selectedChannels.containsKey(uuid)) {
+ if (selectedChannels.get(uuid).equals("local")) return ChannelMode.LOCAL;
+ }
+
+ return ChannelMode.PROXY;
+
+ }
+
public GlobalStaticProxyChannel getGlobalChannel() {
return this.global;
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelMode.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelMode.java
new file mode 100644
index 00000000..6aa3fecc
--- /dev/null
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelMode.java
@@ -0,0 +1,6 @@
+package xyz.olivermartin.multichat.proxy.common.channels;
+
+public enum ChannelMode {
+ PROXY,
+ LOCAL
+}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/LocalChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/LocalChannel.java
index db89723f..ef99f3ec 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/LocalChannel.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/LocalChannel.java
@@ -15,17 +15,13 @@
public class LocalChannel {
- private String id;
-
private String desc;
private String format;
private List aliases;
private ChannelManager manager;
- public LocalChannel(String id, String desc, String format, List aliases, ChannelManager manager) {
-
- this.id = id;
+ public LocalChannel(String desc, String format, List aliases, ChannelManager manager) {
this.desc = desc;
this.format = format;
@@ -35,32 +31,22 @@ public LocalChannel(String id, String desc, String format, List aliases,
}
- @Override
- public String getId() {
- return this.id;
- }
-
- @Override
public String getDescription() {
return this.desc;
}
- @Override
public String getFormat() {
return this.format;
}
- @Override
public List getAliases() {
return this.aliases;
}
- @Override
public ChannelManager getManager() {
return this.manager;
}
- @Override
public void distributeMessage(ProxiedPlayer sender, String message, String format, Set otherRecipients) {
// If the sender can't speak, or is between servers, then return
@@ -72,7 +58,7 @@ public void distributeMessage(ProxiedPlayer sender, String message, String forma
// Skip sending to this player if they shouldn't receive the message
if (receiver.getServer() == null // Receiver is between servers
- || manager.isHidden(receiver.getUniqueId(), id)) // Receiver has hidden this channel
+ || manager.isHidden(receiver.getUniqueId(), "local")) // Receiver has hidden this channel
continue;
// If receiver is NOT in the other recipients list then leave processing (as this is local only)
@@ -94,24 +80,17 @@ public void distributeMessage(ProxiedPlayer sender, String message, String forma
}
- @Override
public void sendMessage(ProxiedPlayer sender, String message) {
- ProxyLocalCommunicationManager.sendPlayerDirectChatMessage(getId(), sender.getName(), message, sender.getServer().getInfo());
- }
-
- @Override
- public void broadcastRawMessage(ProxiedPlayer sender, String message) {
- broadcastRawServerMessage(sender, sender.getServer().getInfo().getName(), message);
+ ProxyLocalCommunicationManager.sendPlayerDirectChatMessage("local", sender.getName(), message, sender.getServer().getInfo());
}
- @Override
- public void broadcastRawServerMessage(CommandSender sender, String server, String message) {
+ public void broadcastRawMessage(CommandSender sender, String server, String message) {
for (ProxiedPlayer receiver : ProxyServer.getInstance().getPlayers()) {
// Skip sending to this player if they shouldn't receive the message
if (receiver.getServer() == null // Receiver is between servers
- || manager.isHidden(receiver.getUniqueId(), id)) // Receiver has hidden this channel
+ || manager.isHidden(receiver.getUniqueId(), "local")) // Receiver has hidden this channel
continue;
// If not on specified server then return
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyPlayerChatListener.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyPlayerChatListener.java
index 8cd2780a..e89656d6 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyPlayerChatListener.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/listeners/communication/ProxyPlayerChatListener.java
@@ -99,7 +99,8 @@ public static void onPluginMessage(PluginMessageEvent event) {
break;
case "local":
- DebugManager.log("{multichat:pchat} LOCAL SPY MESSAGE - Not yet implemented...?");
+ DebugManager.log("{multichat:pchat} LOCAL SPY MESSAGE - Not yet implemented...?"); // TODO ?!
+ channelManager.getLocalChannel().distributeMessage(player, message, format, otherRecipients);
break;
default:
From ac6361c630313c06302134ac4792f5ec3ea14f57 Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Sun, 26 Jul 2020 21:08:43 +0100
Subject: [PATCH 043/188] Fix registering of local channel
---
.../java/xyz/olivermartin/multichat/bungee/MultiChat.java | 4 +++-
.../multichat/bungee/commands/MultiChatCommand.java | 4 +++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
index 43129416..150c02d5 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
@@ -22,8 +22,9 @@
import xyz.olivermartin.multichat.proxy.common.ProxyLocalCommunicationManager;
import xyz.olivermartin.multichat.proxy.common.channels.ChannelManager;
import xyz.olivermartin.multichat.proxy.common.channels.ContextManager;
-import xyz.olivermartin.multichat.proxy.common.channels.GlobalStaticProxyChannel;
import xyz.olivermartin.multichat.proxy.common.channels.GlobalContext;
+import xyz.olivermartin.multichat.proxy.common.channels.GlobalStaticProxyChannel;
+import xyz.olivermartin.multichat.proxy.common.channels.LocalChannel;
import xyz.olivermartin.multichat.proxy.common.listeners.communication.ProxyPlayerActionListener;
import xyz.olivermartin.multichat.proxy.common.listeners.communication.ProxyPlayerChatListener;
import xyz.olivermartin.multichat.proxy.common.listeners.communication.ProxyPlayerMetaListener;
@@ -385,6 +386,7 @@ public void onEnable() {
ChannelManager channelManager = new ChannelManager();
channelManager.setGlobalChannel(new GlobalStaticProxyChannel("Global Channel", configYML.getString("globalformat"), ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("global"), channelManager));
+ channelManager.setLocalChannel(new LocalChannel("Local Channel", configYML.getString("globalformat"), ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("local"), channelManager));
MultiChatProxy.getInstance().registerChannelManager(channelManager);
///
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
index 38c78ef8..8d1159d5 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
@@ -15,8 +15,9 @@
import xyz.olivermartin.multichat.bungee.MessageManager;
import xyz.olivermartin.multichat.bungee.MultiChat;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
-import xyz.olivermartin.multichat.proxy.common.channels.GlobalStaticProxyChannel;
import xyz.olivermartin.multichat.proxy.common.channels.GlobalContext;
+import xyz.olivermartin.multichat.proxy.common.channels.GlobalStaticProxyChannel;
+import xyz.olivermartin.multichat.proxy.common.channels.LocalChannel;
/**
* MultiChat (Admin) Command
@@ -155,6 +156,7 @@ public void execute(CommandSender sender, String[] args) {
MultiChatProxy.getInstance().getContextManager().setGlobalContext(globalContext);
MultiChatProxy.getInstance().getChannelManager().setGlobalChannel(new GlobalStaticProxyChannel("Global Channel", ConfigManager.getInstance().getHandler("config.yml").getConfig().getString("globalformat"), ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("global"), MultiChatProxy.getInstance().getChannelManager()));
+ MultiChatProxy.getInstance().getChannelManager().setLocalChannel(new LocalChannel("Local Channel", ConfigManager.getInstance().getHandler("config.yml").getConfig().getString("globalformat"), ConfigManager.getInstance().getHandler("aliases.yml").getConfig().getStringList("local"), MultiChatProxy.getInstance().getChannelManager()));
///
From b77a47e8c56a3194c9ef59130ba503108f7369dc Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Sun, 26 Jul 2020 21:13:51 +0100
Subject: [PATCH 044/188] Fix a bug with selecting channels
---
.../multichat/proxy/common/channels/ChannelManager.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelManager.java
index 8dea3510..1b7a7148 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelManager.java
@@ -104,7 +104,7 @@ public boolean isHidden(UUID uuid, String channelId) {
}
public boolean select(UUID uuid, String channelId) {
- if (existsProxyChannel(channelId)) {
+ if (existsProxyChannel(channelId) || channelId.equals("local")) {
selectedChannels.put(uuid, channelId);
return true;
} else {
From bb6b2b821a2cebabe84103ef953a9e23bb9ab4e4 Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Sun, 26 Jul 2020 22:14:29 +0100
Subject: [PATCH 045/188] Fixed bug with legacy message handling
---
.../local/spigot/LocalSpigotChatManager.java | 4 ++--
.../local/sponge/LocalSpongeChatManager.java | 2 +-
.../listeners/chat/MultiChatMessageChannel.java | 1 +
.../proxy/common/channels/GenericProxyChannel.java | 12 ++++++------
.../proxy/common/channels/LocalChannel.java | 12 ++++++------
5 files changed, 16 insertions(+), 15 deletions(-)
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/LocalSpigotChatManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/LocalSpigotChatManager.java
index 5cc0bb03..d76849ac 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/LocalSpigotChatManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/LocalSpigotChatManager.java
@@ -20,13 +20,13 @@ public String translateColourCodes(String message, boolean rgb) {
// LEGACY HACK
if (MultiChatLocal.getInstance().getDataStore().isLegacy()) {
- message = message.replaceAll("&(?=[a-f,0-9,k-o,r,x])", "§");
+ message = message.replaceAll("(?i)&(?=[a-f,0-9,k-o,r,x])", "§");
message = MultiChatUtil.approximateHexCodes(message);
}
return ChatColor.translateAlternateColorCodes('&', message);
} else {
- message = message.replaceAll("&(?=[a-f,0-9,k-o,r])", "§");
+ message = message.replaceAll("(?i)&(?=[a-f,0-9,k-o,r])", "§");
return message;
}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/LocalSpongeChatManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/LocalSpongeChatManager.java
index bf12e2db..269402f9 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/LocalSpongeChatManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/LocalSpongeChatManager.java
@@ -20,7 +20,7 @@ public String translateColourCodes(String message, boolean rgb) {
if (rgb) {
message = MultiChatLocal.getInstance().getChatManager().reformatRGB(message);
- message = message.replaceAll("&(?=[a-f,0-9,k-o,r,x])", "§");
+ message = message.replaceAll("(?i)&(?=[a-f,0-9,k-o,r,x])", "§");
message = MultiChatUtil.approximateHexCodes(message);
return TextSerializers.formattingCode('§').serialize(TextSerializers.FORMATTING_CODE.deserialize(message));
} else {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/listeners/chat/MultiChatMessageChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/listeners/chat/MultiChatMessageChannel.java
index 9a9cc6aa..32585b34 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/listeners/chat/MultiChatMessageChannel.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/listeners/chat/MultiChatMessageChannel.java
@@ -107,6 +107,7 @@ public MultiChatMessageChannel(MultiChatLocalPlayer sender, Collection
Date: Sun, 26 Jul 2020 22:22:23 +0100
Subject: [PATCH 046/188] Updated package organisation
---
.../olivermartin/multichat/bungee/CastControl.java | 4 ++--
.../xyz/olivermartin/multichat/bungee/Events.java | 2 +-
.../xyz/olivermartin/multichat/bungee/MultiChat.java | 8 ++++----
.../multichat/bungee/commands/MultiChatCommand.java | 6 +++---
.../multichat/proxy/common/MultiChatProxy.java | 2 +-
.../proxy/common/channels/ChannelFactory.java | 11 -----------
.../proxy/common/channels/ChannelManager.java | 4 ++++
.../common/channels/{ => local}/LocalChannel.java | 3 ++-
.../channels/{ => proxy}/DynamicProxyChannel.java | 3 ++-
.../channels/{ => proxy}/GenericProxyChannel.java | 3 ++-
.../{ => proxy}/GlobalStaticProxyChannel.java | 3 ++-
.../common/channels/{ => proxy}/ProxyChannel.java | 3 ++-
.../common/channels/{ => proxy}/ProxyChannelInfo.java | 3 ++-
.../channels/{ => proxy}/StaticProxyChannel.java | 3 ++-
.../proxy/common/{channels => contexts}/Context.java | 2 +-
.../common/{channels => contexts}/ContextManager.java | 2 +-
.../common/{channels => contexts}/GlobalContext.java | 2 +-
17 files changed, 32 insertions(+), 32 deletions(-)
delete mode 100644 multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelFactory.java
rename multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/{ => local}/LocalChannel.java (93%)
rename multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/{ => proxy}/DynamicProxyChannel.java (91%)
rename multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/{ => proxy}/GenericProxyChannel.java (94%)
rename multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/{ => proxy}/GlobalStaticProxyChannel.java (73%)
rename multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/{ => proxy}/ProxyChannel.java (90%)
rename multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/{ => proxy}/ProxyChannelInfo.java (92%)
rename multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/{ => proxy}/StaticProxyChannel.java (91%)
rename multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/{channels => contexts}/Context.java (94%)
rename multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/{channels => contexts}/ContextManager.java (90%)
rename multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/{channels => contexts}/GlobalContext.java (79%)
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/CastControl.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/CastControl.java
index 9d99115a..0cfcf3b8 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/CastControl.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/CastControl.java
@@ -5,8 +5,8 @@
import net.md_5.bungee.api.CommandSender;
import xyz.olivermartin.multichat.common.MultiChatUtil;
-import xyz.olivermartin.multichat.proxy.common.channels.LocalChannel;
-import xyz.olivermartin.multichat.proxy.common.channels.ProxyChannel;
+import xyz.olivermartin.multichat.proxy.common.channels.local.LocalChannel;
+import xyz.olivermartin.multichat.proxy.common.channels.proxy.ProxyChannel;
/**
* Cast Control
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java
index 7eef5b41..64718968 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/Events.java
@@ -34,7 +34,7 @@
import xyz.olivermartin.multichat.proxy.common.ProxyLocalCommunicationManager;
import xyz.olivermartin.multichat.proxy.common.channels.ChannelManager;
import xyz.olivermartin.multichat.proxy.common.channels.ChannelMode;
-import xyz.olivermartin.multichat.proxy.common.channels.ProxyChannel;
+import xyz.olivermartin.multichat.proxy.common.channels.proxy.ProxyChannel;
/**
* Events Manager
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
index 150c02d5..74c81048 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java
@@ -21,10 +21,10 @@
import xyz.olivermartin.multichat.proxy.common.ProxyDataStore;
import xyz.olivermartin.multichat.proxy.common.ProxyLocalCommunicationManager;
import xyz.olivermartin.multichat.proxy.common.channels.ChannelManager;
-import xyz.olivermartin.multichat.proxy.common.channels.ContextManager;
-import xyz.olivermartin.multichat.proxy.common.channels.GlobalContext;
-import xyz.olivermartin.multichat.proxy.common.channels.GlobalStaticProxyChannel;
-import xyz.olivermartin.multichat.proxy.common.channels.LocalChannel;
+import xyz.olivermartin.multichat.proxy.common.channels.local.LocalChannel;
+import xyz.olivermartin.multichat.proxy.common.channels.proxy.GlobalStaticProxyChannel;
+import xyz.olivermartin.multichat.proxy.common.contexts.ContextManager;
+import xyz.olivermartin.multichat.proxy.common.contexts.GlobalContext;
import xyz.olivermartin.multichat.proxy.common.listeners.communication.ProxyPlayerActionListener;
import xyz.olivermartin.multichat.proxy.common.listeners.communication.ProxyPlayerChatListener;
import xyz.olivermartin.multichat.proxy.common.listeners.communication.ProxyPlayerMetaListener;
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
index 8d1159d5..f7a66fd1 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MultiChatCommand.java
@@ -15,9 +15,9 @@
import xyz.olivermartin.multichat.bungee.MessageManager;
import xyz.olivermartin.multichat.bungee.MultiChat;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
-import xyz.olivermartin.multichat.proxy.common.channels.GlobalContext;
-import xyz.olivermartin.multichat.proxy.common.channels.GlobalStaticProxyChannel;
-import xyz.olivermartin.multichat.proxy.common.channels.LocalChannel;
+import xyz.olivermartin.multichat.proxy.common.channels.local.LocalChannel;
+import xyz.olivermartin.multichat.proxy.common.channels.proxy.GlobalStaticProxyChannel;
+import xyz.olivermartin.multichat.proxy.common.contexts.GlobalContext;
/**
* MultiChat (Admin) Command
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/MultiChatProxy.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/MultiChatProxy.java
index 548e2fe5..6f1b347b 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/MultiChatProxy.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/MultiChatProxy.java
@@ -4,7 +4,7 @@
import net.md_5.bungee.api.plugin.Plugin;
import xyz.olivermartin.multichat.proxy.common.channels.ChannelManager;
-import xyz.olivermartin.multichat.proxy.common.channels.ContextManager;
+import xyz.olivermartin.multichat.proxy.common.contexts.ContextManager;
import xyz.olivermartin.multichat.proxy.common.storage.ProxyFileStoreManager;
/**
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelFactory.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelFactory.java
deleted file mode 100644
index 299be675..00000000
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelFactory.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package xyz.olivermartin.multichat.proxy.common.channels;
-
-public class ChannelFactory {
-
- public ChannelFactory() {
-
- /* Not yet implemented */
-
- }
-
-}
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelManager.java
index 1b7a7148..eec1b57e 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ChannelManager.java
@@ -10,6 +10,10 @@
import net.md_5.bungee.api.connection.ProxiedPlayer;
import xyz.olivermartin.multichat.bungee.DebugManager;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
+import xyz.olivermartin.multichat.proxy.common.channels.local.LocalChannel;
+import xyz.olivermartin.multichat.proxy.common.channels.proxy.GlobalStaticProxyChannel;
+import xyz.olivermartin.multichat.proxy.common.channels.proxy.ProxyChannel;
+import xyz.olivermartin.multichat.proxy.common.contexts.ContextManager;
public class ChannelManager {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/LocalChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/local/LocalChannel.java
similarity index 93%
rename from multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/LocalChannel.java
rename to multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/local/LocalChannel.java
index 14a67272..c3764843 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/LocalChannel.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/local/LocalChannel.java
@@ -1,4 +1,4 @@
-package xyz.olivermartin.multichat.proxy.common.channels;
+package xyz.olivermartin.multichat.proxy.common.channels.local;
import java.util.List;
import java.util.Set;
@@ -12,6 +12,7 @@
import xyz.olivermartin.multichat.bungee.MultiChat;
import xyz.olivermartin.multichat.common.MultiChatUtil;
import xyz.olivermartin.multichat.proxy.common.ProxyLocalCommunicationManager;
+import xyz.olivermartin.multichat.proxy.common.channels.ChannelManager;
public class LocalChannel {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/DynamicProxyChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/proxy/DynamicProxyChannel.java
similarity index 91%
rename from multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/DynamicProxyChannel.java
rename to multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/proxy/DynamicProxyChannel.java
index 1d66e7b3..0b196d44 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/DynamicProxyChannel.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/proxy/DynamicProxyChannel.java
@@ -1,10 +1,11 @@
-package xyz.olivermartin.multichat.proxy.common.channels;
+package xyz.olivermartin.multichat.proxy.common.channels.proxy;
import java.util.Set;
import java.util.UUID;
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.connection.ProxiedPlayer;
+import xyz.olivermartin.multichat.proxy.common.channels.ChannelManager;
public class DynamicProxyChannel extends GenericProxyChannel {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GenericProxyChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/proxy/GenericProxyChannel.java
similarity index 94%
rename from multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GenericProxyChannel.java
rename to multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/proxy/GenericProxyChannel.java
index f11c499a..1cba5d15 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GenericProxyChannel.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/proxy/GenericProxyChannel.java
@@ -1,4 +1,4 @@
-package xyz.olivermartin.multichat.proxy.common.channels;
+package xyz.olivermartin.multichat.proxy.common.channels.proxy;
import java.util.Set;
import java.util.UUID;
@@ -14,6 +14,7 @@
import xyz.olivermartin.multichat.bungee.events.PostGlobalChatEvent;
import xyz.olivermartin.multichat.common.MultiChatUtil;
import xyz.olivermartin.multichat.proxy.common.ProxyLocalCommunicationManager;
+import xyz.olivermartin.multichat.proxy.common.channels.ChannelManager;
public abstract class GenericProxyChannel implements ProxyChannel {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalStaticProxyChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/proxy/GlobalStaticProxyChannel.java
similarity index 73%
rename from multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalStaticProxyChannel.java
rename to multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/proxy/GlobalStaticProxyChannel.java
index 69919cb9..94fa8967 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalStaticProxyChannel.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/proxy/GlobalStaticProxyChannel.java
@@ -1,8 +1,9 @@
-package xyz.olivermartin.multichat.proxy.common.channels;
+package xyz.olivermartin.multichat.proxy.common.channels.proxy;
import java.util.List;
import xyz.olivermartin.multichat.proxy.common.MultiChatProxy;
+import xyz.olivermartin.multichat.proxy.common.channels.ChannelManager;
public class GlobalStaticProxyChannel extends StaticProxyChannel {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ProxyChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/proxy/ProxyChannel.java
similarity index 90%
rename from multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ProxyChannel.java
rename to multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/proxy/ProxyChannel.java
index 55630aaa..41d556e5 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ProxyChannel.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/proxy/ProxyChannel.java
@@ -1,10 +1,11 @@
-package xyz.olivermartin.multichat.proxy.common.channels;
+package xyz.olivermartin.multichat.proxy.common.channels.proxy;
import java.util.Set;
import java.util.UUID;
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.connection.ProxiedPlayer;
+import xyz.olivermartin.multichat.proxy.common.channels.ChannelManager;
public interface ProxyChannel {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ProxyChannelInfo.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/proxy/ProxyChannelInfo.java
similarity index 92%
rename from multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ProxyChannelInfo.java
rename to multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/proxy/ProxyChannelInfo.java
index b5410608..86862e7f 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ProxyChannelInfo.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/proxy/ProxyChannelInfo.java
@@ -1,9 +1,10 @@
-package xyz.olivermartin.multichat.proxy.common.channels;
+package xyz.olivermartin.multichat.proxy.common.channels.proxy;
import java.util.List;
import java.util.Optional;
import net.md_5.bungee.api.CommandSender;
+import xyz.olivermartin.multichat.proxy.common.contexts.Context;
public class ProxyChannelInfo {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/StaticProxyChannel.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/proxy/StaticProxyChannel.java
similarity index 91%
rename from multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/StaticProxyChannel.java
rename to multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/proxy/StaticProxyChannel.java
index 56de8ac4..8332e6bb 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/StaticProxyChannel.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/proxy/StaticProxyChannel.java
@@ -1,6 +1,7 @@
-package xyz.olivermartin.multichat.proxy.common.channels;
+package xyz.olivermartin.multichat.proxy.common.channels.proxy;
import net.md_5.bungee.api.CommandSender;
+import xyz.olivermartin.multichat.proxy.common.channels.ChannelManager;
public class StaticProxyChannel extends GenericProxyChannel {
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/Context.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/contexts/Context.java
similarity index 94%
rename from multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/Context.java
rename to multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/contexts/Context.java
index 0b49fbe3..db42d472 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/Context.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/contexts/Context.java
@@ -1,4 +1,4 @@
-package xyz.olivermartin.multichat.proxy.common.channels;
+package xyz.olivermartin.multichat.proxy.common.contexts;
import java.util.ArrayList;
import java.util.List;
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ContextManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/contexts/ContextManager.java
similarity index 90%
rename from multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ContextManager.java
rename to multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/contexts/ContextManager.java
index 2632e3ea..3bfcb850 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/ContextManager.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/contexts/ContextManager.java
@@ -1,4 +1,4 @@
-package xyz.olivermartin.multichat.proxy.common.channels;
+package xyz.olivermartin.multichat.proxy.common.contexts;
import java.util.HashMap;
import java.util.Map;
diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalContext.java b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/contexts/GlobalContext.java
similarity index 79%
rename from multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalContext.java
rename to multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/contexts/GlobalContext.java
index 26b4f95b..785e1001 100644
--- a/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/channels/GlobalContext.java
+++ b/multichat/src/main/java/xyz/olivermartin/multichat/proxy/common/contexts/GlobalContext.java
@@ -1,4 +1,4 @@
-package xyz.olivermartin.multichat.proxy.common.channels;
+package xyz.olivermartin.multichat.proxy.common.contexts;
import java.util.List;
From d3faf7c767debf3121dc0d2493b0820e3080262a Mon Sep 17 00:00:00 2001
From: OllieMartin
Date: Sun, 26 Jul 2020 23:11:53 +0100
Subject: [PATCH 047/188] 1.10 beta 1
---
.../releases/1.10/multichat-1.10-beta.1.jar | Bin 0 -> 622602 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 multichat/releases/1.10/multichat-1.10-beta.1.jar
diff --git a/multichat/releases/1.10/multichat-1.10-beta.1.jar b/multichat/releases/1.10/multichat-1.10-beta.1.jar
new file mode 100644
index 0000000000000000000000000000000000000000..3a51c949aa0730ec87b1ef636da47e815bf1a6a9
GIT binary patch
literal 622602
zcmb5VV~}V~lP%n*ZQHhO+qP}{v~AnAZQHipecE<^=b3otyEAXZ%#FKa*RR6P9g(Y6
zR<100DIj2E0B~?{0JX+1Y{*dMU<3jWkerjrY5DOXlUnQq-ZE-re+%z>6e)Hjvc8bXU3?dXavE*
zj*3*1P^tQe-P^MynVck@vni{Q@16VzyR>IS%EL*@Df9_O1BQ;GltFff8kV?0jChoI
zjKV^Yb!wBW<8V+tLGMCRLb|lOwEx3e$hojY>%X=H{%!xqTB(2gRj9wc2G$k^P9{#Y
z9yZp~sxoq0^zhw8cX-s#bE@VPR8K?Ef+|mQsuiz5JD1ig19s>TE#Z0sa
z7B7C^7j;Jk}O(s|((lA%M1lsiZRV&b}mFX2-Dl;d&
z8R(@!YQkv>#U5s9Nt=!cG8Pd!Djp2f#pfFyjYWu}j{ythW8^mEQ5mO)O+=|@F$@lf
z1U|Y<8Wa^Mja()-8gD59k;Ya8ZaLI8nPx?8u3L;US*tB~Fk-XgN{GQ3Fa7uRAVk?{6p>((kd4Sz
zgKLPLfDf>yD%lM}O%|G5$S>w+OA!{=>Hw2*dJ=Ed`P}oH)ynPxDM2Uy=3WqAmCJ_C
zKX4|*&5;3qH6|QWsw;`Jah#RS
zvoWxn5>dl)h}mLAQB{iE7nH6UAkNKWUJGQL%E=9tRl~OA?eJ(QAQ7R27CgN)U4W}m
zPzYB37S_Cej^$ClJku_j0@V5AGIZIQGHMTKZdbwnNt7;Hcim@6e00
zSB2Gh!<$^o(|7ju`7FApGF`1gq@r!HxvTR_vgyn-JJk!SEle!kX}RK4skDL&Q6rgv
zGERA@MH-kPG|B+D83QtRmPN+e#NoCA;t9EGACk7U!9bCSZ&rWLb55`Cw{P5?+2@xSl$PbRXaWvHSoO$L?=&wk*v~ao
zkI8s+t&+JG&X%hWqw<8MWn-GC5jGO#Ec$dpj(9`sKbTF6!-Q$B5lf+3
zXqsN-ofQD#X&OWu@`!ks*rN|bnhJu|s-W@O1EaW@_%YfTRw8yJ&NhnrFI1E`*TE9U
zBb3HF2GoW9@aDMxL}Mkef)28hY6RviY}DmtG?n|~N
z$F<38qatRKRALf`SeP5dff1CU0G5XumOk&53(IBRT2$WxR3~pEUhd^VkkW!9_0z|T
z1aCA+-w0U~g+nC>(@PNh=9T4@EfA>Mv#+UxT>8`7&N_lfL99XcvE-=7$Wf=tQLFLP
zYg>uOqyeoQ6!*~RUr-ockQiUI?_(7e{nmBcnIlryP3P*Nxl079w|4$UY}?Ri#&ou<
zw06jMiU`h9q&8Vl+nW2KiJu(17EB`3+#3!}DLU&~8KDa(`vlW47;rl)sjoh0ghOmJ
z)Lj7#>NV|RSt_KhepE@xXTT#HZ%YWDtTLv4{axP1$;A4LXo0Y>EsGG^m4pzcUr+6z
zbPmI2an9AbraP{6WlBfO`Y2>m=dlbel9k#6K0&iTUK8p~@(>Jcle`3EdAlRS`s4DkH>ym4GdfUvY-
zBAQkL)Yhnx^ElJ|rVU4C3UYQ$8_#z?wOy|m7SaRt>ncDL0L6t0e
z{}{|ssha2U*PPV9?SE!HxWBzd<_6A2cDBxrcGmw`y{v8{hs6Q^9W&%hFM!OR0YIa6
zPN;$%TqZI)8J=3{=|^aGXiU@fXL%ztPIq(Hhso#$i(1>_HyJISU|OfHLPCtv-@tU*cD7EHTMPKeE}@3Y%mbZKvTJrYB_q@9iJoH!9*)D;dM
zO>X_p&Nqgae|@-k^pZnrGb>jn7R^f3NOt|Yf$(5Wj7qleJ^4GNIF1hgYCnUKY|c0-34i}t#Zp@z-~XG%B_{F8;i+ai+EWu@*Z
z3yZR$^nOYQC2~Q|4sx?JWD)RDV$-ysnlQEK0c5>>`{4Azp5$u@1IY-zsL*N*RJNC&
z+L^~w&g=IiSG`@DIk`qv6TrkfOv?lF!bS1Syck4F*oL_Ph&`|w=Jg`a0%k)R@Rl~<
z#S+5!VvP|nfmwf?!J_~G1Ef5SqT-U>>gp`cH*Mm~j#G;Q2=d{OW`a;&tZ1)}>)
z1An2f%