aboutsummaryrefslogtreecommitdiffstats
path: root/bukkit/src
diff options
context:
space:
mode:
authorLMBishop <13875753+LMBishop@users.noreply.github.com>2021-08-17 15:26:39 +0100
committerLMBishop <13875753+LMBishop@users.noreply.github.com>2021-08-17 15:26:39 +0100
commit9d02a41e89afca1519e2e379e286e6c43e094d85 (patch)
tree26e17d1e6c57b56b4c2b115ef5db5279f9fbe22c /bukkit/src
parent0afb697a1ac61f980001e298f0555695d6d237d0 (diff)
Add slimefun quest item
Diffstat (limited to 'bukkit/src')
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java10
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/SlimefunQuestItem.java32
2 files changed, 38 insertions, 4 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 25fa8201..f586543e 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,10 +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.MMOItemsQuestItem;
-import com.leonardobishop.quests.bukkit.item.ParsedQuestItem;
-import com.leonardobishop.quests.bukkit.item.QuestItem;
-import com.leonardobishop.quests.bukkit.item.QuestItemRegistry;
+import com.leonardobishop.quests.bukkit.item.*;
import com.leonardobishop.quests.bukkit.menu.itemstack.QItemStack;
import com.leonardobishop.quests.bukkit.menu.itemstack.QItemStackRegistry;
import com.leonardobishop.quests.bukkit.util.chat.Chat;
@@ -351,6 +348,7 @@ public class BukkitQuestsLoader implements QuestsLoader {
}
QuestItem item;
+ //TODO convert to registry based service
switch (config.getString("type", "").toLowerCase()) {
default:
return FileVisitResult.CONTINUE;
@@ -364,6 +362,10 @@ public class BukkitQuestsLoader implements QuestsLoader {
if (!Bukkit.getPluginManager().isPluginEnabled("MMOItems")) return FileVisitResult.CONTINUE;
item = new MMOItemsQuestItem(id, config.getString("item.type"), config.getString("item.id"));
break;
+ case "slimefun":
+ if (!Bukkit.getPluginManager().isPluginEnabled("Slimefun")) return FileVisitResult.CONTINUE;
+ item = new SlimefunQuestItem(id, config.getString("item.id"));
+ break;
}
questItemRegistry.registerItem(id, item);
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/SlimefunQuestItem.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/SlimefunQuestItem.java
new file mode 100644
index 00000000..ce3a61d5
--- /dev/null
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/item/SlimefunQuestItem.java
@@ -0,0 +1,32 @@
+package com.leonardobishop.quests.bukkit.item;
+
+import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
+import net.Indyuce.mmoitems.MMOItems;
+import net.Indyuce.mmoitems.api.Type;
+import org.bukkit.inventory.ItemStack;
+
+public class SlimefunQuestItem extends QuestItem {
+
+ private final String slimefunId;
+
+ public SlimefunQuestItem(String id, String slimefunId) {
+ super("slimefun", id);
+ this.slimefunId = slimefunId;
+ }
+
+ @Override
+ public ItemStack getItemStack() {
+ return SlimefunItem.getByID(slimefunId).getItem();
+ }
+
+ @Override
+ public boolean compareItemStack(ItemStack other) {
+ SlimefunItem item = SlimefunItem.getByItem(other);
+
+ if (item == null) return false;
+
+ String id = item.getId();
+ return slimefunId.equals(id);
+ }
+
+}