Improved NaturalExpGainListeners for paper

This commit is contained in:
Auxilor
2022-05-06 09:07:57 +01:00
parent d7fce6834c
commit 809dcbae85
3 changed files with 23 additions and 4 deletions

View File

@@ -63,7 +63,8 @@ import com.willfp.eco.internal.spigot.display.PacketWindowItems
import com.willfp.eco.internal.spigot.display.frame.clearFrames
import com.willfp.eco.internal.spigot.drops.CollatedRunnable
import com.willfp.eco.internal.spigot.eventlisteners.EntityDeathByEntityListeners
import com.willfp.eco.internal.spigot.eventlisteners.NaturalExpGainListeners
import com.willfp.eco.internal.spigot.eventlisteners.NaturalExpGainListenersPaper
import com.willfp.eco.internal.spigot.eventlisteners.NaturalExpGainListenersSpigot
import com.willfp.eco.internal.spigot.eventlisteners.PlayerJumpListenersPaper
import com.willfp.eco.internal.spigot.eventlisteners.PlayerJumpListenersSpigot
import com.willfp.eco.internal.spigot.eventlisteners.armor.ArmorChangeEventListeners
@@ -329,7 +330,6 @@ abstract class EcoSpigotPlugin : EcoPlugin() {
override fun loadListeners(): List<Listener> {
val listeners = mutableListOf(
NaturalExpGainListeners(),
ArmorListener(),
EntityDeathByEntityListeners(this),
CraftingRecipeListener(),
@@ -343,8 +343,10 @@ abstract class EcoSpigotPlugin : EcoPlugin() {
if (Prerequisite.HAS_PAPER.isMet) {
listeners.add(PlayerJumpListenersPaper())
listeners.add(NaturalExpGainListenersPaper())
} else {
listeners.add(PlayerJumpListenersSpigot())
listeners.add(NaturalExpGainListenersSpigot())
}
return listeners

View File

@@ -1,11 +1,28 @@
package com.willfp.eco.internal.spigot.eventlisteners
import com.willfp.eco.core.events.NaturalExpGainEvent
import org.bukkit.Bukkit
import org.bukkit.entity.ThrownExpBottle
import org.bukkit.event.EventHandler
import org.bukkit.event.Listener
import org.bukkit.event.entity.ExpBottleEvent
import org.bukkit.event.player.PlayerExpChangeEvent
class NaturalExpGainListeners : Listener {
class NaturalExpGainListenersPaper : Listener {
@EventHandler
fun onEvent(event: PlayerExpChangeEvent) {
val source = event.source
if (source is ThrownExpBottle) {
return
}
val ecoEvent = NaturalExpGainEvent(event)
Bukkit.getPluginManager().callEvent(ecoEvent)
}
}
class NaturalExpGainListenersSpigot : Listener {
private val events: MutableSet<NaturalExpGainBuilder> = HashSet()
@EventHandler