From 4e2ef9422e1db249b18ac8c7641b38fd592c5f2e Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 14 Feb 2021 23:35:29 +0000 Subject: [PATCH 1/3] Allow Local Default Channel --- .../multichat/local/common/config/LocalConfig.java | 11 +++++++++++ .../common/listeners/LocalLoginLogoutListener.java | 7 ++++++- .../listeners/LocalSpigotLoginLogoutListener.java | 7 +++++++ .../listeners/LocalSpongeLoginLogoutListener.java | 7 +++++++ multichat/src/main/resources/localconfig.yml | 3 +++ 5 files changed, 34 insertions(+), 1 deletion(-) 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..9104eff1 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: "); @@ -182,6 +186,13 @@ public String getServerName() { return serverName; } + /** + * @return the serverName + */ + 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..d0fc609b 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 @@ -5,11 +5,16 @@ import xyz.olivermartin.multichat.local.common.MultiChatLocal; import xyz.olivermartin.multichat.local.common.MultiChatLocalPlayer; +import xyz.olivermartin.multichat.local.common.config.LocalConfig; public abstract class LocalLoginLogoutListener { + protected String defaultChannel = "global"; + protected abstract boolean isPlayerStillOnline(MultiChatLocalPlayer player); + LocalConfig config = MultiChatLocal.getInstance().getConfigManager().getLocalConfig(); + protected void handleLoginEvent(MultiChatLocalPlayer player) { MultiChatLocal.getInstance().getNameManager().registerPlayer(player.getUniqueId(), player.getName()); @@ -17,7 +22,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..52d91fba 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 @@ -6,12 +6,19 @@ import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerQuitEvent; +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.spigot.MultiChatLocalSpigotPlayer; 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 078964c2..1a5ec38e 100644 --- a/multichat/src/main/resources/localconfig.yml +++ b/multichat/src/main/resources/localconfig.yml @@ -20,6 +20,9 @@ version: "1.9.6" # # 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 113f51034951cd6c4eafc533b9bc8b27ac4dc962 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 14 Feb 2021 23:41:39 +0000 Subject: [PATCH 2/3] Fixed Javadoc, and removed superflous variable --- .../olivermartin/multichat/local/common/config/LocalConfig.java | 2 +- .../local/common/listeners/LocalLoginLogoutListener.java | 2 -- 2 files changed, 1 insertion(+), 3 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 9104eff1..b903aea0 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 @@ -187,7 +187,7 @@ public String getServerName() { } /** - * @return the serverName + * @return the defaultChannel */ public String getDefaultChannel() { return defaultChannel; 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 d0fc609b..ddcdf75c 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 @@ -13,8 +13,6 @@ public abstract class LocalLoginLogoutListener { protected abstract boolean isPlayerStillOnline(MultiChatLocalPlayer player); - LocalConfig config = MultiChatLocal.getInstance().getConfigManager().getLocalConfig(); - protected void handleLoginEvent(MultiChatLocalPlayer player) { MultiChatLocal.getInstance().getNameManager().registerPlayer(player.getUniqueId(), player.getName()); From 7787ee22f452d6aef9512c4a0b175e0740cddbe4 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 14 Feb 2021 23:58:15 +0000 Subject: [PATCH 3/3] Remove Local Variable --- .../local/common/listeners/LocalLoginLogoutListener.java | 4 +--- .../spigot/listeners/LocalSpigotLoginLogoutListener.java | 7 ------- .../sponge/listeners/LocalSpongeLoginLogoutListener.java | 7 ------- 3 files changed, 1 insertion(+), 17 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 ddcdf75c..658ad092 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,8 +9,6 @@ public abstract class LocalLoginLogoutListener { - protected String defaultChannel = "global"; - protected abstract boolean isPlayerStillOnline(MultiChatLocalPlayer player); protected void handleLoginEvent(MultiChatLocalPlayer player) { @@ -20,7 +18,7 @@ protected void handleLoginEvent(MultiChatLocalPlayer player) { Map playerChannels = MultiChatLocal.getInstance().getDataStore().getPlayerChannels(); synchronized (playerChannels) { if (!playerChannels.containsKey(player.getUniqueId())) { - playerChannels.put(player.getUniqueId(), this.defaultChannel); + playerChannels.put(player.getUniqueId(), MultiChatLocal.getInstance().getConfigManager().getLocalConfig().getDefaultChannel()); } } 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 52d91fba..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 @@ -6,19 +6,12 @@ import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerQuitEvent; -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.spigot.MultiChatLocalSpigotPlayer; 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);