aboutsummaryrefslogtreecommitdiffstats
path: root/bukkit/src/main/java/com
diff options
context:
space:
mode:
authorKrakenied <krakenied1@gmail.com>2025-07-20 02:39:39 +0200
committerKrakenied <46192742+Krakenied@users.noreply.github.com>2025-07-29 00:06:46 +0200
commitb1a82a59ec6d11d9a0241504d6a5104e9d109538 (patch)
tree7b1e58f98bde6a97637baf1483790d83b7bd97f5 /bukkit/src/main/java/com
parent6d8f2c258519f6e1ef58064bcac9569a87802cf4 (diff)
Add CustomFishing item def
Diffstat (limited to 'bukkit/src/main/java/com')
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java5
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/CustomFishingQuestItem.java33
2 files changed, 38 insertions, 0 deletions
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<String> loots;
+
+ public CustomFishingQuestItem(final String id, final List<String> 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);
+ }
+}