From 1e74d196e98bc21a97dd82b370286b018a30c959 Mon Sep 17 00:00:00 2001 From: Fabrizio La Rosa Date: Wed, 5 Aug 2020 22:19:09 +0200 Subject: [PATCH] Fix scoreboard flickering --- .../skyblock/command/commands/island/ScoreboardCommand.java | 5 ++--- .../com/songoda/skyblock/scoreboard/ScoreboardManager.java | 5 +++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/songoda/skyblock/command/commands/island/ScoreboardCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/ScoreboardCommand.java index d4489f43..b72a1800 100644 --- a/src/main/java/com/songoda/skyblock/command/commands/island/ScoreboardCommand.java +++ b/src/main/java/com/songoda/skyblock/command/commands/island/ScoreboardCommand.java @@ -45,9 +45,8 @@ public class ScoreboardCommand extends SubCommand { } else { playerData.setScoreboard(true); scoreboardManager.removeDisabledPlayer(player); - Bukkit.getScheduler().runTask(plugin, () -> { - scoreboardManager.updatePlayerScoreboardType(player); - }); + Bukkit.getScheduler().runTask(plugin, () -> + scoreboardManager.updatePlayerScoreboardType(player)); messageManager.sendMessage(player, configLoad.getString("Command.Scoreboard.Enabled.Message")); soundManager.playSound(player, CompatibleSound.BLOCK_WOODEN_DOOR_OPEN.getSound(), 1.0F, 1.0F); diff --git a/src/main/java/com/songoda/skyblock/scoreboard/ScoreboardManager.java b/src/main/java/com/songoda/skyblock/scoreboard/ScoreboardManager.java index c97125ef..ec671537 100644 --- a/src/main/java/com/songoda/skyblock/scoreboard/ScoreboardManager.java +++ b/src/main/java/com/songoda/skyblock/scoreboard/ScoreboardManager.java @@ -98,10 +98,9 @@ public class ScoreboardManager extends Manager { public void setPlayerScoreboard(Player player, ScoreboardType type) { for(Driver driver : drivers) { + driver.unregisterHolder(player); if(driver.getBoardType().equals(type)) { driver.registerHolder(new Holder(plugin, driver, player)); - } else { - driver.unregisterHolder(player); } } } @@ -110,10 +109,12 @@ public class ScoreboardManager extends Manager { for(Driver driver : drivers) { driver.unregisterHolder(player); } + player.setScoreboard(emptyScoreboard); } public void addDisabledPlayer(Player player) { disabledPlayers.add(player); + Bukkit.getScheduler().runTask(plugin, () -> this.unregisterPlayer(player)); } public void removeDisabledPlayer(Player player) {