From 062df514662be659ac6d2f0ca4290482837e9ca1 Mon Sep 17 00:00:00 2001 From: XiaoMoMi Date: Thu, 19 Dec 2024 00:25:47 +0800 Subject: [PATCH] fix again --- .../bukkit/competition/actionbar/ActionBarSender.java | 7 ++++--- .../bukkit/competition/bossbar/BossBarSender.java | 9 +++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/core/src/main/java/net/momirealms/customfishing/bukkit/competition/actionbar/ActionBarSender.java b/core/src/main/java/net/momirealms/customfishing/bukkit/competition/actionbar/ActionBarSender.java index a3525342..b95d57b4 100644 --- a/core/src/main/java/net/momirealms/customfishing/bukkit/competition/actionbar/ActionBarSender.java +++ b/core/src/main/java/net/momirealms/customfishing/bukkit/competition/actionbar/ActionBarSender.java @@ -74,6 +74,7 @@ public class ActionBarSender { public void show() { this.isShown = true; + this.refreshTimer = config.refreshRate(); senderTask = BukkitCustomFishingPlugin.getInstance().getScheduler().asyncRepeating(() -> { switchTimer++; boolean forceUpdate = false; @@ -82,14 +83,14 @@ public class ActionBarSender { counter++; forceUpdate = true; } - if (refreshTimer < config.refreshRate() && !forceUpdate){ - refreshTimer++; - } else { + if (forceUpdate || refreshTimer >= config.refreshRate()) { refreshTimer = 0; DynamicText text = texts[counter % (texts.length)]; updatePrivatePlaceholders(); text.update(this.privateContext.placeholderMap()); audience.sendActionBar(AdventureHelper.miniMessage(text.getLatestValue())); + } else { + refreshTimer++; } }, 50, 50, TimeUnit.MILLISECONDS); } diff --git a/core/src/main/java/net/momirealms/customfishing/bukkit/competition/bossbar/BossBarSender.java b/core/src/main/java/net/momirealms/customfishing/bukkit/competition/bossbar/BossBarSender.java index 079565aa..6963bf7e 100644 --- a/core/src/main/java/net/momirealms/customfishing/bukkit/competition/bossbar/BossBarSender.java +++ b/core/src/main/java/net/momirealms/customfishing/bukkit/competition/bossbar/BossBarSender.java @@ -85,6 +85,7 @@ public class BossBarSender { public void show() { this.isShown = true; this.bossBar.addViewer(audience); + this.refreshTimer = config.refreshRate(); this.senderTask = BukkitCustomFishingPlugin.getInstance().getScheduler().asyncRepeating(() -> { switchTimer++; boolean forceUpdate = false; @@ -93,16 +94,16 @@ public class BossBarSender { counter++; forceUpdate= true; } - if (refreshTimer < config.refreshRate() && !forceUpdate){ - refreshTimer++; - } else { + if (forceUpdate || refreshTimer >= config.refreshRate()) { refreshTimer = 0; DynamicText text = texts[counter % (texts.length)]; updatePrivatePlaceholders(); - if (forceUpdate || text.update(privateContext.placeholderMap())) { + if (text.update(privateContext.placeholderMap()) || forceUpdate) { bossBar.name(AdventureHelper.miniMessage(text.getLatestValue())); } bossBar.progress(competition.getProgress()); + } else { + refreshTimer++; } }, 50, 50, TimeUnit.MILLISECONDS); }