From e4ebea354d826ba711c52eed1555c2a9677d3fa7 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Thu, 2 Sep 2021 10:35:03 +0100 Subject: [PATCH] Added ItemsAdder support --- .../customitems/CustomItemsWrapper.java | 4 ++- eco-core/core-plugin/build.gradle | 2 +- .../com/willfp/eco/spigot/EcoSpigotPlugin.kt | 2 ++ .../customitems/CustomItemsItemsAdder.kt | 31 +++++++++++++++++++ .../customitems/CustomItemsOraxen.kt | 4 +++ 5 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 eco-core/core-plugin/src/main/kotlin/com/willfp/eco/spigot/integrations/customitems/CustomItemsItemsAdder.kt diff --git a/eco-api/src/main/java/com/willfp/eco/core/integrations/customitems/CustomItemsWrapper.java b/eco-api/src/main/java/com/willfp/eco/core/integrations/customitems/CustomItemsWrapper.java index c0e7e17e..5c8810fa 100644 --- a/eco-api/src/main/java/com/willfp/eco/core/integrations/customitems/CustomItemsWrapper.java +++ b/eco-api/src/main/java/com/willfp/eco/core/integrations/customitems/CustomItemsWrapper.java @@ -1,9 +1,11 @@ package com.willfp.eco.core.integrations.customitems; +import com.willfp.eco.core.integrations.Integration; + /** * Wrapper class for custom item integrations. */ -public interface CustomItemsWrapper { +public interface CustomItemsWrapper extends Integration { /** * Register all the custom items for a specific plugin into eco. * diff --git a/eco-core/core-plugin/build.gradle b/eco-core/core-plugin/build.gradle index 27acc08a..73115641 100644 --- a/eco-core/core-plugin/build.gradle +++ b/eco-core/core-plugin/build.gradle @@ -22,7 +22,7 @@ dependencies { compileOnly 'com.willfp:Oraxen:e1f4003d8d' compileOnly 'com.github.brcdev-minecraft:shopgui-api:2.2.0' - compileOnly 'com.github.LoneDev6:API-ItemsAdder:2.3.8' + compileOnly 'com.github.LoneDev6:API-ItemsAdder:2.4.7' // CombatLogX V10 + NewbieHelper Expansion compileOnly 'com.SirBlobman.combatlogx:CombatLogX-API:10.0.0.0-SNAPSHOT' diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/eco/spigot/EcoSpigotPlugin.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/eco/spigot/EcoSpigotPlugin.kt index 90b2461a..3c71dcf7 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/eco/spigot/EcoSpigotPlugin.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/eco/spigot/EcoSpigotPlugin.kt @@ -20,6 +20,7 @@ import com.willfp.eco.spigot.eventlisteners.* import com.willfp.eco.spigot.gui.GUIListener import com.willfp.eco.spigot.integrations.anticheat.* import com.willfp.eco.spigot.integrations.antigrief.* +import com.willfp.eco.spigot.integrations.customitems.CustomItemsItemsAdder import com.willfp.eco.spigot.integrations.customitems.CustomItemsOraxen import com.willfp.eco.spigot.integrations.mcmmo.McmmoIntegrationImpl import com.willfp.eco.spigot.integrations.shop.ShopShopGuiPlus @@ -111,6 +112,7 @@ abstract class EcoSpigotPlugin : EcoPlugin( // Custom Items IntegrationLoader("Oraxen") { CustomItemsManager.register(CustomItemsOraxen()) }, + IntegrationLoader("ItemsAdder") { CustomItemsManager.register(CustomItemsItemsAdder()) }, // Shop IntegrationLoader("ShopGuiPlus") { ShopManager.register(ShopShopGuiPlus()) }, diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/eco/spigot/integrations/customitems/CustomItemsItemsAdder.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/eco/spigot/integrations/customitems/CustomItemsItemsAdder.kt new file mode 100644 index 00000000..345e7dea --- /dev/null +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/eco/spigot/integrations/customitems/CustomItemsItemsAdder.kt @@ -0,0 +1,31 @@ +package com.willfp.eco.spigot.integrations.customitems + +import com.willfp.eco.core.integrations.customitems.CustomItemsWrapper +import com.willfp.eco.core.items.CustomItem +import com.willfp.eco.util.NamespacedKeyUtils +import dev.lone.itemsadder.api.CustomStack +import dev.lone.itemsadder.api.ItemsAdder +import org.bukkit.inventory.ItemStack +import java.util.function.Predicate + +class CustomItemsItemsAdder : CustomItemsWrapper { + override fun registerAllItems() { + for (item in ItemsAdder.getAllItems()) { + val stack = item.itemStack + val id = item.id + val key = NamespacedKeyUtils.create("itemsadder", id.lowercase()) + CustomItem( + key, + Predicate { test: ItemStack -> + val customStack = CustomStack.byItemStack(test) ?: return@Predicate false + customStack.id.equals(id, ignoreCase = true) + }, + stack + ).register() + } + } + + override fun getPluginName(): String { + return "ItemsAdder" + } +} \ No newline at end of file diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/eco/spigot/integrations/customitems/CustomItemsOraxen.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/eco/spigot/integrations/customitems/CustomItemsOraxen.kt index c7baaf0b..15fcb163 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/eco/spigot/integrations/customitems/CustomItemsOraxen.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/eco/spigot/integrations/customitems/CustomItemsOraxen.kt @@ -23,4 +23,8 @@ class CustomItemsOraxen : CustomItemsWrapper { ).register() } } + + override fun getPluginName(): String { + return "Oraxen" + } } \ No newline at end of file