aboutsummaryrefslogtreecommitdiffstats
path: root/bukkit/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'bukkit/src/main/java')
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/bossbar/BossBar_Bukkit.java11
1 files changed, 4 insertions, 7 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/bossbar/BossBar_Bukkit.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/bossbar/BossBar_Bukkit.java
index a3072549..7ac96848 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/bossbar/BossBar_Bukkit.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/bossbar/BossBar_Bukkit.java
@@ -10,19 +10,19 @@ import org.bukkit.boss.BarStyle;
import org.bukkit.boss.BossBar;
import org.bukkit.entity.Player;
-import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
public class BossBar_Bukkit implements QuestsBossBar {
- private static final RemovalListener<String, BossBar> removalListener = removal -> removal.getValue().removeAll();
+ private final BukkitQuestsPlugin plugin;
+ private final RemovalListener<String, BossBar> removalListener;
// use cache because of its concurrency and automatic player on quit removal
private final Cache<Player, Cache<String, BossBar>> playerQuestBarCache = CacheBuilder.newBuilder().weakKeys().build();
- private final BukkitQuestsPlugin plugin;
public BossBar_Bukkit(BukkitQuestsPlugin plugin) {
this.plugin = plugin;
+ this.removalListener = removal -> plugin.getScheduler().runTask(() -> removal.getValue().removeAll());
//noinspection CodeBlock2Expr (for readability)
plugin.getScheduler().runTaskTimerAsynchronously(() -> {
@@ -39,9 +39,6 @@ public class BossBar_Bukkit implements QuestsBossBar {
@Override
public void sendBossBar(Player player, String questId, String title, int time, float progress) {
- CompletableFuture<BossBar> future = new CompletableFuture<>();
- future.thenAccept(bar -> bar.addPlayer(player));
-
this.plugin.getScheduler().runTaskAsynchronously(() -> {
Cache<String, BossBar> questBarCache = playerQuestBarCache.asMap()
.computeIfAbsent(player, k -> {
@@ -61,7 +58,7 @@ public class BossBar_Bukkit implements QuestsBossBar {
bar.setTitle(title);
bar.setProgress(progress);
- future.complete(bar);
+ plugin.getScheduler().runTask(() -> bar.addPlayer(player));
});
}
}