9
0
mirror of https://github.com/Auxilor/EcoMobs.git synced 2025-12-21 16:09:24 +00:00

Added location_to_boss mutator

This commit is contained in:
Auxilor
2023-05-30 19:46:22 +01:00
parent 5de65f086e
commit ed0c7ae238
2 changed files with 27 additions and 0 deletions

View File

@@ -13,6 +13,7 @@ import com.willfp.ecobosses.defence.MountHandler
import com.willfp.ecobosses.defence.PickupHandler
import com.willfp.ecobosses.integrations.levelledmobs.IntegrationLevelledMobs
import com.willfp.ecobosses.libreforge.EffectBossDropChanceMultiplier
import com.willfp.ecobosses.libreforge.MutatorLocationToBoss
import com.willfp.ecobosses.libreforge.TriggerKillBoss
import com.willfp.ecobosses.libreforge.TriggerSpawnBoss
import com.willfp.ecobosses.lifecycle.CompatibilityListeners
@@ -27,6 +28,7 @@ import com.willfp.ecobosses.util.TopDamagerListener
import com.willfp.libreforge.effects.Effects
import com.willfp.libreforge.loader.LibreforgePlugin
import com.willfp.libreforge.loader.configs.ConfigCategory
import com.willfp.libreforge.mutators.Mutators
import com.willfp.libreforge.registerHolderProvider
import com.willfp.libreforge.triggers.Triggers
import org.bukkit.event.Listener
@@ -46,6 +48,7 @@ class EcoBossesPlugin : LibreforgePlugin() {
Effects.register(EffectBossDropChanceMultiplier)
Triggers.register(TriggerKillBoss)
Triggers.register(TriggerSpawnBoss)
Mutators.register(MutatorLocationToBoss)
}
override fun handleEnable() {

View File

@@ -0,0 +1,24 @@
package com.willfp.ecobosses.libreforge
import com.willfp.eco.core.config.interfaces.Config
import com.willfp.ecobosses.events.BossSpawnEvent
import com.willfp.libreforge.NoCompileData
import com.willfp.libreforge.getProvider
import com.willfp.libreforge.mutators.Mutator
import com.willfp.libreforge.triggers.Trigger
import com.willfp.libreforge.triggers.TriggerData
import com.willfp.libreforge.triggers.TriggerParameter
import org.bukkit.entity.Entity
import org.bukkit.entity.LivingEntity
import org.bukkit.event.EventHandler
object MutatorLocationToBoss : Mutator<NoCompileData>("location_to_boss") {
override fun mutate(data: TriggerData, config: Config, compileData: NoCompileData): TriggerData {
val entity = data.holder.getProvider<LivingEntity>() ?: return data
val location = entity.location
return data.copy(
location = location
)
}
}