From c7c9acfbfd4d3739e9055209df1f167bee2b32b7 Mon Sep 17 00:00:00 2001 From: Krakenied Date: Sat, 2 Sep 2023 19:31:33 +0200 Subject: Rewrite & optimize boss bar --- .../quests/bukkit/BukkitQuestsPlugin.java | 20 +++-- .../quests/bukkit/hook/actionbar/ActionBar.java | 9 --- .../bukkit/hook/actionbar/ActionBar_Bukkit.java | 2 +- .../bukkit/hook/actionbar/ActionBar_Nothing.java | 2 +- .../bukkit/hook/actionbar/QuestsActionBar.java | 9 +++ .../quests/bukkit/hook/bossbar/BossBar.java | 11 --- .../quests/bukkit/hook/bossbar/BossBar_Bukkit.java | 92 +++++++++------------- .../bukkit/hook/bossbar/BossBar_Nothing.java | 6 +- .../quests/bukkit/hook/bossbar/QuestsBossBar.java | 11 +++ .../tasktype/type/BlockshearingTaskType.java | 2 +- .../bukkit/tasktype/type/BreedingTaskType.java | 2 +- .../bukkit/tasktype/type/BrewingTaskType.java | 2 +- .../tasktype/type/BucketInteractionTaskType.java | 2 +- .../bukkit/tasktype/type/BuildingTaskType.java | 2 +- .../bukkit/tasktype/type/ConsumeTaskType.java | 2 +- .../bukkit/tasktype/type/CraftingTaskType.java | 2 +- .../bukkit/tasktype/type/DealDamageTaskType.java | 2 +- .../bukkit/tasktype/type/EnchantingTaskType.java | 2 +- .../bukkit/tasktype/type/ExpEarnTaskType.java | 2 +- .../bukkit/tasktype/type/FarmingTaskType.java | 2 +- .../bukkit/tasktype/type/FishingTaskType.java | 2 +- .../bukkit/tasktype/type/InteractTaskType.java | 2 +- .../bukkit/tasktype/type/InventoryTaskType.java | 2 +- .../bukkit/tasktype/type/MilkingTaskType.java | 2 +- .../bukkit/tasktype/type/MiningTaskType.java | 2 +- .../bukkit/tasktype/type/MobkillingTaskType.java | 2 +- .../tasktype/type/PlayerkillingTaskType.java | 2 +- .../bukkit/tasktype/type/PlaytimeTaskType.java | 2 +- .../bukkit/tasktype/type/ReplenishingTaskType.java | 2 +- .../bukkit/tasktype/type/ShearingTaskType.java | 2 +- .../bukkit/tasktype/type/SmeltingTaskType.java | 2 +- .../bukkit/tasktype/type/SmithingTaskType.java | 2 +- .../bukkit/tasktype/type/TamingTaskType.java | 2 +- .../bukkit/tasktype/type/WalkingTaskType.java | 2 +- .../type/dependent/ASkyBlockLevelTaskType.java | 2 +- .../type/dependent/BentoBoxLevelTaskType.java | 2 +- .../type/dependent/CitizensDeliverTaskType.java | 2 +- .../type/dependent/EcoBossesKillingTaskType.java | 2 +- .../type/dependent/EssentialsBalanceTaskType.java | 2 +- .../dependent/EssentialsMoneyEarnTaskType.java | 2 +- .../dependent/FabledSkyblockLevelTaskType.java | 2 +- .../dependent/IridiumSkyblockValueTaskType.java | 2 +- .../type/dependent/MythicMobsKillingTaskType.java | 2 +- .../type/dependent/NuVotifierVoteTaskType.java | 2 +- .../type/dependent/PlayerPointsEarnTaskType.java | 2 +- .../dependent/ShopGUIPlusInteractionTaskType.java | 2 +- .../type/dependent/SuperiorSkyblockLevelType.java | 2 +- .../type/dependent/SuperiorSkyblockWorthType.java | 2 +- .../type/dependent/VotingPluginVoteType.java | 2 +- .../type/dependent/uSkyBlockLevelTaskType.java | 2 +- .../quests/bukkit/util/TaskUtils.java | 59 +++++++++----- 51 files changed, 154 insertions(+), 149 deletions(-) delete mode 100644 bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/actionbar/ActionBar.java create mode 100644 bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/actionbar/QuestsActionBar.java delete mode 100644 bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/bossbar/BossBar.java create mode 100644 bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/bossbar/QuestsBossBar.java (limited to 'bukkit/src/main') diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java index 735da4d6..db1fe34c 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java @@ -27,10 +27,10 @@ import org.jetbrains.annotations.Nullable; import com.leonardobishop.quests.bukkit.command.QuestsCommandSwitcher; import com.leonardobishop.quests.bukkit.config.BukkitQuestsConfig; import com.leonardobishop.quests.bukkit.config.BukkitQuestsLoader; -import com.leonardobishop.quests.bukkit.hook.actionbar.ActionBar; +import com.leonardobishop.quests.bukkit.hook.actionbar.QuestsActionBar; import com.leonardobishop.quests.bukkit.hook.actionbar.ActionBar_Bukkit; import com.leonardobishop.quests.bukkit.hook.actionbar.ActionBar_Nothing; -import com.leonardobishop.quests.bukkit.hook.bossbar.BossBar; +import com.leonardobishop.quests.bukkit.hook.bossbar.QuestsBossBar; import com.leonardobishop.quests.bukkit.hook.bossbar.BossBar_Bukkit; import com.leonardobishop.quests.bukkit.hook.bossbar.BossBar_Nothing; import com.leonardobishop.quests.bukkit.hook.coreprotect.AbstractCoreProtectHook; @@ -53,7 +53,6 @@ import com.leonardobishop.quests.bukkit.hook.versionspecific.VersionSpecificHand import com.leonardobishop.quests.bukkit.hook.versionspecific.VersionSpecificHandler11; import com.leonardobishop.quests.bukkit.hook.versionspecific.VersionSpecificHandler16; import com.leonardobishop.quests.bukkit.hook.versionspecific.VersionSpecificHandler17; -import com.leonardobishop.quests.bukkit.hook.versionspecific.VersionSpecificHandler20; import com.leonardobishop.quests.bukkit.hook.versionspecific.VersionSpecificHandler8; import com.leonardobishop.quests.bukkit.hook.versionspecific.VersionSpecificHandler9; import com.leonardobishop.quests.bukkit.item.ParsedQuestItem; @@ -163,8 +162,8 @@ public class BukkitQuestsPlugin extends JavaPlugin implements Quests { private AbstractPlayerBlockTrackerHook playerBlockTrackerHook; private ItemGetter itemGetter; private Title titleHandle; - private BossBar bossBarHandle; - private ActionBar actionBarHandle; + private QuestsBossBar bossBarHandle; + private QuestsActionBar actionBarHandle; private VersionSpecificHandler versionSpecificHandler; private LogHistory logHistory; @@ -302,8 +301,7 @@ public class BukkitQuestsPlugin extends JavaPlugin implements Quests { case 9, 10 -> versionSpecificHandler = new VersionSpecificHandler9(); case 11, 12, 13, 14, 15 -> versionSpecificHandler = new VersionSpecificHandler11(); case 16 -> versionSpecificHandler = new VersionSpecificHandler16(); - case 17, 18, 19 -> versionSpecificHandler = new VersionSpecificHandler17(); - default -> versionSpecificHandler = new VersionSpecificHandler20(); + default -> versionSpecificHandler = new VersionSpecificHandler17(); } questsConfig.setItemGetter(itemGetter); @@ -690,12 +688,12 @@ public class BukkitQuestsPlugin extends JavaPlugin implements Quests { public Title getTitleHandle() { return titleHandle; } - - public BossBar getBossBarHandle() { + + public QuestsBossBar getBossBarHandle() { return bossBarHandle; } - - public ActionBar getActionBarHandle() { + + public QuestsActionBar getActionBarHandle() { return actionBarHandle; } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/actionbar/ActionBar.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/actionbar/ActionBar.java deleted file mode 100644 index 9375b96c..00000000 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/actionbar/ActionBar.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.leonardobishop.quests.bukkit.hook.actionbar; - -import org.bukkit.entity.Player; - -public interface ActionBar { - - void sendActionBar(Player p, String line); - -} diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/actionbar/ActionBar_Bukkit.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/actionbar/ActionBar_Bukkit.java index e806c58d..c387cda6 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/actionbar/ActionBar_Bukkit.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/actionbar/ActionBar_Bukkit.java @@ -5,7 +5,7 @@ import org.bukkit.entity.Player; import net.md_5.bungee.api.ChatMessageType; import net.md_5.bungee.api.chat.TextComponent; -public class ActionBar_Bukkit implements ActionBar { +public class ActionBar_Bukkit implements QuestsActionBar { @SuppressWarnings("deprecation") @Override diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/actionbar/ActionBar_Nothing.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/actionbar/ActionBar_Nothing.java index 4721907d..9f0c6567 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/actionbar/ActionBar_Nothing.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/actionbar/ActionBar_Nothing.java @@ -2,7 +2,7 @@ package com.leonardobishop.quests.bukkit.hook.actionbar; import org.bukkit.entity.Player; -public class ActionBar_Nothing implements ActionBar { +public class ActionBar_Nothing implements QuestsActionBar { @Override public void sendActionBar(Player p, String line) { diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/actionbar/QuestsActionBar.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/actionbar/QuestsActionBar.java new file mode 100644 index 00000000..a9fe17eb --- /dev/null +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/actionbar/QuestsActionBar.java @@ -0,0 +1,9 @@ +package com.leonardobishop.quests.bukkit.hook.actionbar; + +import org.bukkit.entity.Player; + +public interface QuestsActionBar { + + void sendActionBar(Player p, String line); + +} diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/bossbar/BossBar.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/bossbar/BossBar.java deleted file mode 100644 index cdeea0fb..00000000 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/bossbar/BossBar.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.leonardobishop.quests.bukkit.hook.bossbar; - -import org.bukkit.entity.Player; - -public interface BossBar { - - void sendBossBar(Player p, String questKey, String title, int time); - - void sendBossBar(Player p, String questKey, String title, int progress, int time); - -} 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 69a55198..6238ae46 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 @@ -1,76 +1,60 @@ package com.leonardobishop.quests.bukkit.hook.bossbar; -import java.util.HashMap; -import java.util.Map.Entry; -import java.util.concurrent.ConcurrentHashMap; - +import com.google.common.cache.Cache; +import com.google.common.cache.CacheBuilder; +import com.google.common.cache.RemovalListener; +import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin; import org.bukkit.Bukkit; -import org.bukkit.NamespacedKey; import org.bukkit.boss.BarColor; import org.bukkit.boss.BarStyle; +import org.bukkit.boss.BossBar; import org.bukkit.entity.Player; -import com.google.common.collect.Lists; -import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.TimeUnit; -public class BossBar_Bukkit implements BossBar { +public class BossBar_Bukkit implements QuestsBossBar { - private BukkitQuestsPlugin plugin; - private final ConcurrentHashMap players = new ConcurrentHashMap<>(); + private static final RemovalListener removalListener = removal -> removal.getValue().removeAll(); + + // use cache because of its concurrency and automatic player on quit removal + private final Cache> playerQuestBarCache = CacheBuilder.newBuilder().weakKeys().build(); + private final BukkitQuestsPlugin plugin; public BossBar_Bukkit(BukkitQuestsPlugin plugin) { this.plugin = plugin; - String pluginNamespace = new NamespacedKey(plugin, "test").getNamespace(); // get namespace - Lists.newArrayList(Bukkit.getBossBars()).forEach(bb -> { // copy list to prevent current modification - if(bb.getKey().namespace().equals(pluginNamespace)) { - bb.removeAll(); // hide it - Bukkit.removeBossBar(bb.getKey()); // remove it - } - }); - plugin.getScheduler().runTaskTimer(() -> { - for (Entry entry : new HashMap<>(players).entrySet()) { - if (entry.getValue() < System.currentTimeMillis()) { - NamespacedKey key = entry.getKey(); - players.remove(key); - org.bukkit.boss.BossBar oldBar = Bukkit.getBossBar(key); - if(oldBar != null) { // if exist - oldBar.removeAll(); // remove all players on it - Bukkit.removeBossBar(key); // remove it - } - } - } - }, 20, 20); } @Override - public void sendBossBar(Player p, String questKey, String title, int time) { - NamespacedKey spaceKey = getKeyFor(p, questKey); - org.bukkit.boss.BossBar bar = Bukkit.getBossBar(spaceKey); - if (bar == null) {// if none exist - bar = Bukkit.createBossBar(spaceKey, title, BarColor.BLUE, BarStyle.SOLID); - } else { - bar.setTitle(title); - } - players.put(spaceKey, System.currentTimeMillis() + time * 1000); - bar.addPlayer(p); // be sure it see it + public void sendBossBar(Player player, String questId, String title, int time) { + sendBossBar(player, questId, title, time, 1.0f); } @Override - public void sendBossBar(Player p, String questKey, String title, int percent, int time) { - NamespacedKey spaceKey = getKeyFor(p, questKey); - org.bukkit.boss.BossBar bar = Bukkit.getBossBar(spaceKey); - if (bar == null) {// if none exist - bar = Bukkit.createBossBar(spaceKey, title, BarColor.BLUE, BarStyle.SOLID); - } else { + public void sendBossBar(Player player, String questId, String title, int time, float progress) { + CompletableFuture future = new CompletableFuture<>(); + future.thenAccept(bar -> bar.addPlayer(player)); + + this.plugin.getScheduler().runTaskAsynchronously(() -> { + Cache questBarCache = playerQuestBarCache.asMap() + .computeIfAbsent(player, k -> { + //noinspection CodeBlock2Expr (for readability) + return CacheBuilder.newBuilder() + .expireAfterAccess(time, TimeUnit.SECONDS) + .removalListener(removalListener) + .build(); + }); + + BossBar bar = questBarCache.asMap() + .computeIfAbsent(questId, k -> { + //noinspection CodeBlock2Expr (for readability) + return Bukkit.createBossBar(null, BarColor.BLUE, BarStyle.SOLID); + }); + bar.setTitle(title); - } - players.put(spaceKey, System.currentTimeMillis() + time * 1000); - double progress = ((double) percent) / 100; - bar.setProgress(progress < 0 ? 0 : (progress > 1 ? 1 : progress)); - bar.addPlayer(p); // be sure it see it - } + bar.setProgress(progress); - private NamespacedKey getKeyFor(Player p, String questKey) { - return new NamespacedKey(plugin, "bossbar_" + p.getName().toLowerCase() + "_" + questKey.toLowerCase().replace(" ", "")); + future.complete(bar); + }); } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/bossbar/BossBar_Nothing.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/bossbar/BossBar_Nothing.java index 6eb58032..66ab96ae 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/bossbar/BossBar_Nothing.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/bossbar/BossBar_Nothing.java @@ -2,15 +2,15 @@ package com.leonardobishop.quests.bukkit.hook.bossbar; import org.bukkit.entity.Player; -public class BossBar_Nothing implements BossBar { +public class BossBar_Nothing implements QuestsBossBar { @Override - public void sendBossBar(Player p, String questKey, String title, int time) { + public void sendBossBar(Player player, String questId, String title, int time) { // old versions as 1.8 } @Override - public void sendBossBar(Player p, String questKey, String title, int progress, int time) { + public void sendBossBar(Player player, String questId, String title, int time, float progress) { // old versions as 1.8 } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/bossbar/QuestsBossBar.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/bossbar/QuestsBossBar.java new file mode 100644 index 00000000..a492db74 --- /dev/null +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/bossbar/QuestsBossBar.java @@ -0,0 +1,11 @@ +package com.leonardobishop.quests.bukkit.hook.bossbar; + +import org.bukkit.entity.Player; + +public interface QuestsBossBar { + + void sendBossBar(Player player, String questId, String title, int time); + + void sendBossBar(Player player, String questId, String title, int time, float progress); + +} diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BlockshearingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BlockshearingTaskType.java index e7278f80..86e32410 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BlockshearingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BlockshearingTaskType.java @@ -61,7 +61,7 @@ public final class BlockshearingTaskType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BreedingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BreedingTaskType.java index 4a7cca81..462bd3c0 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BreedingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BreedingTaskType.java @@ -111,7 +111,7 @@ public final class BreedingTaskType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BrewingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BrewingTaskType.java index 7f04e9ab..6596c3f5 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BrewingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BrewingTaskType.java @@ -124,7 +124,7 @@ public final class BrewingTaskType extends BukkitTaskType { taskProgress.setProgress(amount); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BucketInteractionTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BucketInteractionTaskType.java index d2da4cf5..da6e5e56 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BucketInteractionTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BucketInteractionTaskType.java @@ -56,7 +56,7 @@ public abstract class BucketInteractionTaskType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BuildingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BuildingTaskType.java index 6629a205..2fd91c8c 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BuildingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BuildingTaskType.java @@ -65,7 +65,7 @@ public final class BuildingTaskType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ConsumeTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ConsumeTaskType.java index 7dc98ba2..926bb5ad 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ConsumeTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ConsumeTaskType.java @@ -82,7 +82,7 @@ public final class ConsumeTaskType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/CraftingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/CraftingTaskType.java index 4819afc0..db85c445 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/CraftingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/CraftingTaskType.java @@ -112,7 +112,7 @@ public final class CraftingTaskType extends BukkitTaskType { taskProgress.setProgress(amount); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/DealDamageTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/DealDamageTaskType.java index 3cc987df..8dcd8d12 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/DealDamageTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/DealDamageTaskType.java @@ -70,7 +70,7 @@ public final class DealDamageTaskType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/EnchantingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/EnchantingTaskType.java index 4ac621b9..ceee05aa 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/EnchantingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/EnchantingTaskType.java @@ -109,7 +109,7 @@ public final class EnchantingTaskType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ExpEarnTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ExpEarnTaskType.java index 32e26ac7..4d1e4403 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ExpEarnTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ExpEarnTaskType.java @@ -54,7 +54,7 @@ public final class ExpEarnTaskType extends BukkitTaskType { taskProgress.setProgress(expNeeded); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/FarmingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/FarmingTaskType.java index 6b96298b..c181a883 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/FarmingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/FarmingTaskType.java @@ -89,7 +89,7 @@ public final class FarmingTaskType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/FishingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/FishingTaskType.java index b521cbe4..d2316745 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/FishingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/FishingTaskType.java @@ -95,7 +95,7 @@ public final class FishingTaskType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/InteractTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/InteractTaskType.java index aabc5664..1826d56d 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/InteractTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/InteractTaskType.java @@ -105,7 +105,7 @@ public final class InteractTaskType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } } \ No newline at end of file diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/InventoryTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/InventoryTaskType.java index 161a6f36..f2e239e3 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/InventoryTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/InventoryTaskType.java @@ -164,7 +164,7 @@ public final class InventoryTaskType extends BukkitTaskType { } } } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MilkingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MilkingTaskType.java index 753dc2d9..43f9bf89 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MilkingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MilkingTaskType.java @@ -58,7 +58,7 @@ public final class MilkingTaskType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MiningTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MiningTaskType.java index 9112ad88..b0f2c328 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MiningTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MiningTaskType.java @@ -104,7 +104,7 @@ public final class MiningTaskType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); }; boolean coreProtectEnabled = TaskUtils.getConfigBoolean(task, "check-coreprotect"); diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MobkillingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MobkillingTaskType.java index c7e40053..320ed26c 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MobkillingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MobkillingTaskType.java @@ -130,7 +130,7 @@ public final class MobkillingTaskType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/PlayerkillingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/PlayerkillingTaskType.java index bf000abf..9dd34b98 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/PlayerkillingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/PlayerkillingTaskType.java @@ -57,7 +57,7 @@ public final class PlayerkillingTaskType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), killer.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(killer, quest, taskProgress); + TaskUtils.sendTrackAdvancement(killer, quest, task, taskProgress); } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/PlaytimeTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/PlaytimeTaskType.java index 35ee99a6..04d0d07d 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/PlaytimeTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/PlaytimeTaskType.java @@ -66,7 +66,7 @@ public final class PlaytimeTaskType extends BukkitTaskType { PlaytimeTaskType.super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ReplenishingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ReplenishingTaskType.java index 254b611b..93691640 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ReplenishingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ReplenishingTaskType.java @@ -81,7 +81,7 @@ public final class ReplenishingTaskType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ShearingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ShearingTaskType.java index ecf4716c..3d50a9e5 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ShearingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ShearingTaskType.java @@ -69,7 +69,7 @@ public final class ShearingTaskType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/SmeltingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/SmeltingTaskType.java index e37dde32..b6e1701f 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/SmeltingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/SmeltingTaskType.java @@ -130,7 +130,7 @@ public final class SmeltingTaskType extends BukkitTaskType { taskProgress.setProgress(amount); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/SmithingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/SmithingTaskType.java index 56101d1e..4f7c3e08 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/SmithingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/SmithingTaskType.java @@ -119,7 +119,7 @@ public final class SmithingTaskType extends BukkitTaskType { taskProgress.setProgress(amount); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/TamingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/TamingTaskType.java index 32604b45..adda0306 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/TamingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/TamingTaskType.java @@ -67,7 +67,7 @@ public final class TamingTaskType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/WalkingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/WalkingTaskType.java index 42ecfce7..3f2cb918 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/WalkingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/WalkingTaskType.java @@ -106,7 +106,7 @@ public final class WalkingTaskType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/ASkyBlockLevelTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/ASkyBlockLevelTaskType.java index 59fccb20..0f1d69d0 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/ASkyBlockLevelTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/ASkyBlockLevelTaskType.java @@ -51,7 +51,7 @@ public final class ASkyBlockLevelTaskType extends BukkitTaskType { taskProgress.setProgress(islandLevelNeeded); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BentoBoxLevelTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BentoBoxLevelTaskType.java index 4f62cbb1..a641acdd 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BentoBoxLevelTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BentoBoxLevelTaskType.java @@ -72,7 +72,7 @@ public final class BentoBoxLevelTaskType extends BukkitTaskType { taskProgress.setProgress(newLevel); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/CitizensDeliverTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/CitizensDeliverTaskType.java index 6a21b4f6..68c47b20 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/CitizensDeliverTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/CitizensDeliverTaskType.java @@ -152,7 +152,7 @@ public final class CitizensDeliverTaskType extends BukkitTaskType { } } } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/EcoBossesKillingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/EcoBossesKillingTaskType.java index 9b3c394e..d9ab6354 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/EcoBossesKillingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/EcoBossesKillingTaskType.java @@ -57,7 +57,7 @@ public final class EcoBossesKillingTaskType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), killer.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(killer, quest, taskProgress); + TaskUtils.sendTrackAdvancement(killer, quest, task, taskProgress); } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/EssentialsBalanceTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/EssentialsBalanceTaskType.java index 6112d69c..abfd7164 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/EssentialsBalanceTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/EssentialsBalanceTaskType.java @@ -95,7 +95,7 @@ public final class EssentialsBalanceTaskType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/EssentialsMoneyEarnTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/EssentialsMoneyEarnTaskType.java index 9f752bea..f11b9c85 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/EssentialsMoneyEarnTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/EssentialsMoneyEarnTaskType.java @@ -69,7 +69,7 @@ public final class EssentialsMoneyEarnTaskType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/FabledSkyblockLevelTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/FabledSkyblockLevelTaskType.java index 84f77c0a..ee323502 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/FabledSkyblockLevelTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/FabledSkyblockLevelTaskType.java @@ -64,7 +64,7 @@ public final class FabledSkyblockLevelTaskType extends BukkitTaskType { taskProgress.setProgress(islandLevelNeeded); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/IridiumSkyblockValueTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/IridiumSkyblockValueTaskType.java index 2314ad2b..9ea55779 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/IridiumSkyblockValueTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/IridiumSkyblockValueTaskType.java @@ -67,7 +67,7 @@ public final class IridiumSkyblockValueTaskType extends BukkitTaskType { taskProgress.setProgress(islandValueNeeded); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/MythicMobsKillingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/MythicMobsKillingTaskType.java index ffe4005e..a3e95202 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/MythicMobsKillingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/MythicMobsKillingTaskType.java @@ -128,7 +128,7 @@ public final class MythicMobsKillingTaskType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/NuVotifierVoteTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/NuVotifierVoteTaskType.java index 5b317165..1ec5905a 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/NuVotifierVoteTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/NuVotifierVoteTaskType.java @@ -55,7 +55,7 @@ public final class NuVotifierVoteTaskType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/PlayerPointsEarnTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/PlayerPointsEarnTaskType.java index be25f1a9..9aae76a1 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/PlayerPointsEarnTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/PlayerPointsEarnTaskType.java @@ -61,7 +61,7 @@ public final class PlayerPointsEarnTaskType extends BukkitTaskType { taskProgress.setProgress(amount); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/ShopGUIPlusInteractionTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/ShopGUIPlusInteractionTaskType.java index fc0f0f25..21627a89 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/ShopGUIPlusInteractionTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/ShopGUIPlusInteractionTaskType.java @@ -121,7 +121,7 @@ public abstract class ShopGUIPlusInteractionTaskType extends BukkitTaskType { taskProgress.setProgress(amountNeeded); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/SuperiorSkyblockLevelType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/SuperiorSkyblockLevelType.java index d2fc069a..d4587dd2 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/SuperiorSkyblockLevelType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/SuperiorSkyblockLevelType.java @@ -59,7 +59,7 @@ public final class SuperiorSkyblockLevelType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/SuperiorSkyblockWorthType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/SuperiorSkyblockWorthType.java index e00ac372..56b9b6fd 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/SuperiorSkyblockWorthType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/SuperiorSkyblockWorthType.java @@ -59,7 +59,7 @@ public final class SuperiorSkyblockWorthType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/VotingPluginVoteType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/VotingPluginVoteType.java index e3b7898d..7692cade 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/VotingPluginVoteType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/VotingPluginVoteType.java @@ -55,7 +55,7 @@ public final class VotingPluginVoteType extends BukkitTaskType { super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/uSkyBlockLevelTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/uSkyBlockLevelTaskType.java index 5db451ce..33a52429 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/uSkyBlockLevelTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/uSkyBlockLevelTaskType.java @@ -50,7 +50,7 @@ public final class uSkyBlockLevelTaskType extends BukkitTaskType { taskProgress.setProgress(islandLevelNeeded); taskProgress.setCompleted(true); } - TaskUtils.sendTrackAdvancement(player, quest, taskProgress); + TaskUtils.sendTrackAdvancement(player, quest, task, taskProgress); } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/TaskUtils.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/TaskUtils.java index 9008306b..11f80d4b 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/TaskUtils.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/TaskUtils.java @@ -151,29 +151,52 @@ public class TaskUtils { return progress; } - public static void sendTrackAdvancement(Player player, Quest q, TaskProgress progress) { - String title = q.getPlaceholders().get("progress"); - if(title == null) + public static void sendTrackAdvancement(Player player, Quest quest, Task task, TaskProgress taskProgress) { + String title = quest.getPlaceholders().get("progress"); + if (title == null) { return; - title = ChatColor.translateAlternateColorCodes('&', QItemStack.processPlaceholders(title, progress)); + } + + boolean useBossBarProgress = plugin.getConfig().getBoolean("options.bossbar.progress", false); + boolean useBossBarComplete = plugin.getConfig().getBoolean("options.bossbar.complete", false); + boolean useActionBarProgress = plugin.getConfig().getBoolean("options.actionbar.progress", false); + boolean useActionBarComplete = plugin.getConfig().getBoolean("options.actionbar.complete", false); + + if (!(useBossBarProgress || useBossBarComplete || useActionBarProgress || useActionBarComplete)) { + return; // skip title coloring and placeholders application if all options are disabled + } + + title = ChatColor.translateAlternateColorCodes('&', QItemStack.processPlaceholders(title, taskProgress)); if (plugin.getQuestsConfig().getBoolean("options.gui-use-placeholderapi")) { title = plugin.getPlaceholderAPIProcessor().apply(player, title); } - int progressAmount = getIntegerTaskProgress(progress); - if(progressAmount > 0) { // if has value - Object amount = q.getTaskById(progress.getTaskId()).getConfigValue("amount"); - if(amount != null && amount instanceof Integer) - progressAmount = (progressAmount * 100) / (int) amount; // convert into percent - else - progressAmount = 0; // can't find max value - } - if((plugin.getConfig().getBoolean("options.bossbar.complete", true) && progress.isCompleted()) || plugin.getConfig().getBoolean("options.bossbar.progress", true)) { - if(progressAmount > 0) - plugin.getBossBarHandle().sendBossBar(player, q.getId(), title, progressAmount, plugin.getConfig().getInt("options.bossbar.time", 10)); - else - plugin.getBossBarHandle().sendBossBar(player, q.getId(), title, plugin.getConfig().getInt("options.bossbar.time", 10)); + + if (useBossBarProgress || (useBossBarComplete && taskProgress.isCompleted())) { + Object progress = taskProgress.getProgress(); + Double bossBarProgress = null; + + if (progress instanceof Number number) { + bossBarProgress = number.doubleValue(); + } + + if (bossBarProgress != null) { // if has value + Object amount = task.getConfigValue("amount"); + if (amount instanceof Number amountNumber) { + bossBarProgress /= amountNumber.doubleValue(); // calculate progress + } + } + + int bossBarTime = plugin.getConfig().getInt("options.bossbar.time", 10); + + if (bossBarProgress != null) { + float bossBarFloatProgress = (float) Math.min(1.0d, Math.max(0.0d, bossBarProgress)); + plugin.getBossBarHandle().sendBossBar(player, quest.getId(), title, bossBarTime, bossBarFloatProgress); + } else { + plugin.getBossBarHandle().sendBossBar(player, quest.getId(), title, bossBarTime); + } } - if((plugin.getConfig().getBoolean("options.actionbar.complete", true) && progress.isCompleted()) || plugin.getConfig().getBoolean("options.actionbar.progress", true)) { + + if (useActionBarProgress || (useActionBarComplete && taskProgress.isCompleted())) { plugin.getActionBarHandle().sendActionBar(player, title); } } -- cgit v1.2.3-70-g09d2