From 0324e79af5e5a527c2bcc6967b7f52258aafac89 Mon Sep 17 00:00:00 2001 From: Sebastian Kuipers Date: Mon, 2 Jun 2025 15:32:58 +0200 Subject: [PATCH 1/5] Initial work on nicer text handling --- .../commands/MiniGameCommand.java | 13 ++++++++++- .../utils/ChatComponentHandler.java | 22 +++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 src/main/java/wueffi/MiniGameCore/utils/ChatComponentHandler.java diff --git a/src/main/java/wueffi/MiniGameCore/commands/MiniGameCommand.java b/src/main/java/wueffi/MiniGameCore/commands/MiniGameCommand.java index 62c5a62..7a0f633 100644 --- a/src/main/java/wueffi/MiniGameCore/commands/MiniGameCommand.java +++ b/src/main/java/wueffi/MiniGameCore/commands/MiniGameCommand.java @@ -1,5 +1,8 @@ package wueffi.MiniGameCore.commands; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.TextComponent; +import net.kyori.adventure.text.format.NamedTextColor; import org.bukkit.*; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; @@ -194,7 +197,7 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String return true; } if (args.length >= 2) { - player.sendMessage("§cToo many Args! Usage: /mg unready"); + player.sendMessage("§cToo many Args! Usage: /mg ready"); return true; } @@ -213,6 +216,10 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String if (!lobby.ready(player)) { player.sendMessage("§8[§6MiniGameCore§8] §cCould not ready!"); return true; + } else { + final TextComponent component = ChatComponentHandler.CreateBaseComponent(); + ChatComponentHandler.AddColorText(component, "You are now ready!", NamedTextColor.GREEN); + player.sendMessage(component); } break; @@ -241,6 +248,10 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String if (!lobby.unready(player)) { player.sendMessage("§8[§6MiniGameCore§8] §cCould not unready!"); return true; + } else { + final TextComponent component = ChatComponentHandler.CreateBaseComponent(); + ChatComponentHandler.AddColorText(component, "You are no longer ready!", NamedTextColor.RED); + player.sendMessage(component); } break; diff --git a/src/main/java/wueffi/MiniGameCore/utils/ChatComponentHandler.java b/src/main/java/wueffi/MiniGameCore/utils/ChatComponentHandler.java new file mode 100644 index 0000000..ffbc72c --- /dev/null +++ b/src/main/java/wueffi/MiniGameCore/utils/ChatComponentHandler.java @@ -0,0 +1,22 @@ +package wueffi.MiniGameCore.utils; + +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.TextComponent; +import net.kyori.adventure.text.format.NamedTextColor; +import net.kyori.adventure.text.format.TextColor; + +public class ChatComponentHandler { + public static TextComponent CreateBaseComponent() { + return Component.text("[").color(NamedTextColor.DARK_GRAY) + .append(Component.text("MiniGameCore").color(NamedTextColor.GOLD)) + .append(Component.text("]").color(NamedTextColor.DARK_GRAY)); + } + + public static TextComponent AddColorText(TextComponent component, String text, NamedTextColor color) { + return component.append(Component.text(text)).color(color); + } + + public static TextComponent AddColorText(TextComponent component, String text, TextColor color) { + return component.append(Component.text(text)).color(color); + } +} From ee2a20318f7019fb7f12ebd3f1e3c6bb85402d81 Mon Sep 17 00:00:00 2001 From: Sebastian Kuipers Date: Mon, 2 Jun 2025 15:34:10 +0200 Subject: [PATCH 2/5] Fix a bug with order --- .../java/wueffi/MiniGameCore/utils/ChatComponentHandler.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/wueffi/MiniGameCore/utils/ChatComponentHandler.java b/src/main/java/wueffi/MiniGameCore/utils/ChatComponentHandler.java index ffbc72c..d209230 100644 --- a/src/main/java/wueffi/MiniGameCore/utils/ChatComponentHandler.java +++ b/src/main/java/wueffi/MiniGameCore/utils/ChatComponentHandler.java @@ -13,10 +13,10 @@ public static TextComponent CreateBaseComponent() { } public static TextComponent AddColorText(TextComponent component, String text, NamedTextColor color) { - return component.append(Component.text(text)).color(color); + return component.append(Component.text(text).color(color)); } public static TextComponent AddColorText(TextComponent component, String text, TextColor color) { - return component.append(Component.text(text)).color(color); + return component.append(Component.text(text).color(color)); } } From 3f02eac364d638f6524b9544ad0a96094801b140 Mon Sep 17 00:00:00 2001 From: sebkuip Date: Tue, 3 Jun 2025 14:13:46 +0200 Subject: [PATCH 3/5] Changed all commands over to use TextComponents due to direct strings being obsolete/unsupported --- .../commands/MiniGameCommand.java | 196 +++++++++--------- .../utils/ChatComponentHandler.java | 22 -- .../MiniGameCore/utils/ComponentFactory.java | 45 ++++ 3 files changed, 147 insertions(+), 116 deletions(-) delete mode 100644 src/main/java/wueffi/MiniGameCore/utils/ChatComponentHandler.java create mode 100644 src/main/java/wueffi/MiniGameCore/utils/ComponentFactory.java diff --git a/src/main/java/wueffi/MiniGameCore/commands/MiniGameCommand.java b/src/main/java/wueffi/MiniGameCore/commands/MiniGameCommand.java index 7a0f633..e0a67f5 100644 --- a/src/main/java/wueffi/MiniGameCore/commands/MiniGameCommand.java +++ b/src/main/java/wueffi/MiniGameCore/commands/MiniGameCommand.java @@ -1,7 +1,5 @@ package wueffi.MiniGameCore.commands; -import net.kyori.adventure.text.Component; -import net.kyori.adventure.text.TextComponent; import net.kyori.adventure.text.format.NamedTextColor; import org.bukkit.*; import org.bukkit.command.Command; @@ -54,66 +52,64 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String LobbyManager lobbyManager = LobbyManager.getInstance(); if (!(sender instanceof Player player)) { - sender.sendMessage("Yo console User, only players can use this command!"); + sender.sendMessage(new ComponentFactory("Yo console User, only players can use this command!").toComponent()); return true; } HashMap commands_permissions = getCommandsPermissions(); if (args.length < 1) { - StringBuilder availableCommands = new StringBuilder("§fUsage: §6/mg <"); + ComponentFactory availableCommands = new ComponentFactory("Usage: "); + availableCommands.addColorText("/mg <", NamedTextColor.GOLD); - for (String command: commands_permissions.keySet()) { + for (String command : commands_permissions.keySet()) { if (player.hasPermission(commands_permissions.get(command))) { - availableCommands.append(command).append(" | "); + availableCommands.addText(command).addText(" | "); } } - if (!availableCommands.isEmpty()) { - availableCommands.setLength(availableCommands.length() - 3); - } - availableCommands.append(">"); - player.sendMessage(availableCommands.toString()); + availableCommands.addText(">"); + player.sendMessage(availableCommands.toComponent()); return true; } switch (args[0].toLowerCase()) { case "host": if (plugin.getBannedPlayers().contains(player.getUniqueId())) { - player.sendMessage("§cYou were banned by an Administrator."); + player.sendMessage(new ComponentFactory("You were banned by an Administrator.", NamedTextColor.RED).toComponent()); return true; } if (args.length < 2) { - player.sendMessage("§cMissing Args! Usage: /mg host "); + player.sendMessage(new ComponentFactory("Missing Args! Usage: /mg host ", NamedTextColor.RED).toComponent()); return true; } if (!player.hasPermission("mgcore.host")) { - player.sendMessage("§cYou have no permissions to use this Command!"); + player.sendMessage(new ComponentFactory("You have no permissions to use this Command!", NamedTextColor.RED).toComponent()); return true; } if (LobbyManager.getLobbyByPlayer(player) != null) { - player.sendMessage("§8[§6MiniGameCore§8] §cYou are already in another lobby!"); + player.sendMessage(new ComponentFactory("You are already in another lobby!", NamedTextColor.RED).toComponent()); return true; } String gameName = args[1]; if (!plugin.getAvailableGames().contains(gameName)) { - player.sendMessage("§8[§6MiniGameCore§8] §cGame " + gameName + " not available!"); + player.sendMessage(new ComponentFactory("Game " + gameName + " not available!", NamedTextColor.RED).toComponent()); return true; } GameManager gameManager = new GameManager(plugin); gameManager.hostGame(gameName, sender); - player.sendMessage("§8[§6MiniGameCore§8]§a Hosting game: " + args[1]); + player.sendMessage(new ComponentFactory("Hosting game: " + args[1], NamedTextColor.GREEN).toComponent()); ScoreBoardManager.setPlayerStatus(player, "WAITING"); Lobby lobby = LobbyManager.getLobbyByPlayer(player); lobby.setLobbyState("WAITING"); - player.sendMessage("§8[§6MiniGameCore§8]§a If you are ready use /mg ready to ready-up!"); + player.sendMessage(new ComponentFactory("If you are ready use /mg ready to ready-up!", NamedTextColor.GREEN).toComponent()); break; case "join": if (plugin.getBannedPlayers().contains(player.getUniqueId())) { - player.sendMessage("§cYou were banned by an Administrator."); + player.sendMessage(new ComponentFactory("You were banned by an Administrator.", NamedTextColor.RED).toComponent()); return true; } if (args.length < 2) { - player.sendMessage("§cMissing Args! Usage: /mg join "); + player.sendMessage(new ComponentFactory("Missing Args! Usage: /mg join ", NamedTextColor.RED).toComponent()); return true; } @@ -121,30 +117,30 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String lobby = lobbyManager.getLobby(lobbyName); if (LobbyManager.getLobbyByPlayer(player) != null) { - player.sendMessage("§8[§6MiniGameCore§8] §cYou are already in another lobby!"); + player.sendMessage(new ComponentFactory("You are already in another lobby!", NamedTextColor.RED).toComponent()); return true; } if (!Objects.equals(lobby.getLobbyState(), "WAITING")) { - player.sendMessage("§8[§6MiniGameCore§8] §cThe game already started!"); + player.sendMessage(new ComponentFactory("The game already started!", NamedTextColor.RED).toComponent()); return true; } if (lobby == null) { - player.sendMessage("§8[§6MiniGameCore§8] §cLobby not found!"); + player.sendMessage(new ComponentFactory("Lobby not found!", NamedTextColor.RED).toComponent()); return true; } if (lobby.isFull()) { - player.sendMessage("§8[§6MiniGameCore§8] §cLobby is already full!"); + player.sendMessage(new ComponentFactory("Lobby is already full!", NamedTextColor.RED).toComponent()); return true; } if (!lobby.addPlayer(player)) { - player.sendMessage("§8[§6MiniGameCore§8] §cCould not join the lobby."); + player.sendMessage(new ComponentFactory("Could not join the lobby.", NamedTextColor.RED).toComponent()); return true; } for (Player gamer : lobby.getPlayers()) { - gamer.sendMessage("§8[§6MiniGameCore§8]§a " + player.getName() + " joined! " + lobby.getPlayers().size() + "/" + lobby.getMaxPlayers() + " players."); + gamer.sendMessage(new ComponentFactory(player.getName() + " joined! " + lobby.getPlayers().size() + "/" + lobby.getMaxPlayers() + " players.", NamedTextColor.GREEN).toComponent()); } World world = Bukkit.getWorld(lobby.getWorldFolder().getName()); if (world == null) { @@ -157,174 +153,174 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String PlayerHandler.PlayerSoftReset(player); player.setGameMode(GameMode.SURVIVAL); ScoreBoardManager.setPlayerStatus(player, "WAITING"); - player.sendMessage("§8[§6MiniGameCore§8]§a If you are ready use /mg ready to ready-up!"); + player.sendMessage(new ComponentFactory("If you are ready use /mg ready to ready-up!", NamedTextColor.GREEN).toComponent()); break; case "confirm": if (!player.hasPermission("mgcore.confirm")) { - player.sendMessage("§cYou have no permissions to use this Command!"); + player.sendMessage(new ComponentFactory("You have no permissions to use this Command!", NamedTextColor.RED).toComponent()); return true; } if (args.length >= 2) { - player.sendMessage("§cToo many Args! Usage: /mg confirm"); + player.sendMessage(new ComponentFactory("Too many Args! Usage: /mg confirm", NamedTextColor.RED).toComponent()); return true; } if (!confirmations.containsKey(player)) { - player.sendMessage("§cYou have nothing to confirm!"); + player.sendMessage(new ComponentFactory("You have nothing to confirm!", NamedTextColor.RED).toComponent()); return true; } Lobby confirmLobby = confirmations.remove(player); if (confirmLobby == null || !"WAITING".equals(confirmLobby.getLobbyState())) { - player.sendMessage("§8[§6MiniGameCore§8] §cThe Lobby already started or is no longer valid!"); + player.sendMessage(new ComponentFactory("The Lobby already started or is no longer valid!", NamedTextColor.RED).toComponent()); return true; } if (player != confirmLobby.getOwner()) { - player.sendMessage("§8[§6MiniGameCore§8] §cYou are not the owner of this lobby! How did you manage to do this?"); + player.sendMessage(new ComponentFactory("You are not the owner of this lobby! How did you manage to do this?", NamedTextColor.RED).toComponent()); return true; } for (Player p : confirmLobby.getPlayers()) { - p.sendMessage("§8[§6MiniGameCore§8]" + confirmLobby.getOwner().getName() + " force-started the Game!"); + p.sendMessage(new ComponentFactory(confirmLobby.getOwner().getName() + " force-started the Game!" + , NamedTextColor.GOLD).toComponent()); } - player.sendMessage("§8[§6MiniGameCore§8] §aStarting game: " + confirmLobby.getLobbyId()); + player.sendMessage(new ComponentFactory("Starting game: " + confirmLobby.getLobbyId(), + NamedTextColor.GREEN).toComponent()); GameManager.startGame(confirmLobby); case "ready": if (!player.hasPermission("mgcore.ready")) { - player.sendMessage("§cYou have no permissions to use this Command!"); + player.sendMessage(new ComponentFactory("You have no permissions to use this Command!", NamedTextColor.RED).toComponent()); return true; } if (args.length >= 2) { - player.sendMessage("§cToo many Args! Usage: /mg ready"); + player.sendMessage(new ComponentFactory("Too many Args! Usage: /mg ready", NamedTextColor.RED).toComponent()); return true; } if (LobbyManager.getLobbyByPlayer(player) == null) { - player.sendMessage("§8[§6MiniGameCore§8] §cYou are in no lobby!"); + player.sendMessage(new ComponentFactory("You are not in a lobby!", NamedTextColor.RED).toComponent()); return true; } lobby = LobbyManager.getLobbyByPlayer(player); if (!Objects.equals(lobby.getLobbyState(), "WAITING")) { - player.sendMessage("§8[§6MiniGameCore§8] §cThe game already started!"); + player.sendMessage(new ComponentFactory("The game already started!", NamedTextColor.RED).toComponent()); return true; } if (!lobby.ready(player)) { - player.sendMessage("§8[§6MiniGameCore§8] §cCould not ready!"); + player.sendMessage(new ComponentFactory("Could not ready!", NamedTextColor.RED).toComponent()); return true; } else { - final TextComponent component = ChatComponentHandler.CreateBaseComponent(); - ChatComponentHandler.AddColorText(component, "You are now ready!", NamedTextColor.GREEN); - player.sendMessage(component); + player.sendMessage(new ComponentFactory("You are now ready!", NamedTextColor.GREEN).toComponent()); + return true; } - break; case "unready": if (!player.hasPermission("mgcore.unready")) { - player.sendMessage("§cYou have no permissions to use this Command!"); + player.sendMessage(new ComponentFactory("You have no permissions to use this Command!", NamedTextColor.RED).toComponent()); return true; } if (args.length >= 2) { - player.sendMessage("§cToo many Args! Usage: /mg unready"); + player.sendMessage(new ComponentFactory("Too many Args! Usage: /mg unready", NamedTextColor.RED).toComponent()); return true; } if (LobbyManager.getLobbyByPlayer(player) == null) { - player.sendMessage("§8[§6MiniGameCore§8] §cYou are in no lobby!"); + player.sendMessage(new ComponentFactory("You are in no lobby!", NamedTextColor.RED).toComponent()); return true; } lobby = LobbyManager.getLobbyByPlayer(player); if (!Objects.equals(lobby.getLobbyState(), "WAITING")) { - player.sendMessage("§8[§6MiniGameCore§8] §cThe game already started!"); + player.sendMessage(new ComponentFactory("The game already started!", NamedTextColor.RED).toComponent()); return true; } if (!lobby.unready(player)) { - player.sendMessage("§8[§6MiniGameCore§8] §cCould not unready!"); + player.sendMessage(new ComponentFactory("Could not unready!", NamedTextColor.RED).toComponent()); return true; } else { - final TextComponent component = ChatComponentHandler.CreateBaseComponent(); - ChatComponentHandler.AddColorText(component, "You are no longer ready!", NamedTextColor.RED); - player.sendMessage(component); + player.sendMessage(new ComponentFactory("You are no longer ready!", NamedTextColor.RED).toComponent()); + return true; } - break; case "leave": if (args.length >= 2) { - player.sendMessage("§cToo many Args! Usage: /mg leave"); + player.sendMessage(new ComponentFactory("Too many Args! Usage: /mg leave", NamedTextColor.RED).toComponent()); return true; } lobby = LobbyManager.getLobbyByPlayer(player); if (lobby == null) { - player.sendMessage("§8[§6MiniGameCore§8] §cYou are not in any lobby!"); + player.sendMessage(new ComponentFactory("You are not in any lobby!", NamedTextColor.RED).toComponent()); return true; } if (lobby.removePlayer(player)) { PlayerHandler.PlayerReset(player); for (Player gamer : lobby.getPlayers()) { - gamer.sendMessage("§8[§6MiniGameCore§8]§a " + player.getName() + " left the Lobby! " + lobby.getPlayers().size() + "/" + lobby.getMaxPlayers() + " players."); + gamer.sendMessage(new ComponentFactory(player.getName() + " left the Lobby! " + lobby.getPlayers().size() + "/" + lobby.getMaxPlayers() + " players.", NamedTextColor.GREEN).toComponent()); } if (lobby.isOwner(player) || lobby.getPlayers().isEmpty()) { - player.sendMessage("§8[§6MiniGameCore§8] §cYou were the owner of this lobby. The game will now be stopped."); + player.sendMessage(new ComponentFactory("You were the owner of this lobby. The game will now " + + "be stopped.", NamedTextColor.RED).toComponent()); for (Player gamer : lobby.getPlayers()) { - gamer.sendMessage("§8[§6MiniGameCore§8]§c Lobby Owner " + player.getName() + " left the Lobby! Resetting..."); + gamer.sendMessage(new ComponentFactory("Lobby Owner " + player.getName() + " left the " + + "Lobby! Resetting...", NamedTextColor.RED).toComponent()); PlayerHandler.PlayerReset(gamer); } LobbyHandler.LobbyReset(lobby); } ScoreBoardManager.setPlayerStatus(player, "NONE"); } else { - player.sendMessage("§8[§6MiniGameCore§8] §cFailed to leave the game. Please try again."); + player.sendMessage(new ComponentFactory("Failed to leave the game. Please try again.", NamedTextColor.RED).toComponent()); } break; case "start": if (!player.hasPermission("mgcore.start")) { - player.sendMessage("§cYou have no permissions to use this command!"); + player.sendMessage(new ComponentFactory("You have no permissions to use this command!", NamedTextColor.RED).toComponent()); return true; } lobby = LobbyManager.getLobbyByPlayer(player); if (lobby == null) { - player.sendMessage("§8[§6MiniGameCore§8] §cYou are not in a lobby!"); + player.sendMessage(new ComponentFactory("You are not in a lobby!", NamedTextColor.RED).toComponent()); return true; } if (!lobby.isOwner(player)) { - player.sendMessage("§8[§6MiniGameCore§8] §cOnly the lobby owner can start the game!"); + player.sendMessage(new ComponentFactory("Only the lobby owner can start the game!", NamedTextColor.RED).toComponent()); return true; } if (!(lobby.getReadyPlayers().size() == lobby.getPlayers().size())) { - player.sendMessage("§8[§6MiniGameCore§8] §cNot everyone is ready! To continue, run /mg confirm."); + player.sendMessage(new ComponentFactory("Not everyone is ready! To continue, run /mg confirm.", NamedTextColor.RED).toComponent()); confirmations.put(player, lobby); return true; } GameManager.startGame(lobby); - player.sendMessage("§8[§6MiniGameCore§8] §aStarting game: " + lobby.getLobbyId()); + player.sendMessage(new ComponentFactory("Starting game: " + lobby.getLobbyId(), NamedTextColor.GREEN).toComponent()); break; case "spectate": if (args.length < 2) { - player.sendMessage("§cMissing Args! Usage: /mg spectate "); + player.sendMessage(new ComponentFactory("Missing Args! Usage: /mg spectate ", NamedTextColor.RED).toComponent()); return true; } if (!player.hasPermission("mgcore.spectate")) { - player.sendMessage("§cYou have no permissions to use this Command!"); + player.sendMessage(new ComponentFactory("You have no permissions to use this Command!", NamedTextColor.RED).toComponent()); return true; } if (LobbyManager.getLobbyByPlayer(player) != null) { - player.sendMessage("§8[§6MiniGameCore§8] §cYou are already in a game! Type /mg leave to leave!"); + player.sendMessage(new ComponentFactory("You are already in a game! Type /mg leave to leave!", NamedTextColor.RED).toComponent()); return true; } @@ -332,30 +328,31 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String Player targetPlayer = Bukkit.getPlayer(target); if (targetPlayer != null && targetPlayer.isOnline()) { - player.sendMessage("§8[§6MiniGameCore§8] §aYou are now spectating " + targetPlayer.getName() + "."); + player.sendMessage(new ComponentFactory("You are now spectating " + targetPlayer.getName() + ".", + NamedTextColor.GREEN).toComponent()); player.teleport(targetPlayer); player.setGameMode(GameMode.SPECTATOR); } else { lobby = LobbyManager.getInstance().getLobby(target); if (lobby != null) { - player.sendMessage("§8[§6MiniGameCore§8] §aYou are now spectating the lobby of " + lobby.getOwner().getName() + "."); + player.sendMessage(new ComponentFactory("You are now spectating the lobby of " + lobby.getOwner().getName() + ".", NamedTextColor.GREEN).toComponent()); player.teleport(lobby.getOwner()); player.setGameMode(GameMode.SPECTATOR); } else { - player.sendMessage("§8[§6MiniGameCore§8]§cNo player or lobby found with that name."); + player.sendMessage(new ComponentFactory("No player or lobby found with that name.", NamedTextColor.RED).toComponent()); } } break; case "stats": if (args.length == 1) { - player.sendMessage("§cUsage: /mg stats "); + player.sendMessage(new ComponentFactory("Usage: /mg stats ", NamedTextColor.RED).toComponent()); return true; } OfflinePlayer targetplayer = Bukkit.getOfflinePlayer(args[1]); - player.sendMessage("§8[§6MiniGameCore§8] §6Stats for " + targetplayer.getName() + ":"); + player.sendMessage(new ComponentFactory("Stats for " + targetplayer.getName() + ":", NamedTextColor.GOLD).toComponent()); for (String game : plugin.getAvailableGames()) { int played = Stats.getPlayed(game, targetplayer); @@ -368,74 +365,85 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String winrate = ((float) wins / played) * 100; winrate = Math.round(winrate * 10) / 10.0f; } - player.sendMessage("§7- §a" + game + "§7: §f" + played + " §agames played, §6" + wins + " §agames won, §c" + losses + " §alost. Win rate: §3" + winrate + "§a%"); + player.sendMessage(new ComponentFactory("- ", NamedTextColor.GRAY) + .addColorText(game.toString(), NamedTextColor.GREEN) + .addColorText(": ", NamedTextColor.GRAY) + .addColorText(Integer.toString(played), NamedTextColor.WHITE) + .addColorText(" games played, ", NamedTextColor.GREEN) + .addColorText(Integer.toString(wins), NamedTextColor.GOLD) + .addColorText(" games won, ", NamedTextColor.GREEN) + .addColorText(Integer.toString(losses), NamedTextColor.RED) + .addColorText(" lost. Win rate: ", NamedTextColor.GREEN) + .addColorText(Float.toString(winrate), NamedTextColor.DARK_AQUA) + .addColorText("%", NamedTextColor.GREEN) + .toComponent()); } } break; case "reload": if (!player.hasPermission("mgcore.admin")) { - player.sendMessage("§cYou have no permissions to use this Command!"); + player.sendMessage(new ComponentFactory("You have no permissions to use this Command!", NamedTextColor.RED).toComponent()); return true; } plugin.reloadConfig(); Stats.setup(); - player.sendMessage("§8[§6MiniGameCore§8] §aPlugin reloaded!"); + player.sendMessage(new ComponentFactory("Plugin reloaded!", NamedTextColor.GREEN).toComponent()); break; case "stopall": if (!player.hasPermission("mgcore.admin")) { - player.sendMessage("§cYou have no permissions to use this Command!"); + player.sendMessage(new ComponentFactory("", NamedTextColor.RED).toComponent()); return true; } if (lobbyManager.getOpenLobbies() == null) { - player.sendMessage("§8[§6MiniGameCore§8] §cNo active Lobbies."); + player.sendMessage(new ComponentFactory("No active Lobbies.", NamedTextColor.RED).toComponent()); return true; } - player.sendMessage("§8[§6MiniGameCore§8] §cStopping all games!"); + player.sendMessage(new ComponentFactory("Stopping all games!", NamedTextColor.RED).toComponent()); for (Lobby lobby1 : LobbyManager.getInstance().getOpenLobbies()) { for (Player gamer : lobby1.getPlayers()) { - gamer.sendMessage("§8[§6MiniGameCore§8]§c Administrator stopped the game! Resetting..."); + gamer.sendMessage(new ComponentFactory("Administrator stopped the game! Resetting...", NamedTextColor.RED).toComponent()); PlayerHandler.PlayerReset(gamer); LobbyHandler.LobbyReset(lobby1); } } - player.sendMessage("§8[§6MiniGameCore§8] §cStopped all games."); + player.sendMessage(new ComponentFactory("Stopped all games.", NamedTextColor.RED).toComponent()); break; case "stop": if (!player.hasPermission("mgcore.admin")) { - player.sendMessage("§cNo permission!"); + player.sendMessage(new ComponentFactory("You have no permissions to use this Command!", NamedTextColor.RED).toComponent()); return true; } if (args.length < 2) { - player.sendMessage("§cMissing Args! Usage: /mg stop "); + player.sendMessage(new ComponentFactory("Missing Args! Usage: /mg stop ", NamedTextColor.RED).toComponent()); return true; } if (lobbyManager.getLobby(args[1]) == null) { - player.sendMessage("§8[§6MiniGameCore§8] §cNo active Lobbies."); + player.sendMessage(new ComponentFactory("No active Lobbies.", NamedTextColor.RED).toComponent()); return true; } - player.sendMessage("§8[§6MiniGameCore§8] §cStopping game: " + args[1]); + player.sendMessage(new ComponentFactory("Stopping game: " + args[1], NamedTextColor.RED).toComponent()); lobby = lobbyManager.getLobby(args[1]); for (Player gamer : lobby.getPlayers()) { - gamer.sendMessage("§8[§6MiniGameCore§8]§c Administrator stopped the game! Resetting..."); + gamer.sendMessage(new ComponentFactory("Administrator stopped the game! Resetting...", NamedTextColor.RED).toComponent()); PlayerHandler.PlayerReset(gamer); LobbyHandler.LobbyReset(lobby); } - player.sendMessage("§8[§6MiniGameCore§8] §cStopped game: " + args[1]); + player.sendMessage(new ComponentFactory("Stopped game: " + args[1], NamedTextColor.RED).toComponent()); break; case "ban": if (!player.hasPermission("mgcore.admin")) { - player.sendMessage("§cYou don't have permissions to use this Command!"); + player.sendMessage(new ComponentFactory("You have no permissions to use this Command!", NamedTextColor.RED).toComponent()); return true; } if (args.length < 2) { - player.sendMessage("§cMissing Args! Usage: /mg ban "); + player.sendMessage(new ComponentFactory("Missing Args! Usage: /mg ban ", NamedTextColor.RED).toComponent()); return true; } - player.sendMessage("§8[§6MiniGameCore§8] §cBanning player: " + args[1]); + player.sendMessage(new ComponentFactory("Banning player: " + args[1], NamedTextColor.RED).toComponent()); plugin.banPlayer(Bukkit.getPlayer(args[1]).getUniqueId()); if (args.length == 2) { getLogger().info(player.getName() + " banned Player: " + args[1] + "."); @@ -444,26 +452,26 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String String reason = String.join(" ", tempReason); getLogger().info(player.getName() + " banned Player: " + args[1] + "with reason: " + reason); } - player.sendMessage("§8[§6MiniGameCore§8] §cBanned player: " + args[1]); + player.sendMessage(new ComponentFactory("Banned player: " + args[1], NamedTextColor.RED).toComponent()); break; case "unban": if (!player.hasPermission("mgcore.admin")) { - player.sendMessage("§cYou don't have permissions to use this Command!"); + player.sendMessage(new ComponentFactory("You have no permissions to use this Command!", NamedTextColor.RED).toComponent()); return true; } if (args.length < 2) { - player.sendMessage("§cMissing Args! Usage: /mg unban "); + player.sendMessage(new ComponentFactory("Missing Args! Usage: /mg unban ", NamedTextColor.RED).toComponent()); return true; } - player.sendMessage("§8[§6MiniGameCore§8] §cUnbanning player: " + args[1]); + player.sendMessage(new ComponentFactory("Unbanning player: " + args[1], NamedTextColor.RED).toComponent()); plugin.unbanPlayer(Bukkit.getPlayer(args[1]).getUniqueId()); getLogger().info(player.getName() + " unbanned Player: " + args[1] + "."); - player.sendMessage("§8[§6MiniGameCore§8] §cUnbanned player: " + args[1]); + player.sendMessage(new ComponentFactory("Unbanned player: " + args[1], NamedTextColor.RED).toComponent()); break; default: - player.sendMessage("§8[§6MiniGameCore§8] §cUnknown subcommand!"); + player.sendMessage(new ComponentFactory("Unknown subcommand!", NamedTextColor.RED).toComponent()); break; } diff --git a/src/main/java/wueffi/MiniGameCore/utils/ChatComponentHandler.java b/src/main/java/wueffi/MiniGameCore/utils/ChatComponentHandler.java deleted file mode 100644 index d209230..0000000 --- a/src/main/java/wueffi/MiniGameCore/utils/ChatComponentHandler.java +++ /dev/null @@ -1,22 +0,0 @@ -package wueffi.MiniGameCore.utils; - -import net.kyori.adventure.text.Component; -import net.kyori.adventure.text.TextComponent; -import net.kyori.adventure.text.format.NamedTextColor; -import net.kyori.adventure.text.format.TextColor; - -public class ChatComponentHandler { - public static TextComponent CreateBaseComponent() { - return Component.text("[").color(NamedTextColor.DARK_GRAY) - .append(Component.text("MiniGameCore").color(NamedTextColor.GOLD)) - .append(Component.text("]").color(NamedTextColor.DARK_GRAY)); - } - - public static TextComponent AddColorText(TextComponent component, String text, NamedTextColor color) { - return component.append(Component.text(text).color(color)); - } - - public static TextComponent AddColorText(TextComponent component, String text, TextColor color) { - return component.append(Component.text(text).color(color)); - } -} diff --git a/src/main/java/wueffi/MiniGameCore/utils/ComponentFactory.java b/src/main/java/wueffi/MiniGameCore/utils/ComponentFactory.java new file mode 100644 index 0000000..6d1212e --- /dev/null +++ b/src/main/java/wueffi/MiniGameCore/utils/ComponentFactory.java @@ -0,0 +1,45 @@ +package wueffi.MiniGameCore.utils; + +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.TextComponent; +import net.kyori.adventure.text.format.NamedTextColor; +import net.kyori.adventure.text.format.TextColor; + +public class ComponentFactory { + TextComponent component; + + public ComponentFactory() { + component = Component.text("[").color(NamedTextColor.DARK_GRAY) + .append(Component.text("MiniGameCore").color(NamedTextColor.GOLD)) + .append(Component.text("] ").color(NamedTextColor.DARK_GRAY)); + } + + public ComponentFactory(String text) { + this(); + this.component = component.append(Component.text(text)); + } + + public ComponentFactory(String text, NamedTextColor color) { + this(); + this.component = component.append(Component.text(text).color(color)); + } + + public ComponentFactory addText(String text) { + this.component = component.append(Component.text(text)); + return this; + } + + public ComponentFactory addColorText(String text, NamedTextColor color) { + this.component = component.append(Component.text(text).color(color)); + return this; + } + + public ComponentFactory addColorText(String text, TextColor color) { + this.component = component.append(Component.text(text).color(color)); + return this; + } + + public TextComponent toComponent() { + return component; + } +} From 89f438d32af32e8623caf1838f1d0cbe446757d2 Mon Sep 17 00:00:00 2001 From: sebkuip Date: Tue, 3 Jun 2025 15:29:27 +0200 Subject: [PATCH 4/5] Now uses a builder instead of making a new component every time due to immutable. --- .../MiniGameCore/utils/ComponentFactory.java | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/main/java/wueffi/MiniGameCore/utils/ComponentFactory.java b/src/main/java/wueffi/MiniGameCore/utils/ComponentFactory.java index 6d1212e..338b188 100644 --- a/src/main/java/wueffi/MiniGameCore/utils/ComponentFactory.java +++ b/src/main/java/wueffi/MiniGameCore/utils/ComponentFactory.java @@ -6,40 +6,41 @@ import net.kyori.adventure.text.format.TextColor; public class ComponentFactory { - TextComponent component; + TextComponent.Builder component; public ComponentFactory() { - component = Component.text("[").color(NamedTextColor.DARK_GRAY) - .append(Component.text("MiniGameCore").color(NamedTextColor.GOLD)) - .append(Component.text("] ").color(NamedTextColor.DARK_GRAY)); + component = Component.text(); + this.addColorText("[", NamedTextColor.DARK_GRAY); + this.addColorText("MiniGameCore", NamedTextColor.GOLD); + this.addColorText("] ", NamedTextColor.DARK_GRAY); } public ComponentFactory(String text) { this(); - this.component = component.append(Component.text(text)); + this.addText(text); } public ComponentFactory(String text, NamedTextColor color) { this(); - this.component = component.append(Component.text(text).color(color)); + this.addColorText(text, color); } public ComponentFactory addText(String text) { - this.component = component.append(Component.text(text)); + component.append(Component.text(text)); return this; } public ComponentFactory addColorText(String text, NamedTextColor color) { - this.component = component.append(Component.text(text).color(color)); + component.append(Component.text(text).color(color)); return this; } public ComponentFactory addColorText(String text, TextColor color) { - this.component = component.append(Component.text(text).color(color)); + component.append(Component.text(text).color(color)); return this; } public TextComponent toComponent() { - return component; + return component.build(); } } From 16394556ccfa23b9458bc4d9e02b493186af7176 Mon Sep 17 00:00:00 2001 From: sebkuip Date: Tue, 3 Jun 2025 17:17:30 +0200 Subject: [PATCH 5/5] Changed titles and logger to not be deprecated anymore. --- .../wueffi/MiniGameCore/MiniGameCore.java | 25 ++++++----- .../commands/MiniGameCommand.java | 15 +++---- .../MiniGameCore/managers/GameManager.java | 44 +++++++++++++++---- .../MiniGameCore/managers/LobbyManager.java | 2 + .../managers/ScoreBoardManager.java | 2 - .../MiniGameCore/utils/ComponentFactory.java | 2 +- .../MiniGameCore/utils/LobbyHandler.java | 6 +-- .../wueffi/MiniGameCore/utils/ScoreBoard.java | 12 +++-- 8 files changed, 71 insertions(+), 37 deletions(-) diff --git a/src/main/java/wueffi/MiniGameCore/MiniGameCore.java b/src/main/java/wueffi/MiniGameCore/MiniGameCore.java index 99764ec..4abea9b 100644 --- a/src/main/java/wueffi/MiniGameCore/MiniGameCore.java +++ b/src/main/java/wueffi/MiniGameCore/MiniGameCore.java @@ -14,13 +14,13 @@ import java.util.UUID; public class MiniGameCore extends JavaPlugin { - private final MiniGameCore plugin = this; + private static MiniGameCore plugin; private List availableGames; private List bannedPlayers; @Override public void onEnable() { - getLogger().info("MinigameCore enabled!"); + plugin.getLogger().info("MinigameCore enabled!"); saveDefaultConfig(); List availableGames = getConfig().getStringList("available-games"); @@ -35,14 +35,14 @@ public void onEnable() { } this.availableGames = availableGames; this.bannedPlayers = bannedPlayers; - getLogger().info("Config loaded!"); + plugin.getLogger().info("Config loaded!"); Stats.setup(); - getLogger().info("Stats loaded!"); + plugin.getLogger().info("Stats loaded!"); getCommand("mg").setExecutor(new MiniGameCommand(this)); getCommand("mg").setTabCompleter(new MiniGameTabCompleter(this)); - getLogger().info("Commands registered!"); + plugin.getLogger().info("Commands registered!"); ScoreBoardManager.startAnimationLoop(); @@ -54,17 +54,17 @@ public void onEnable() { public void onDisable() { for (Lobby lobby : LobbyManager.getInstance().getOpenLobbies()) { String lobbyid = lobby.getLobbyId(); - getLogger().info("Lobby: " + lobbyid); + plugin.getLogger().info("Lobby: " + lobbyid); for (Player player : LobbyManager.getInstance().getLobby(lobbyid).getPlayers()) { - getLogger().info("Player: " + lobbyid); + plugin.getLogger().info("Player: " + lobbyid); PlayerHandler.PlayerReset(player); } - getLogger().info("Lobby disabling: " + lobbyid); + plugin.getLogger().info("Lobby disabling: " + lobbyid); LobbyHandler.LobbyReset(LobbyManager.getInstance().getLobby(lobbyid)); - getLogger().info("Shut down Lobby: " + lobbyid); + plugin.getLogger().info("Shut down Lobby: " + lobbyid); } GameManager.frozenPlayers.clear(); - getLogger().info("MinigameCore disabled!"); + plugin.getLogger().info("MinigameCore disabled!"); } public List getAvailableGames() { @@ -94,7 +94,10 @@ public void unbanPlayer(UUID player) { writeBannedPlayers(); } - public MiniGameCore getPlugin() { + public static MiniGameCore getPlugin() { + if (plugin == null) { + plugin = JavaPlugin.getPlugin(MiniGameCore.class); + } return plugin; } } diff --git a/src/main/java/wueffi/MiniGameCore/commands/MiniGameCommand.java b/src/main/java/wueffi/MiniGameCore/commands/MiniGameCommand.java index e0a67f5..5e3a2cc 100644 --- a/src/main/java/wueffi/MiniGameCore/commands/MiniGameCommand.java +++ b/src/main/java/wueffi/MiniGameCore/commands/MiniGameCommand.java @@ -18,8 +18,6 @@ import java.util.Map; import java.util.Objects; -import static org.bukkit.Bukkit.getLogger; - public class MiniGameCommand implements CommandExecutor { private final MiniGameCore plugin; @@ -50,6 +48,7 @@ public MiniGameCommand(MiniGameCore plugin) { @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { LobbyManager lobbyManager = LobbyManager.getInstance(); + Lobby lobby; if (!(sender instanceof Player player)) { sender.sendMessage(new ComponentFactory("Yo console User, only players can use this command!").toComponent()); @@ -98,7 +97,7 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String gameManager.hostGame(gameName, sender); player.sendMessage(new ComponentFactory("Hosting game: " + args[1], NamedTextColor.GREEN).toComponent()); ScoreBoardManager.setPlayerStatus(player, "WAITING"); - Lobby lobby = LobbyManager.getLobbyByPlayer(player); + lobby = LobbyManager.getLobbyByPlayer(player); lobby.setLobbyState("WAITING"); player.sendMessage(new ComponentFactory("If you are ready use /mg ready to ready-up!", NamedTextColor.GREEN).toComponent()); break; @@ -144,7 +143,7 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String } World world = Bukkit.getWorld(lobby.getWorldFolder().getName()); if (world == null) { - getLogger().warning("World was null! Teleporting to Owner instead. Lobby: " + lobby.getLobbyId() + ", State: " + lobby.getLobbyState()); + MiniGameCore.getPlugin().getLogger().warning("World was null! Teleporting to Owner instead. Lobby: " + lobby.getLobbyId() + ", State: " + lobby.getLobbyState()); player.teleport(lobby.getOwner().getLocation()); } else { Location spawnLocation = world.getSpawnLocation(); @@ -366,7 +365,7 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String winrate = Math.round(winrate * 10) / 10.0f; } player.sendMessage(new ComponentFactory("- ", NamedTextColor.GRAY) - .addColorText(game.toString(), NamedTextColor.GREEN) + .addColorText(game, NamedTextColor.GREEN) .addColorText(": ", NamedTextColor.GRAY) .addColorText(Integer.toString(played), NamedTextColor.WHITE) .addColorText(" games played, ", NamedTextColor.GREEN) @@ -446,11 +445,11 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String player.sendMessage(new ComponentFactory("Banning player: " + args[1], NamedTextColor.RED).toComponent()); plugin.banPlayer(Bukkit.getPlayer(args[1]).getUniqueId()); if (args.length == 2) { - getLogger().info(player.getName() + " banned Player: " + args[1] + "."); + MiniGameCore.getPlugin().getLogger().info(player.getName() + " banned Player: " + args[1] + "."); } else { String[] tempReason = Arrays.copyOfRange(args, 2, args.length); String reason = String.join(" ", tempReason); - getLogger().info(player.getName() + " banned Player: " + args[1] + "with reason: " + reason); + MiniGameCore.getPlugin().getLogger().info(player.getName() + " banned Player: " + args[1] + "with reason: " + reason); } player.sendMessage(new ComponentFactory("Banned player: " + args[1], NamedTextColor.RED).toComponent()); break; @@ -466,7 +465,7 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String } player.sendMessage(new ComponentFactory("Unbanning player: " + args[1], NamedTextColor.RED).toComponent()); plugin.unbanPlayer(Bukkit.getPlayer(args[1]).getUniqueId()); - getLogger().info(player.getName() + " unbanned Player: " + args[1] + "."); + MiniGameCore.getPlugin().getLogger().info(player.getName() + " unbanned Player: " + args[1] + "."); player.sendMessage(new ComponentFactory("Unbanned player: " + args[1], NamedTextColor.RED).toComponent()); break; diff --git a/src/main/java/wueffi/MiniGameCore/managers/GameManager.java b/src/main/java/wueffi/MiniGameCore/managers/GameManager.java index e27e797..88be006 100644 --- a/src/main/java/wueffi/MiniGameCore/managers/GameManager.java +++ b/src/main/java/wueffi/MiniGameCore/managers/GameManager.java @@ -1,5 +1,8 @@ package wueffi.MiniGameCore.managers; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.format.NamedTextColor; +import net.kyori.adventure.title.Title; import org.bukkit.*; import org.bukkit.command.CommandSender; import org.bukkit.entity.Entity; @@ -21,10 +24,9 @@ import java.io.File; import java.nio.file.Files; +import java.time.Duration; import java.util.*; -import static org.bukkit.Bukkit.getLogger; - public class GameManager implements Listener { static final Map> alivePlayers = new HashMap<>(); public static final Set frozenPlayers = new HashSet<>(); @@ -45,8 +47,10 @@ public static void startGame(Lobby lobby) { } public static void winGame(Lobby lobby, Player winner) { + Title wonTitle = Title.title(Component.text(winner.getName(), NamedTextColor.GOLD), + Component.text("won the Game!", NamedTextColor.RED)); for (Player player : lobby.getPlayers()) { - player.sendTitle("§6" + winner.getName(), "won the Game!", 10, 70, 20); + player.showTitle(wonTitle); player.playSound(player.getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 1.0f, 1.0f); Stats.win(lobby.getGameName(), winner); if (!player.equals(winner)) { @@ -87,7 +91,8 @@ private static void startCountdown(Lobby lobby) { for (Player teamPlayer : teamPlayers) { if (teamSpawns.isEmpty()) { - getLogger().warning("Not enough SpawnPoints for Team " + (teamIndex + 1) + " in Lobby " + lobby.getLobbyId()); + MiniGameCore.getPlugin().getLogger().warning("Not enough SpawnPoints for Team " + (teamIndex + 1) + + " in Lobby " + lobby.getLobbyId()); continue; } @@ -121,15 +126,25 @@ private static void startCountdown(Lobby lobby) { @Override public void run() { if (timeLeft > 0) { + Title countdownTitle = Title.title( + Component.text("Game starting in " + timeLeft, NamedTextColor.GREEN), + Component.text("Get ready!", NamedTextColor.RED), + Title.Times.times(Duration.ofMillis(10), Duration.ofMillis(70), Duration.ofMillis(20)) + ); for (Player player : lobby.getPlayers()) { - player.sendTitle("§aGame starting in " + timeLeft, "", 10, 70, 20); + player.showTitle(countdownTitle); player.playSound(player.getLocation(), Sound.BLOCK_NOTE_BLOCK_HAT, 1.0f, 2.0f); } timeLeft--; } else { lobby.setLobbyState("GAME"); + Title startTitle = Title.title( + Component.text("Game Started!", NamedTextColor.GREEN), + Component.text("Teaming / Cheating is bannable!", NamedTextColor.RED), + Title.Times.times(Duration.ofMillis(10), Duration.ofMillis(70), Duration.ofMillis(20)) + ); for (Player player : lobby.getPlayers()) { - player.sendTitle("§aGame Started!", "§cTeaming / Cheating is bannable!"); + player.showTitle(startTitle); player.playSound(player.getLocation(), Sound.BLOCK_NOTE_BLOCK_BELL, 1.0f, 5.0f); ScoreBoardManager.setPlayerStatus(player, "GAME"); player.getInventory().clear(); @@ -323,10 +338,23 @@ public void run() { if (secondsLeft <= 0) { player.teleport(respawnLocation); player.setGameMode(GameMode.SURVIVAL); - player.sendTitle("§aRespawned!", "", 10, 20, 10); + player.showTitle( + Title.title(Component.text("Respawned!", NamedTextColor.GREEN), + Component.empty(), + Title.Times.times( + Duration.ofMillis(10), Duration.ofMillis(70), Duration.ofMillis(20)) + ) + ); this.cancel(); } else { - player.sendTitle("§cRespawning in", "§c" + secondsLeft + " s", 0, 20, 0); + player.showTitle( + Title.title( + Component.text("Respawning in!", NamedTextColor.RED), + Component.text(secondsLeft + " s", NamedTextColor.RED), + Title.Times.times( + Duration.ofMillis(0), Duration.ofMillis(20), Duration.ofMillis(0)) + ) + ); secondsLeft--; } } diff --git a/src/main/java/wueffi/MiniGameCore/managers/LobbyManager.java b/src/main/java/wueffi/MiniGameCore/managers/LobbyManager.java index 675557d..a143c11 100644 --- a/src/main/java/wueffi/MiniGameCore/managers/LobbyManager.java +++ b/src/main/java/wueffi/MiniGameCore/managers/LobbyManager.java @@ -3,6 +3,7 @@ import org.bukkit.entity.Player; import wueffi.MiniGameCore.utils.Lobby; +import javax.annotation.Nullable; import java.io.File; import java.util.HashMap; import java.util.List; @@ -44,6 +45,7 @@ public Lobby createLobby(String gameName, int maxPlayers, Player owner, File new return lobby; } + @Nullable public Lobby getLobby(String lobbyId) { return lobbies.get(lobbyId); } diff --git a/src/main/java/wueffi/MiniGameCore/managers/ScoreBoardManager.java b/src/main/java/wueffi/MiniGameCore/managers/ScoreBoardManager.java index c9d6658..3886ae3 100644 --- a/src/main/java/wueffi/MiniGameCore/managers/ScoreBoardManager.java +++ b/src/main/java/wueffi/MiniGameCore/managers/ScoreBoardManager.java @@ -18,7 +18,6 @@ import java.util.HashMap; import java.util.Map; -import static org.bukkit.Bukkit.getLogger; import static wueffi.MiniGameCore.managers.GameManager.alivePlayers; public class ScoreBoardManager implements Listener { @@ -50,7 +49,6 @@ public void run() { public static void updatePlayerBoard(Player player) { String status = playerGameStatus.getOrDefault(player, "NONE"); - // getLogger().info(status); switch (status) { case "WAITING": Lobby lobby = LobbyManager.getLobbyByPlayer(player); diff --git a/src/main/java/wueffi/MiniGameCore/utils/ComponentFactory.java b/src/main/java/wueffi/MiniGameCore/utils/ComponentFactory.java index 338b188..605b80c 100644 --- a/src/main/java/wueffi/MiniGameCore/utils/ComponentFactory.java +++ b/src/main/java/wueffi/MiniGameCore/utils/ComponentFactory.java @@ -6,7 +6,7 @@ import net.kyori.adventure.text.format.TextColor; public class ComponentFactory { - TextComponent.Builder component; + private final TextComponent.Builder component; public ComponentFactory() { component = Component.text(); diff --git a/src/main/java/wueffi/MiniGameCore/utils/LobbyHandler.java b/src/main/java/wueffi/MiniGameCore/utils/LobbyHandler.java index b141e27..5957d8e 100644 --- a/src/main/java/wueffi/MiniGameCore/utils/LobbyHandler.java +++ b/src/main/java/wueffi/MiniGameCore/utils/LobbyHandler.java @@ -2,18 +2,18 @@ import org.bukkit.Bukkit; import org.bukkit.World; +import wueffi.MiniGameCore.MiniGameCore; import java.io.File; import java.util.Objects; -import static org.bukkit.Bukkit.getLogger; import static wueffi.MiniGameCore.managers.LobbyManager.removeLobby; public class LobbyHandler { public static void LobbyReset(Lobby lobby) { if (lobby == null) { - getLogger().warning("Lobby was null!"); + MiniGameCore.getPlugin().getLogger().warning("Lobby was null!"); return; } deleteWorldFolder(lobby); @@ -27,7 +27,7 @@ private static void deleteWorldFolder(Lobby lobby) { Bukkit.unloadWorld(world, false); } delete(lobby.getWorldFolder()); - getLogger().info("Deleted world: " + lobby.getWorldFolder().getName()); + MiniGameCore.getPlugin().getLogger().info("Deleted world: " + lobby.getWorldFolder().getName()); } private static void delete(File file) { diff --git a/src/main/java/wueffi/MiniGameCore/utils/ScoreBoard.java b/src/main/java/wueffi/MiniGameCore/utils/ScoreBoard.java index 7958243..f2c995a 100644 --- a/src/main/java/wueffi/MiniGameCore/utils/ScoreBoard.java +++ b/src/main/java/wueffi/MiniGameCore/utils/ScoreBoard.java @@ -1,7 +1,11 @@ package wueffi.MiniGameCore.utils; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.format.NamedTextColor; +import net.kyori.adventure.text.format.TextDecoration; import org.bukkit.Bukkit; import org.bukkit.entity.Player; +import org.bukkit.scoreboard.Criteria; import org.bukkit.scoreboard.DisplaySlot; import org.bukkit.scoreboard.Objective; import org.bukkit.scoreboard.Scoreboard; @@ -14,12 +18,12 @@ public class ScoreBoard { private static final List animations = Arrays.asList("§b§l» Lobbies", "§b§l» Stats"); - private static final String TITLE = "§6§lMiniGameCore"; + private static final Component TITLE = Component.text("MiniGameCore", NamedTextColor.GOLD, TextDecoration.BOLD); private static int animationIndex = 0; public static void createGameBoard(Player player, List alive) { Scoreboard board = Bukkit.getScoreboardManager().getNewScoreboard(); - Objective obj = board.registerNewObjective("game", "dummy", TITLE); + Objective obj = board.registerNewObjective("game", Criteria.DUMMY, TITLE); obj.setDisplaySlot(DisplaySlot.SIDEBAR); int count = alive != null ? alive.size() : 0; @@ -44,7 +48,7 @@ public static void createGameBoard(Player player, List alive) { public static void createLobbyBoard(Player player, Lobby lobby) { Scoreboard board = Bukkit.getScoreboardManager().getNewScoreboard(); - Objective obj = board.registerNewObjective("lobby", "dummy", TITLE); + Objective obj = board.registerNewObjective("lobby", Criteria.DUMMY, TITLE); obj.setDisplaySlot(DisplaySlot.SIDEBAR); List players = new ArrayList<>(lobby.getPlayers()); @@ -76,7 +80,7 @@ public static void createLobbyBoard(Player player, Lobby lobby) { public static void createIdleBoard(Player player, String mostPlayed, int played, int won, int lost, List openLobbies, List closedLobbies) { Scoreboard board = Bukkit.getScoreboardManager().getNewScoreboard(); String title = animations.get(animationIndex); - Objective obj = board.registerNewObjective("idle", "dummy", TITLE); + Objective obj = board.registerNewObjective("idle", Criteria.DUMMY, TITLE); obj.setDisplaySlot(DisplaySlot.SIDEBAR); if (animationIndex == 0) {