mirror of
https://github.com/Auxilor/EcoMobs.git
synced 2025-12-20 15:39:31 +00:00
Boss eggs now display not met lore
This commit is contained in:
@@ -1,8 +1,10 @@
|
|||||||
package com.willfp.ecobosses
|
package com.willfp.ecobosses
|
||||||
|
|
||||||
import com.willfp.eco.core.command.impl.PluginCommand
|
import com.willfp.eco.core.command.impl.PluginCommand
|
||||||
|
import com.willfp.eco.core.display.DisplayModule
|
||||||
import com.willfp.eco.core.integrations.IntegrationLoader
|
import com.willfp.eco.core.integrations.IntegrationLoader
|
||||||
import com.willfp.ecobosses.bosses.Bosses
|
import com.willfp.ecobosses.bosses.Bosses
|
||||||
|
import com.willfp.ecobosses.bosses.EggDisplay
|
||||||
import com.willfp.ecobosses.bosses.bossHolders
|
import com.willfp.ecobosses.bosses.bossHolders
|
||||||
import com.willfp.ecobosses.commands.CommandEcobosses
|
import com.willfp.ecobosses.commands.CommandEcobosses
|
||||||
import com.willfp.ecobosses.config.EcoBossesYml
|
import com.willfp.ecobosses.config.EcoBossesYml
|
||||||
@@ -44,6 +46,10 @@ class EcoBossesPlugin : LibReforgePlugin() {
|
|||||||
Bosses.getAllAlive().forEach { it.remove() }
|
Bosses.getAllAlive().forEach { it.remove() }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun createDisplayModule(): DisplayModule {
|
||||||
|
return EggDisplay(this)
|
||||||
|
}
|
||||||
|
|
||||||
override fun loadPluginCommands(): List<PluginCommand> {
|
override fun loadPluginCommands(): List<PluginCommand> {
|
||||||
return listOf(
|
return listOf(
|
||||||
CommandEcobosses(this)
|
CommandEcobosses(this)
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.willfp.ecobosses.bosses
|
package com.willfp.ecobosses.bosses
|
||||||
|
|
||||||
|
import com.willfp.eco.core.fast.fast
|
||||||
import com.willfp.ecobosses.EcoBossesPlugin
|
import com.willfp.ecobosses.EcoBossesPlugin
|
||||||
import com.willfp.libreforge.Holder
|
import com.willfp.libreforge.Holder
|
||||||
import org.bukkit.entity.Player
|
import org.bukkit.entity.Player
|
||||||
@@ -42,8 +43,7 @@ var ItemStack.bossEgg: EcoBoss?
|
|||||||
this.itemMeta = meta
|
this.itemMeta = meta
|
||||||
}
|
}
|
||||||
get() {
|
get() {
|
||||||
val meta = this.itemMeta ?: return null
|
val pdc = this.fast().persistentDataContainer
|
||||||
val pdc = meta.persistentDataContainer
|
|
||||||
val id = pdc.get(spawnEggKey, PersistentDataType.STRING) ?: return null
|
val id = pdc.get(spawnEggKey, PersistentDataType.STRING) ?: return null
|
||||||
return Bosses.getByID(id)
|
return Bosses.getByID(id)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,37 @@
|
|||||||
|
package com.willfp.ecobosses.bosses
|
||||||
|
|
||||||
|
import com.willfp.eco.core.EcoPlugin
|
||||||
|
import com.willfp.eco.core.display.Display
|
||||||
|
import com.willfp.eco.core.display.DisplayModule
|
||||||
|
import com.willfp.eco.core.display.DisplayPriority
|
||||||
|
import com.willfp.eco.core.fast.fast
|
||||||
|
import org.bukkit.entity.Player
|
||||||
|
import org.bukkit.inventory.ItemStack
|
||||||
|
|
||||||
|
class EggDisplay(
|
||||||
|
plugin: EcoPlugin
|
||||||
|
) : DisplayModule(
|
||||||
|
plugin,
|
||||||
|
DisplayPriority.LOW
|
||||||
|
) {
|
||||||
|
override fun display(itemStack: ItemStack, player: Player?, vararg args: Any) {
|
||||||
|
if (player == null) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
val fis = itemStack.fast()
|
||||||
|
|
||||||
|
val lore = fis.lore.toMutableList()
|
||||||
|
|
||||||
|
val egg = itemStack.bossEgg ?: return
|
||||||
|
|
||||||
|
val lines = egg.getNotMetLines(player).map { Display.PREFIX + it }
|
||||||
|
|
||||||
|
if (lines.isNotEmpty()) {
|
||||||
|
lore.add(Display.PREFIX)
|
||||||
|
lore.addAll(lines)
|
||||||
|
}
|
||||||
|
|
||||||
|
fis.lore = lore
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user