From dc0fcb90f7e8a0fc57b9f27c445cfbc7efb6b35d Mon Sep 17 00:00:00 2001 From: okx-code Date: Thu, 14 Nov 2024 01:03:53 +0000 Subject: [PATCH] join ! by default --- .../paper-config/plugins/CivChat2/config.yml | 1 + .../vg/civcraft/mc/civchat2/CivChat2.java | 4 +++ .../civchat2/listeners/NewPlayerListener.java | 32 +++++++++++++++++++ .../mc/civchat2/utility/CivChat2Config.java | 4 +++ .../src/main/resources/config.yml | 11 +++++++ 5 files changed, 52 insertions(+) create mode 100644 plugins/civchat2-paper/src/main/java/vg/civcraft/mc/civchat2/listeners/NewPlayerListener.java diff --git a/ansible/files/paper-config/plugins/CivChat2/config.yml b/ansible/files/paper-config/plugins/CivChat2/config.yml index 934d83e71..4b969a302 100644 --- a/ansible/files/paper-config/plugins/CivChat2/config.yml +++ b/ansible/files/paper-config/plugins/CivChat2/config.yml @@ -21,6 +21,7 @@ chat: range: 800 color: GRAY globalGroup: '!' + joinGlobalGroupByDefault: true info: #debug: lots of debugging logging will show up in the console def=false debug: false diff --git a/plugins/civchat2-paper/src/main/java/vg/civcraft/mc/civchat2/CivChat2.java b/plugins/civchat2-paper/src/main/java/vg/civcraft/mc/civchat2/CivChat2.java index a6f63135a..73e173238 100644 --- a/plugins/civchat2-paper/src/main/java/vg/civcraft/mc/civchat2/CivChat2.java +++ b/plugins/civchat2-paper/src/main/java/vg/civcraft/mc/civchat2/CivChat2.java @@ -7,6 +7,7 @@ import vg.civcraft.mc.civchat2.commands.CivChatCommandManager; import vg.civcraft.mc.civchat2.database.CivChatDAO; import vg.civcraft.mc.civchat2.listeners.CivChat2Listener; import vg.civcraft.mc.civchat2.listeners.KillListener; +import vg.civcraft.mc.civchat2.listeners.NewPlayerListener; import vg.civcraft.mc.civchat2.utility.CivChat2Config; import vg.civcraft.mc.civchat2.utility.CivChat2FileLogger; import vg.civcraft.mc.civchat2.utility.CivChat2Log; @@ -68,6 +69,9 @@ public class CivChat2 extends ACivMod { private void registerCivChatEvents() { getServer().getPluginManager().registerEvents(new CivChat2Listener(chatMan), this); getServer().getPluginManager().registerEvents(new KillListener(config, databaseManager, settingsManager), this); + if (config.isJoinGlobalGroupByDefault()) { + getServer().getPluginManager().registerEvents(new NewPlayerListener(), this); + } } public void registerNameLayerPermissions() { diff --git a/plugins/civchat2-paper/src/main/java/vg/civcraft/mc/civchat2/listeners/NewPlayerListener.java b/plugins/civchat2-paper/src/main/java/vg/civcraft/mc/civchat2/listeners/NewPlayerListener.java new file mode 100644 index 000000000..2677f2983 --- /dev/null +++ b/plugins/civchat2-paper/src/main/java/vg/civcraft/mc/civchat2/listeners/NewPlayerListener.java @@ -0,0 +1,32 @@ +package vg.civcraft.mc.civchat2.listeners; + +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerJoinEvent; +import vg.civcraft.mc.civchat2.CivChat2; +import vg.civcraft.mc.civchat2.CivChat2Manager; +import vg.civcraft.mc.namelayer.GroupManager; +import vg.civcraft.mc.namelayer.group.Group; + +public class NewPlayerListener implements Listener { + + @EventHandler + public void on(PlayerJoinEvent event) { + Player player = event.getPlayer(); + if (player.hasPlayedBefore()) { + return; + } + String globalGroupName = CivChat2.getInstance().getPluginConfig().getGlobalChatGroupName(); + if (globalGroupName == null) { + return; + } + Group globalGroup = GroupManager.getGroup(globalGroupName); + if (globalGroup == null) { + return; + } + + CivChat2Manager chatMan = CivChat2.getInstance().getCivChat2Manager(); + chatMan.addGroupChat(player, globalGroup); + } +} diff --git a/plugins/civchat2-paper/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Config.java b/plugins/civchat2-paper/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Config.java index b1e7280ef..6e41e1fb9 100644 --- a/plugins/civchat2-paper/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Config.java +++ b/plugins/civchat2-paper/src/main/java/vg/civcraft/mc/civchat2/utility/CivChat2Config.java @@ -82,6 +82,10 @@ public class CivChat2Config { return config.getString("chat.globalGroup", null); } + public boolean isJoinGlobalGroupByDefault() { + return config.getBoolean("chat.joinGlobalGroupByDefault", false); + } + public boolean useDynamicRangeColoring() { return config.getBoolean("chat.dynamicColoring"); } diff --git a/plugins/civchat2-paper/src/main/resources/config.yml b/plugins/civchat2-paper/src/main/resources/config.yml index cb488f05a..430c9889d 100644 --- a/plugins/civchat2-paper/src/main/resources/config.yml +++ b/plugins/civchat2-paper/src/main/resources/config.yml @@ -11,6 +11,17 @@ chat: #so yIncreaseScale=10 will be 10 extra radius per block they go up, 1 would be 1 extra radius per block #Coded formula globalChatRange = globalChatRange + (globalChatRange * ((yIncreaseScale/1000) * #blocksaboveydist))) yIncreaseScale: 1 + killRange: 30000 + dynamicColoring: false + colors: + near: + range: 0 + color: WHITE + far: + range: 800 + color: GRAY + globalGroup: '!' + joinGlobalGroupByDefault: false info: #debug: lots of debugging logging will show up in the console def=false debug: false