Re-Added Head Database integration
This commit is contained in:
@@ -29,6 +29,7 @@ dependencies {
|
|||||||
compileOnly 'com.willfp:Oraxen:e1f4003d8d'
|
compileOnly 'com.willfp:Oraxen:e1f4003d8d'
|
||||||
compileOnly 'com.github.brcdev-minecraft:shopgui-api:2.2.0'
|
compileOnly 'com.github.brcdev-minecraft:shopgui-api:2.2.0'
|
||||||
compileOnly 'com.github.LoneDev6:API-ItemsAdder:2.4.7'
|
compileOnly 'com.github.LoneDev6:API-ItemsAdder:2.4.7'
|
||||||
|
compileOnly 'com.arcaniax:HeadDatabase-API:1.3.0'
|
||||||
|
|
||||||
// CombatLogX V10 + NewbieHelper Expansion
|
// CombatLogX V10 + NewbieHelper Expansion
|
||||||
compileOnly 'com.SirBlobman.combatlogx:CombatLogX-API:10.0.0.0-SNAPSHOT'
|
compileOnly 'com.SirBlobman.combatlogx:CombatLogX-API:10.0.0.0-SNAPSHOT'
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ import com.willfp.eco.spigot.eventlisteners.armor.ArmorListener
|
|||||||
import com.willfp.eco.spigot.gui.GUIListener
|
import com.willfp.eco.spigot.gui.GUIListener
|
||||||
import com.willfp.eco.spigot.integrations.anticheat.*
|
import com.willfp.eco.spigot.integrations.anticheat.*
|
||||||
import com.willfp.eco.spigot.integrations.antigrief.*
|
import com.willfp.eco.spigot.integrations.antigrief.*
|
||||||
|
import com.willfp.eco.spigot.integrations.customitems.CustomItemsHeadDatabase
|
||||||
import com.willfp.eco.spigot.integrations.customitems.CustomItemsItemsAdder
|
import com.willfp.eco.spigot.integrations.customitems.CustomItemsItemsAdder
|
||||||
import com.willfp.eco.spigot.integrations.customitems.CustomItemsOraxen
|
import com.willfp.eco.spigot.integrations.customitems.CustomItemsOraxen
|
||||||
import com.willfp.eco.spigot.integrations.mcmmo.McmmoIntegrationImpl
|
import com.willfp.eco.spigot.integrations.mcmmo.McmmoIntegrationImpl
|
||||||
@@ -142,7 +143,8 @@ abstract class EcoSpigotPlugin : EcoPlugin(
|
|||||||
|
|
||||||
// Custom Items
|
// Custom Items
|
||||||
IntegrationLoader("Oraxen") { CustomItemsManager.register(CustomItemsOraxen()) },
|
IntegrationLoader("Oraxen") { CustomItemsManager.register(CustomItemsOraxen()) },
|
||||||
IntegrationLoader("ItemsAdder") { CustomItemsManager.register(CustomItemsItemsAdder(this)) },
|
IntegrationLoader("ItemsAdder") { CustomItemsManager.register(CustomItemsItemsAdder()) },
|
||||||
|
IntegrationLoader("HeadDatabase") { CustomItemsManager.register(CustomItemsHeadDatabase(this)) },
|
||||||
|
|
||||||
// Shop
|
// Shop
|
||||||
IntegrationLoader("ShopGUIPlus") { ShopManager.register(ShopShopGuiPlus()) },
|
IntegrationLoader("ShopGUIPlus") { ShopManager.register(ShopShopGuiPlus()) },
|
||||||
|
|||||||
@@ -0,0 +1,59 @@
|
|||||||
|
package com.willfp.eco.spigot.integrations.customitems
|
||||||
|
|
||||||
|
import com.willfp.eco.core.EcoPlugin
|
||||||
|
import com.willfp.eco.core.integrations.customitems.CustomItemsWrapper
|
||||||
|
import com.willfp.eco.core.items.CustomItem
|
||||||
|
import com.willfp.eco.core.items.Items
|
||||||
|
import com.willfp.eco.core.items.TestableItem
|
||||||
|
import com.willfp.eco.core.items.provider.ItemProvider
|
||||||
|
import com.willfp.eco.util.NamespacedKeyUtils
|
||||||
|
import me.arcaniax.hdb.api.DatabaseLoadEvent
|
||||||
|
import me.arcaniax.hdb.api.HeadDatabaseAPI
|
||||||
|
import org.bukkit.event.EventHandler
|
||||||
|
import org.bukkit.event.Listener
|
||||||
|
import org.bukkit.inventory.ItemStack
|
||||||
|
import java.util.function.Predicate
|
||||||
|
|
||||||
|
class CustomItemsHeadDatabase(
|
||||||
|
plugin: EcoPlugin
|
||||||
|
) : CustomItemsWrapper {
|
||||||
|
private val provider = HeadDBProvider()
|
||||||
|
|
||||||
|
init {
|
||||||
|
plugin.eventManager.registerListener(provider)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun registerAllItems() {
|
||||||
|
Items.registerItemProvider(HeadDBProvider())
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun getPluginName(): String {
|
||||||
|
return "HeadDatabase"
|
||||||
|
}
|
||||||
|
|
||||||
|
private inner class HeadDBProvider : ItemProvider("headdb"), Listener {
|
||||||
|
private lateinit var api: HeadDatabaseAPI
|
||||||
|
|
||||||
|
override fun provideForKey(key: String): TestableItem? {
|
||||||
|
if (this::api.isInitialized) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
val head = api.getItemHead(key) ?: return null
|
||||||
|
val namespacedKey = NamespacedKeyUtils.create("headdb", key)
|
||||||
|
return CustomItem(
|
||||||
|
namespacedKey,
|
||||||
|
Predicate { test: ItemStack ->
|
||||||
|
val found = api.getItemID(test) ?: return@Predicate false
|
||||||
|
found == key
|
||||||
|
},
|
||||||
|
head
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
fun onLoad(event: DatabaseLoadEvent) {
|
||||||
|
api = HeadDatabaseAPI()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -5,7 +5,6 @@ import com.willfp.eco.core.items.CustomItem
|
|||||||
import com.willfp.eco.core.items.Items
|
import com.willfp.eco.core.items.Items
|
||||||
import com.willfp.eco.core.items.TestableItem
|
import com.willfp.eco.core.items.TestableItem
|
||||||
import com.willfp.eco.core.items.provider.ItemProvider
|
import com.willfp.eco.core.items.provider.ItemProvider
|
||||||
import com.willfp.eco.core.recipe.parts.EmptyTestableItem
|
|
||||||
import com.willfp.eco.util.NamespacedKeyUtils
|
import com.willfp.eco.util.NamespacedKeyUtils
|
||||||
import dev.lone.itemsadder.api.CustomStack
|
import dev.lone.itemsadder.api.CustomStack
|
||||||
import org.bukkit.inventory.ItemStack
|
import org.bukkit.inventory.ItemStack
|
||||||
@@ -21,8 +20,8 @@ class CustomItemsItemsAdder : CustomItemsWrapper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private class ItemsAdderProvider : ItemProvider("itemsadder") {
|
private class ItemsAdderProvider : ItemProvider("itemsadder") {
|
||||||
override fun provideForKey(key: String): TestableItem {
|
override fun provideForKey(key: String): TestableItem? {
|
||||||
val item = CustomStack.getInstance("itemsadder:$key") ?: return EmptyTestableItem()
|
val item = CustomStack.getInstance("itemsadder:$key") ?: return null
|
||||||
val id = item.id
|
val id = item.id
|
||||||
val namespacedKey = NamespacedKeyUtils.create("itemsadder", key)
|
val namespacedKey = NamespacedKeyUtils.create("itemsadder", key)
|
||||||
val stack = item.itemStack
|
val stack = item.itemStack
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ softdepend:
|
|||||||
- ShopGUIPlus
|
- ShopGUIPlus
|
||||||
- ItemsAdder
|
- ItemsAdder
|
||||||
- Oraxen
|
- Oraxen
|
||||||
|
- HeadDatabase
|
||||||
libraries:
|
libraries:
|
||||||
- 'org.reflections:reflections:0.9.12'
|
- 'org.reflections:reflections:0.9.12'
|
||||||
- 'org.apache.maven:maven-artifact:3.0.3'
|
- 'org.apache.maven:maven-artifact:3.0.3'
|
||||||
|
|||||||
Reference in New Issue
Block a user