From 2cf4f4956b81479f6a32b67f8a991951f4b4049d Mon Sep 17 00:00:00 2001 From: AlexDev_ <56083016+alexdev03@users.noreply.github.com> Date: Sun, 5 Jan 2025 18:48:59 +0100 Subject: [PATCH] Improvements on server switch --- src/main/java/net/william278/velocitab/Velocitab.java | 2 +- .../velocitab/placeholder/PlaceholderManager.java | 1 + .../java/net/william278/velocitab/player/TabPlayer.java | 8 -------- .../velocitab/providers/ScoreboardProvider.java | 2 +- .../java/net/william278/velocitab/tab/PlayerTabList.java | 3 ++- .../net/william278/velocitab/tab/TabListListener.java | 2 +- 6 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/main/java/net/william278/velocitab/Velocitab.java b/src/main/java/net/william278/velocitab/Velocitab.java index e0666da..6868aa1 100644 --- a/src/main/java/net/william278/velocitab/Velocitab.java +++ b/src/main/java/net/william278/velocitab/Velocitab.java @@ -102,9 +102,9 @@ public class Velocitab implements ConfigProvider, ScoreboardProvider, LoggerProv checkCompatibility(); loadConfigs(); loadHooks(); + preparePlaceholderManager(); prepareVanishManager(); prepareChannelManager(); - preparePlaceholderManager(); prepareScoreboard(); registerCommands(); registerMetrics(); diff --git a/src/main/java/net/william278/velocitab/placeholder/PlaceholderManager.java b/src/main/java/net/william278/velocitab/placeholder/PlaceholderManager.java index 985160c..4087663 100644 --- a/src/main/java/net/william278/velocitab/placeholder/PlaceholderManager.java +++ b/src/main/java/net/william278/velocitab/placeholder/PlaceholderManager.java @@ -74,6 +74,7 @@ public class PlaceholderManager { if (player == null) { return; } + final Map parsed = placeholders.computeIfAbsent(uuid, k -> Maps.newConcurrentMap()); final TabPlayer tabPlayer = plugin.getTabList().getTabPlayer(player) .orElse(new TabPlayer(plugin, player, diff --git a/src/main/java/net/william278/velocitab/player/TabPlayer.java b/src/main/java/net/william278/velocitab/player/TabPlayer.java index 8e669b8..2cf1358 100644 --- a/src/main/java/net/william278/velocitab/player/TabPlayer.java +++ b/src/main/java/net/william278/velocitab/player/TabPlayer.java @@ -110,14 +110,6 @@ public final class TabPlayer implements Comparable { return plugin.getTabGroups().getPosition(group); } - - @NotNull - public String getDisplayName(@NotNull Velocitab plugin) { - final String format = group.format(); - final String displayName = plugin.getPlaceholderManager().applyPlaceholders(this, format); - return lastDisplayName = displayName; - } - public Nametag getNametag(@NotNull Velocitab plugin) { final String prefix = plugin.getPlaceholderManager().applyPlaceholders(this, group.nametag().prefix()); final String suffix = plugin.getPlaceholderManager().applyPlaceholders(this, group.nametag().suffix()); diff --git a/src/main/java/net/william278/velocitab/providers/ScoreboardProvider.java b/src/main/java/net/william278/velocitab/providers/ScoreboardProvider.java index 5c0b9eb..fcdd4d7 100644 --- a/src/main/java/net/william278/velocitab/providers/ScoreboardProvider.java +++ b/src/main/java/net/william278/velocitab/providers/ScoreboardProvider.java @@ -91,7 +91,7 @@ public interface ScoreboardProvider { setTabList(tabList); getPlugin().getServer().getEventManager().register(this, tabList); - getPlugin().getServer().getScheduler().buildTask(this, tabList::load).delay(1, TimeUnit.SECONDS).schedule(); + getPlugin().getServer().getScheduler().buildTask(this, tabList::load).delay(250, TimeUnit.MILLISECONDS).schedule(); final SortingManager sortingManager = new SortingManager(getPlugin()); setSortingManager(sortingManager); diff --git a/src/main/java/net/william278/velocitab/tab/PlayerTabList.java b/src/main/java/net/william278/velocitab/tab/PlayerTabList.java index 7118878..97afd74 100644 --- a/src/main/java/net/william278/velocitab/tab/PlayerTabList.java +++ b/src/main/java/net/william278/velocitab/tab/PlayerTabList.java @@ -68,7 +68,6 @@ public class PlayerTabList { this.players = Maps.newConcurrentMap(); this.taskManager = new TaskManager(plugin); this.entriesFields = Maps.newHashMap(); - this.reloadUpdate(); this.registerListener(); this.ensureDisplayNameTask(); this.registerFields(); @@ -137,6 +136,8 @@ public class PlayerTabList { joinPlayer(p, group.get()); }); + + reloadUpdate(); } /** diff --git a/src/main/java/net/william278/velocitab/tab/TabListListener.java b/src/main/java/net/william278/velocitab/tab/TabListListener.java index 2ca7bea..4218d3a 100644 --- a/src/main/java/net/william278/velocitab/tab/TabListListener.java +++ b/src/main/java/net/william278/velocitab/tab/TabListListener.java @@ -151,7 +151,7 @@ public class TabListListener { final ScheduledTask task = plugin.getServer().getScheduler() .buildTask(plugin, () -> plugin.getPlaceholderManager().fetchPlaceholders(joined.getUniqueId(), group.getTextsWithPlaceholders())) - .delay(100, TimeUnit.MILLISECONDS) + .delay(10, TimeUnit.MILLISECONDS) .repeat(50, TimeUnit.MILLISECONDS) .schedule();