From 9a9173860aee54ed00bf5be747ba2aa9a0327e14 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 14 Feb 2021 23:51:32 +0000 Subject: [PATCH 1/2] Allow Local Default Channel --- .../multichat/local/common/config/LocalConfig.java | 13 ++++++++++++- .../common/listeners/LocalLoginLogoutListener.java | 4 +++- .../listeners/LocalSpigotLoginLogoutListener.java | 5 +++++ .../listeners/LocalSpongeLoginLogoutListener.java | 7 +++++++ multichat/src/main/resources/localconfig.yml | 3 +++ 5 files changed, 30 insertions(+), 2 deletions(-) diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/config/LocalConfig.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/config/LocalConfig.java index a969dd37..0247d9f4 100644 --- a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/config/LocalConfig.java +++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/config/LocalConfig.java @@ -16,6 +16,8 @@ public abstract class LocalConfig { // SERVER SETTINGS private String serverName; + private String defaultChannel; + // GLOBAL CHAT SETTINGS private boolean overrideGlobalFormat; private String overrideGlobalFormatFormat; @@ -118,6 +120,8 @@ private void setMemberAttributes() { // Server serverName = getString("server_name","SPIGOT_SERVER"); + defaultChannel = getString("default_channel","global"); + // Global Chat overrideGlobalFormat = getBoolean("override_global_format", false); overrideGlobalFormatFormat = getString("override_global_format_format", "&5[&dG&5] &f%DISPLAYNAME%&f: "); @@ -181,7 +185,14 @@ public LocalConfigStatus reload() { public String getServerName() { return serverName; } - + + /** + * @return the defaultChannel + */ + public String getDefaultChannel() { + return defaultChannel; + } + /** * @return the overrideGlobalFormat */ diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/LocalLoginLogoutListener.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/LocalLoginLogoutListener.java index 9e387802..8e622ed8 100644 --- a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/LocalLoginLogoutListener.java +++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/LocalLoginLogoutListener.java @@ -10,6 +10,8 @@ public abstract class LocalLoginLogoutListener { protected abstract boolean isPlayerStillOnline(MultiChatLocalPlayer player); + protected String defaultChannel = "global"; + protected void handleLoginEvent(MultiChatLocalPlayer player) { MultiChatLocal.getInstance().getNameManager().registerPlayer(player.getUniqueId(), player.getName()); @@ -17,7 +19,7 @@ protected void handleLoginEvent(MultiChatLocalPlayer player) { Map playerChannels = MultiChatLocal.getInstance().getDataStore().getPlayerChannels(); synchronized (playerChannels) { if (!playerChannels.containsKey(player.getUniqueId())) { - playerChannels.put(player.getUniqueId(), "global"); + playerChannels.put(player.getUniqueId(), this.defaultChannel); } } diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/LocalSpigotLoginLogoutListener.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/LocalSpigotLoginLogoutListener.java index 0edbd5d0..f4740f6e 100644 --- a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/LocalSpigotLoginLogoutListener.java +++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/LocalSpigotLoginLogoutListener.java @@ -12,6 +12,11 @@ public class LocalSpigotLoginLogoutListener extends LocalLoginLogoutListener implements Listener { + public LocalSpigotLoginLogoutListener() { + LocalConfig config = MultiChatLocal.getInstance().getConfigManager().getLocalConfig(); + this.defaultChannel = config.getDefaultChannel(); + } + @EventHandler public void onLogin(final PlayerJoinEvent event) { MultiChatLocalPlayer mclp = new MultiChatLocalSpigotPlayer(event.getPlayer()); diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/listeners/LocalSpongeLoginLogoutListener.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/listeners/LocalSpongeLoginLogoutListener.java index 66b48d50..c042671e 100644 --- a/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/listeners/LocalSpongeLoginLogoutListener.java +++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/listeners/LocalSpongeLoginLogoutListener.java @@ -9,12 +9,19 @@ import org.spongepowered.api.event.filter.cause.Root; import org.spongepowered.api.event.network.ClientConnectionEvent; +import xyz.olivermartin.multichat.local.common.MultiChatLocal; import xyz.olivermartin.multichat.local.common.MultiChatLocalPlayer; +import xyz.olivermartin.multichat.local.common.config.LocalConfig; import xyz.olivermartin.multichat.local.common.listeners.LocalLoginLogoutListener; import xyz.olivermartin.multichat.local.sponge.MultiChatLocalSpongePlayer; public class LocalSpongeLoginLogoutListener extends LocalLoginLogoutListener { + public LocalSpongeLoginLogoutListener() { + LocalConfig config = MultiChatLocal.getInstance().getConfigManager().getLocalConfig(); + this.defaultChannel = config.getDefaultChannel(); + } + @Listener(order=Order.POST) public void onJoin(ClientConnectionEvent.Join event, @Root Player player) { MultiChatLocalPlayer mclp = new MultiChatLocalSpongePlayer(player); diff --git a/multichat/src/main/resources/localconfig.yml b/multichat/src/main/resources/localconfig.yml index c8d2e9bc..21fe6bff 100644 --- a/multichat/src/main/resources/localconfig.yml +++ b/multichat/src/main/resources/localconfig.yml @@ -20,6 +20,9 @@ version: "1.10" # # Specify the name of this server here for the %SERVER% placeholder server_name: "UNNAMED_SERVER" +# Specify the channel the user should connect to when first joining (local / global) +default_channel: "global" + ############################################################ # +------------------------------------------------------+ # # | Global | # From e6b4189e42e7880965ffb79a995730c206217ecd Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 14 Feb 2021 23:57:03 +0000 Subject: [PATCH 2/2] Remove Local Variable --- .../local/common/listeners/LocalLoginLogoutListener.java | 8 ++++---- .../spigot/listeners/LocalSpigotLoginLogoutListener.java | 5 ----- .../sponge/listeners/LocalSpongeLoginLogoutListener.java | 7 ------- 3 files changed, 4 insertions(+), 16 deletions(-) diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/LocalLoginLogoutListener.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/LocalLoginLogoutListener.java index 8e622ed8..15aad1a4 100644 --- a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/LocalLoginLogoutListener.java +++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/listeners/LocalLoginLogoutListener.java @@ -9,17 +9,17 @@ public abstract class LocalLoginLogoutListener { protected abstract boolean isPlayerStillOnline(MultiChatLocalPlayer player); - - protected String defaultChannel = "global"; - + protected void handleLoginEvent(MultiChatLocalPlayer player) { MultiChatLocal.getInstance().getNameManager().registerPlayer(player.getUniqueId(), player.getName()); + String defaultChannel = MultiChatLocal.getInstance().getConfigManager().getLocalConfig().getDefaultChannel(); + Map playerChannels = MultiChatLocal.getInstance().getDataStore().getPlayerChannels(); synchronized (playerChannels) { if (!playerChannels.containsKey(player.getUniqueId())) { - playerChannels.put(player.getUniqueId(), this.defaultChannel); + playerChannels.put(player.getUniqueId(), defaultChannel); } } diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/LocalSpigotLoginLogoutListener.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/LocalSpigotLoginLogoutListener.java index f4740f6e..0edbd5d0 100644 --- a/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/LocalSpigotLoginLogoutListener.java +++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/listeners/LocalSpigotLoginLogoutListener.java @@ -12,11 +12,6 @@ public class LocalSpigotLoginLogoutListener extends LocalLoginLogoutListener implements Listener { - public LocalSpigotLoginLogoutListener() { - LocalConfig config = MultiChatLocal.getInstance().getConfigManager().getLocalConfig(); - this.defaultChannel = config.getDefaultChannel(); - } - @EventHandler public void onLogin(final PlayerJoinEvent event) { MultiChatLocalPlayer mclp = new MultiChatLocalSpigotPlayer(event.getPlayer()); diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/listeners/LocalSpongeLoginLogoutListener.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/listeners/LocalSpongeLoginLogoutListener.java index c042671e..66b48d50 100644 --- a/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/listeners/LocalSpongeLoginLogoutListener.java +++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/listeners/LocalSpongeLoginLogoutListener.java @@ -9,19 +9,12 @@ import org.spongepowered.api.event.filter.cause.Root; import org.spongepowered.api.event.network.ClientConnectionEvent; -import xyz.olivermartin.multichat.local.common.MultiChatLocal; import xyz.olivermartin.multichat.local.common.MultiChatLocalPlayer; -import xyz.olivermartin.multichat.local.common.config.LocalConfig; import xyz.olivermartin.multichat.local.common.listeners.LocalLoginLogoutListener; import xyz.olivermartin.multichat.local.sponge.MultiChatLocalSpongePlayer; public class LocalSpongeLoginLogoutListener extends LocalLoginLogoutListener { - public LocalSpongeLoginLogoutListener() { - LocalConfig config = MultiChatLocal.getInstance().getConfigManager().getLocalConfig(); - this.defaultChannel = config.getDefaultChannel(); - } - @Listener(order=Order.POST) public void onJoin(ClientConnectionEvent.Join event, @Root Player player) { MultiChatLocalPlayer mclp = new MultiChatLocalSpongePlayer(player);