From 00f741eb2ca41e6c87b95ca4db7fddd1b4878bb8 Mon Sep 17 00:00:00 2001 From: tobid7 Date: Tue, 26 Nov 2024 18:24:02 +0000 Subject: [PATCH] Make ChatMessages have Status (Hopefully) --- .../de/npid7/serverlite/D7ServerLite.java | 6 +-- .../de/npid7/serverlite/Helpers/Wordlist.java | 2 - .../serverlite/Listeners/JoinListener.java | 21 ---------- .../serverlite/Listeners/PlayerListener.java | 41 +++++++++++++++++++ 4 files changed, 44 insertions(+), 26 deletions(-) delete mode 100644 src/main/java/de/npid7/serverlite/Listeners/JoinListener.java create mode 100644 src/main/java/de/npid7/serverlite/Listeners/PlayerListener.java diff --git a/src/main/java/de/npid7/serverlite/D7ServerLite.java b/src/main/java/de/npid7/serverlite/D7ServerLite.java index 80e2ea5..402b26f 100644 --- a/src/main/java/de/npid7/serverlite/D7ServerLite.java +++ b/src/main/java/de/npid7/serverlite/D7ServerLite.java @@ -6,7 +6,7 @@ import de.npid7.serverlite.Commands.StatusCommand; import de.npid7.serverlite.Commands.TimerCommand; import de.npid7.serverlite.Configs.PlayerConfig; import de.npid7.serverlite.Configs.PluginConfig; -import de.npid7.serverlite.Listeners.JoinListener; +import de.npid7.serverlite.Listeners.PlayerListener; import de.npid7.serverlite.TabCompleters.D7Completer; import de.npid7.serverlite.TabCompleters.PlaytimeCompleter; import de.npid7.serverlite.TabCompleters.StatusCompleter; @@ -57,8 +57,8 @@ public class D7ServerLite extends JavaPlugin { getCommand("playtime").setExecutor(new PlaytimeCommand()); getCommand("playtime").setTabCompleter(new PlaytimeCompleter()); - // Register onJoin Event to generate PlayerConfigEntry - Bukkit.getPluginManager().registerEvents(new JoinListener(), this); + // Register onJoin Event to generate PlayerConfigEntry and customize chat message + Bukkit.getPluginManager().registerEvents(new PlayerListener(), this); } /** diff --git a/src/main/java/de/npid7/serverlite/Helpers/Wordlist.java b/src/main/java/de/npid7/serverlite/Helpers/Wordlist.java index 92d87f5..f6ae5f6 100644 --- a/src/main/java/de/npid7/serverlite/Helpers/Wordlist.java +++ b/src/main/java/de/npid7/serverlite/Helpers/Wordlist.java @@ -2,8 +2,6 @@ package de.npid7.serverlite.Helpers; import com.google.gson.JsonArray; import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import java.util.Map; import java.util.Vector; public class Wordlist { diff --git a/src/main/java/de/npid7/serverlite/Listeners/JoinListener.java b/src/main/java/de/npid7/serverlite/Listeners/JoinListener.java deleted file mode 100644 index bc44eab..0000000 --- a/src/main/java/de/npid7/serverlite/Listeners/JoinListener.java +++ /dev/null @@ -1,21 +0,0 @@ -package de.npid7.serverlite.Listeners; - -import de.npid7.serverlite.Configs.PlayerConfig; -import de.npid7.serverlite.D7ServerLite; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.PlayerJoinEvent; - -public class JoinListener implements Listener { - @EventHandler - public void onJoin(PlayerJoinEvent event) { - Player player = event.getPlayer(); - if (D7ServerLite.getInst().getPlayerConfig().Find(player.getUniqueId()) == null) { - D7ServerLite.getInst().getPlayerConfig().Add(player.getUniqueId(), - new PlayerConfig.PlayerEntry( - D7ServerLite.getInst().getPluginConfig().getDefaultStatus(), player.getName(), false)); - D7ServerLite.getInst().getPlayerConfig().Save(); - } - } -} \ No newline at end of file diff --git a/src/main/java/de/npid7/serverlite/Listeners/PlayerListener.java b/src/main/java/de/npid7/serverlite/Listeners/PlayerListener.java new file mode 100644 index 0000000..9954bfa --- /dev/null +++ b/src/main/java/de/npid7/serverlite/Listeners/PlayerListener.java @@ -0,0 +1,41 @@ +package de.npid7.serverlite.Listeners; + +import de.npid7.serverlite.Configs.PlayerConfig; +import de.npid7.serverlite.D7ServerLite; + +import org.bukkit.ChatColor; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.AsyncPlayerChatEvent; +import org.bukkit.event.player.PlayerJoinEvent; + +public class PlayerListener implements Listener { + @EventHandler + public void onPlayerMessage(AsyncPlayerChatEvent e) { + String msg = e.getMessage(); + String prefix = ""; + String status = D7ServerLite.getInst().getPlayerConfig().getStatus(e.getPlayer().getUniqueId()); + String statusColor = ""; + if (!status.equals("")) { + statusColor = D7ServerLite.getInst().getPluginConfig().getStatusColor(status); + if (statusColor == null) { + statusColor = ChatColor.WHITE.toString(); + } + prefix = "[" + statusColor + status + ChatColor.WHITE.toString() + "] "; + } + prefix += "<" + e.getPlayer().getDisplayName() + "> "; + e.setFormat(prefix + msg); + } + + @EventHandler + public void onJoin(PlayerJoinEvent event) { + Player player = event.getPlayer(); + if (D7ServerLite.getInst().getPlayerConfig().Find(player.getUniqueId()) == null) { + D7ServerLite.getInst().getPlayerConfig().Add(player.getUniqueId(), + new PlayerConfig.PlayerEntry( + D7ServerLite.getInst().getPluginConfig().getDefaultStatus(), player.getName(), false)); + D7ServerLite.getInst().getPlayerConfig().Save(); + } + } +} \ No newline at end of file