diff --git a/src/main/java/net/momirealms/customfishing/integration/quest/BattlePassCFQuest.java b/src/main/java/net/momirealms/customfishing/integration/quest/BattlePassCFQuest.java index cf2f3e29..dc18b500 100644 --- a/src/main/java/net/momirealms/customfishing/integration/quest/BattlePassCFQuest.java +++ b/src/main/java/net/momirealms/customfishing/integration/quest/BattlePassCFQuest.java @@ -18,30 +18,35 @@ package net.momirealms.customfishing.integration.quest; import io.github.battlepass.BattlePlugin; -import io.github.battlepass.quests.quests.external.executor.ExternalQuestExecutor; +import io.github.battlepass.quests.service.base.ExternalQuestContainer; import io.github.battlepass.registry.quest.QuestRegistry; import net.momirealms.customfishing.api.event.FishResultEvent; import net.momirealms.customfishing.fishing.FishResult; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -public class BattlePassCFQuest extends ExternalQuestExecutor implements Listener { +public class BattlePassCFQuest extends ExternalQuestContainer { + + public BattlePassCFQuest(BattlePlugin battlePlugin) { + super(battlePlugin, "customfishing"); + } public static void register() { QuestRegistry questRegistry = BattlePlugin.getApi().getQuestRegistry(); questRegistry.hook("customfishing", BattlePassCFQuest::new); } - public BattlePassCFQuest(BattlePlugin battlePlugin) { - super(battlePlugin, "customfishing"); - } - - @EventHandler + @EventHandler(ignoreCancelled = true) public void onFishCaught(FishResultEvent event) { - if (event.isCancelled()) return; if (event.getResult() == FishResult.FAILURE) return; Player player = event.getPlayer(); - this.execute("fish", player, (var1x) -> var1x.root(event.getLootID())); + // event.getLootID() Fish's ID + // .progress(1) Player can get 1 point + this.executionBuilder("fish").player(player).root(event.getLootID()) + .progress(1).buildAndExecute(); + + if (event.getLoot().getGroup() == null) return; + this.executionBuilder("fish_group").player(player).root(event.getLoot().getGroup()) + .progress(1).buildAndExecute(); } }