Added ShopGuiPlus integration
This commit is contained in:
@@ -8,6 +8,7 @@ import com.willfp.eco.core.integrations.anticheat.AnticheatManager
|
||||
import com.willfp.eco.core.integrations.antigrief.AntigriefManager
|
||||
import com.willfp.eco.core.integrations.customitems.CustomItemsManager
|
||||
import com.willfp.eco.core.integrations.mcmmo.McmmoManager
|
||||
import com.willfp.eco.core.integrations.shop.ShopManager
|
||||
import com.willfp.eco.internal.drops.DropManager
|
||||
import com.willfp.eco.proxy.BlockBreakProxy
|
||||
import com.willfp.eco.proxy.FastItemStackFactoryProxy
|
||||
@@ -21,6 +22,7 @@ import com.willfp.eco.spigot.integrations.anticheat.*
|
||||
import com.willfp.eco.spigot.integrations.antigrief.*
|
||||
import com.willfp.eco.spigot.integrations.customitems.CustomItemsOraxen
|
||||
import com.willfp.eco.spigot.integrations.mcmmo.McmmoIntegrationImpl
|
||||
import com.willfp.eco.spigot.integrations.shop.ShopShopGuiPlus
|
||||
import com.willfp.eco.spigot.recipes.ShapedRecipeListener
|
||||
import com.willfp.eco.util.BlockUtils
|
||||
import com.willfp.eco.util.SkullUtils
|
||||
@@ -110,6 +112,9 @@ abstract class EcoSpigotPlugin : EcoPlugin(
|
||||
// Custom Items
|
||||
IntegrationLoader("Oraxen") { CustomItemsManager.register(CustomItemsOraxen()) },
|
||||
|
||||
// Shop
|
||||
IntegrationLoader("ShopGuiPlus") { ShopManager.register(ShopShopGuiPlus()) },
|
||||
|
||||
// Misc
|
||||
IntegrationLoader("mcMMO") { McmmoManager.register(McmmoIntegrationImpl()) }
|
||||
)
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.willfp.eco.spigot.integrations.shop
|
||||
|
||||
import com.willfp.eco.core.integrations.shop.ShopWrapper
|
||||
import com.willfp.eco.core.items.Items
|
||||
import net.brcdev.shopgui.ShopGuiPlusApi
|
||||
import net.brcdev.shopgui.provider.item.ItemProvider
|
||||
import org.bukkit.configuration.ConfigurationSection
|
||||
import org.bukkit.inventory.ItemStack
|
||||
|
||||
class ShopShopGuiPlus : ShopWrapper {
|
||||
override fun registerEcoProvider() {
|
||||
ShopGuiPlusApi.registerItemProvider(EcoShopGuiPlusProvider())
|
||||
}
|
||||
|
||||
class EcoShopGuiPlusProvider : ItemProvider("eco") {
|
||||
override fun isValidItem(itemStack: ItemStack?): Boolean {
|
||||
itemStack ?: return false
|
||||
|
||||
return Items.isCustomItem(itemStack)
|
||||
}
|
||||
|
||||
override fun loadItem(configurationSection: ConfigurationSection): ItemStack? {
|
||||
val id = configurationSection.getString("eco")
|
||||
return if (id == null) null else Items.lookup(id)?.item
|
||||
}
|
||||
|
||||
override fun compare(itemStack1: ItemStack, itemStack2: ItemStack): Boolean {
|
||||
return Items.getCustomItem(itemStack1)?.key == Items.getCustomItem(itemStack2)?.key
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user