From b1a82a59ec6d11d9a0241504d6a5104e9d109538 Mon Sep 17 00:00:00 2001 From: Krakenied Date: Sun, 20 Jul 2025 02:39:39 +0200 Subject: Add CustomFishing item def --- .../quests/bukkit/config/BukkitQuestsLoader.java | 5 ++++ .../quests/bukkit/item/CustomFishingQuestItem.java | 33 ++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/CustomFishingQuestItem.java (limited to 'bukkit/src/main/java') diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java index 7aba3481..561e65b3 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java @@ -2,6 +2,7 @@ package com.leonardobishop.quests.bukkit.config; import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin; import com.leonardobishop.quests.bukkit.hook.itemgetter.ItemGetter; +import com.leonardobishop.quests.bukkit.item.CustomFishingQuestItem; import com.leonardobishop.quests.bukkit.item.ExecutableItemsQuestItem; import com.leonardobishop.quests.bukkit.item.ItemsAdderQuestItem; import com.leonardobishop.quests.bukkit.item.MMOItemsQuestItem; @@ -519,6 +520,10 @@ public class BukkitQuestsLoader implements QuestsLoader { if (!Bukkit.getPluginManager().isPluginEnabled("Nexo")) return FileVisitResult.CONTINUE; item = new NexoQuestItem(id, config.getString("item.id")); break; + case "customfishing": + if (!Bukkit.getPluginManager().isPluginEnabled("CustomFishing")) return FileVisitResult.CONTINUE; + item = new CustomFishingQuestItem(id, config.contains("item.ids") ? config.getStringList("item.ids") : Collections.singletonList(config.getString("item.id"))); + break; } questItemRegistry.registerItem(id, item); diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/CustomFishingQuestItem.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/CustomFishingQuestItem.java new file mode 100644 index 00000000..9ec12347 --- /dev/null +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/CustomFishingQuestItem.java @@ -0,0 +1,33 @@ +package com.leonardobishop.quests.bukkit.item; + +import net.momirealms.customfishing.api.BukkitCustomFishingPlugin; +import net.momirealms.customfishing.api.mechanic.context.Context; +import org.bukkit.inventory.ItemStack; + +import java.util.List; + +public class CustomFishingQuestItem extends QuestItem { + + private final List loots; + + public CustomFishingQuestItem(final String id, final List loots) { + super("customfishing", id); + this.loots = List.copyOf(loots); + } + + @Override + public ItemStack getItemStack() { + return BukkitCustomFishingPlugin.getInstance() + .getItemManager() + .buildAny( + Context.player(null), + !this.loots.isEmpty() ? this.loots.getFirst() : "null" + ); + } + + @Override + public boolean compareItemStack(final ItemStack other, final boolean exactMatch) { + final String loot = BukkitCustomFishingPlugin.getInstance().getItemManager().getCustomFishingItemID(other); + return this.loots.contains(loot); + } +} -- cgit v1.2.3-70-g09d2