diff options
Diffstat (limited to 'bukkit')
3 files changed, 40 insertions, 4 deletions
diff --git a/bukkit/build.gradle b/bukkit/build.gradle index b97f68b5..0f0b4390 100644 --- a/bukkit/build.gradle +++ b/bukkit/build.gradle @@ -103,6 +103,8 @@ dependencies { // MMOItems compileOnly 'net.Indyuce:MMOItems:6.5' compileOnly 'io.lumine:MythicLib:1.1.1' + // Slimefun4 + compileOnly 'com.github.Slimefun:Slimefun4:RC-26' // bStats implementation 'org.bstats:bstats-bukkit-lite:1.8' // HikariCP 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); + } + +} |
