From 075f8fbbced23f89f025c8d109c1cb437393f47f Mon Sep 17 00:00:00 2001 From: Pokrov <74900067+Pokrovv@users.noreply.github.com> Date: Tue, 25 Mar 2025 12:55:00 +0100 Subject: [PATCH] Update ScoreboardManager.java --- .../scoreboard/ScoreboardManager.java | 85 ++++++++++++------- 1 file changed, 56 insertions(+), 29 deletions(-) diff --git a/src/main/java/fr/hashtek/spigot/breakffa/scoreboard/ScoreboardManager.java b/src/main/java/fr/hashtek/spigot/breakffa/scoreboard/ScoreboardManager.java index e86da77..461576d 100644 --- a/src/main/java/fr/hashtek/spigot/breakffa/scoreboard/ScoreboardManager.java +++ b/src/main/java/fr/hashtek/spigot/breakffa/scoreboard/ScoreboardManager.java @@ -2,60 +2,53 @@ import fr.hashtek.spigot.breakffa.BreakFFA; import fr.hashtek.spigot.hashboard.HashBoard; +import org.bukkit.ChatColor; import org.bukkit.entity.Player; +import java.text.NumberFormat; import java.util.HashMap; import java.util.Map; -public class ScoreboardManager -{ +public class ScoreboardManager { private final BreakFFA main; - private final HashBoard board; private final Map sidebars; - /** * Creates a new instance of ScoreboardManager. * - * @param main BreakFFA instance + * @param main BreakFFA instance */ - public ScoreboardManager(BreakFFA main) - { + public ScoreboardManager(BreakFFA main) { this.main = main; - this.board = new HashBoard(); - this.sidebars = new HashMap(); + this.sidebars = new HashMap<>(); } - /** - * @return HashBoard + * @return HashBoard */ - public HashBoard getBoard() - { + public HashBoard getBoard() { return this.board; } /** - * @return Sidebars + * @return Sidebars */ - public Map getSidebars() - { + public Map getSidebars() { return this.sidebars; } /** * Creates a sidebar for a player. * - * @param player Player + * @param player Player + * @return ScoreboardPersonal instance + * @throws Exception if an error occurs while creating the sidebar */ - public ScoreboardPersonal addPlayerSidebar(Player player) - throws Exception - { - final ScoreboardPersonal sidebar = new ScoreboardPersonal(this.main, player); - + public ScoreboardPersonal addPlayerSidebar(Player player) throws Exception { + ScoreboardPersonal sidebar = new ScoreboardPersonal(this.main, player); this.sidebars.put(player, sidebar); return sidebar; } @@ -63,20 +56,54 @@ public ScoreboardPersonal addPlayerSidebar(Player player) /** * Removes the sidebar of a player. * - * @param player Player + * @param player Player */ - public void removePlayerSidebar(Player player) - { + public void removePlayerSidebar(Player player) { this.sidebars.remove(player); } /** - * @param player Player - * @return Player's sidebar + * @param player Player + * @return Player's sidebar */ - public ScoreboardPersonal getPlayerSidebar(Player player) - { + public ScoreboardPersonal getPlayerSidebar(Player player) { return this.sidebars.get(player); } + /** + * Updates the scoreboard for a player with shop information. + * + * @param player Player to update + * @param shards Current shards of the player + */ + public void updateScoreboardWithShopInfo(Player player, int shards) { + ScoreboardPersonal sidebar = getPlayerSidebar(player); + if (sidebar != null) { + sidebar.refreshSidebarWithShopInfo(shards); + } + } + + /** + * Refreshes the scoreboard for all players. + */ + public void refreshAllScoreboards() { + for (Player player : sidebars.keySet()) { + ScoreboardPersonal sidebar = getPlayerSidebar(player); + if (sidebar != null) { + sidebar.refreshSidebar(); + } + } + } + + /** + * Refreshes the sidebar for a specific player. + * + * @param player Player to refresh + */ + public void refreshSidebarForPlayer(Player player) { + ScoreboardPersonal sidebar = getPlayerSidebar(player); + if (sidebar != null) { + sidebar.refreshSidebar(); + } + } }