Added Items lookup system support to mythicmobs drops

This commit is contained in:
often
2022-02-23 11:32:46 +03:00
parent dfcac5d527
commit 49273abbfc
3 changed files with 53 additions and 1 deletions

View File

@@ -93,6 +93,7 @@ import com.willfp.eco.internal.spigot.integrations.customitems.CustomItemsExecut
import com.willfp.eco.internal.spigot.integrations.customitems.CustomItemsHeadDatabase
import com.willfp.eco.internal.spigot.integrations.customitems.CustomItemsItemsAdder
import com.willfp.eco.internal.spigot.integrations.customitems.CustomItemsOraxen
import com.willfp.eco.internal.spigot.integrations.customitems.mythicmobs.MythicDropListener
import com.willfp.eco.internal.spigot.integrations.customrecipes.CustomRecipeCustomCrafting
import com.willfp.eco.internal.spigot.integrations.economy.EconomyVault
import com.willfp.eco.internal.spigot.integrations.hologram.HologramCMI
@@ -250,7 +251,10 @@ abstract class EcoSpigotPlugin : EcoPlugin() {
IntegrationLoader("Alice") { AnticheatManager.register(this, AnticheatAlice()) },
// Custom Entities
IntegrationLoader("MythicMobs") { CustomEntitiesManager.register(CustomEntitiesMythicMobs()) },
IntegrationLoader("MythicMobs") {
CustomEntitiesManager.register(CustomEntitiesMythicMobs());
this.eventManager.registerListener(MythicDropListener())
},
// Custom Items
IntegrationLoader("Oraxen") { CustomItemsManager.register(CustomItemsOraxen()) },

View File

@@ -0,0 +1,31 @@
package com.willfp.eco.internal.spigot.integrations.customitems.mythicmobs
import com.willfp.eco.core.items.Items
import com.willfp.eco.core.recipe.parts.EmptyTestableItem
import io.lumine.xikage.mythicmobs.adapters.bukkit.BukkitItemStack
import io.lumine.xikage.mythicmobs.drops.Drop
import io.lumine.xikage.mythicmobs.drops.DropMetadata
import io.lumine.xikage.mythicmobs.drops.IMultiDrop
import io.lumine.xikage.mythicmobs.drops.LootBag
import io.lumine.xikage.mythicmobs.drops.droppables.ItemDrop
import io.lumine.xikage.mythicmobs.io.MythicLineConfig
import org.bukkit.Bukkit
class CustomItemsMythicMobs(config: MythicLineConfig): Drop(config.line, config), IMultiDrop {
val id: String
init {
id = config.getString(mutableListOf("type", "t", "item", "i").toTypedArray(), this.dropVar)
}
override fun get(data: DropMetadata): LootBag {
val bag = LootBag(data)
val item = Items.lookup(id)
if (item is EmptyTestableItem) {
Bukkit.getLogger().severe("Item $id is invalid, make sure to fix this on your side")
}
bag.add(data, ItemDrop(this.line, this.config as MythicLineConfig, BukkitItemStack(item.item)))
return bag
}
}

View File

@@ -0,0 +1,17 @@
package com.willfp.eco.internal.spigot.integrations.customitems.mythicmobs
import io.lumine.xikage.mythicmobs.api.bukkit.events.MythicDropLoadEvent
import org.bukkit.event.EventHandler
import org.bukkit.event.Listener
class MythicDropListener: Listener {
@EventHandler
fun onLoad(event: MythicDropLoadEvent) {
val name = event.dropName
if (name.equals("Eco", true)) {
event.register(
CustomItemsMythicMobs(event.config)
)
}
}
}