From 3df4cfaae720219db5f3757c6e15c35d535cec24 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Sat, 28 Aug 2021 18:04:30 +0100 Subject: [PATCH] Added LevelledMobs integration --- eco-core/core-plugin/build.gradle | 1 + .../com/willfp/ecobosses/EcoBossesPlugin.java | 9 +++++++ .../levelledmobs/LevelledMobsListener.java | 24 +++++++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 eco-core/core-plugin/src/main/java/com/willfp/ecobosses/integrations/levelledmobs/LevelledMobsListener.java diff --git a/eco-core/core-plugin/build.gradle b/eco-core/core-plugin/build.gradle index d658600..9cb6f92 100644 --- a/eco-core/core-plugin/build.gradle +++ b/eco-core/core-plugin/build.gradle @@ -5,4 +5,5 @@ dependencies { compileOnly 'org.spigotmc:spigot-api:1.16.4-R0.1-SNAPSHOT' compileOnly 'commons-io:commons-io:2.8.0' compileOnly 'com.destroystokyo.paper:paper-api:1.16.3-R0.1-SNAPSHOT' + compileOnly 'com.github.lokka30:LevelledMobs:3.1.4' } \ No newline at end of file diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/EcoBossesPlugin.java b/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/EcoBossesPlugin.java index d289b80..eab742d 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/EcoBossesPlugin.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/EcoBossesPlugin.java @@ -2,6 +2,7 @@ package com.willfp.ecobosses; import com.willfp.eco.core.EcoPlugin; import com.willfp.eco.core.command.impl.PluginCommand; +import com.willfp.eco.core.integrations.IntegrationLoader; import com.willfp.ecobosses.bosses.listeners.AttackListeners; import com.willfp.ecobosses.bosses.listeners.AutoSpawnTimer; import com.willfp.ecobosses.bosses.listeners.DeathListeners; @@ -9,6 +10,7 @@ import com.willfp.ecobosses.bosses.listeners.PassiveListeners; import com.willfp.ecobosses.bosses.listeners.SpawnListeners; import com.willfp.ecobosses.bosses.util.BossUtils; import com.willfp.ecobosses.commands.CommandEcobosses; +import com.willfp.ecobosses.integrations.levelledmobs.LevelledMobsListener; import com.willfp.ecobosses.util.DiscoverRecipeListener; import lombok.Getter; import org.bukkit.event.Listener; @@ -49,6 +51,13 @@ public class EcoBossesPlugin extends EcoPlugin { ); } + @Override + protected List loadIntegrationLoaders() { + return Arrays.asList( + new IntegrationLoader("LevelledMobs", () -> this.getEventManager().registerListener(new LevelledMobsListener())) + ); + } + @Override protected List loadListeners() { return Arrays.asList( diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/integrations/levelledmobs/LevelledMobsListener.java b/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/integrations/levelledmobs/LevelledMobsListener.java new file mode 100644 index 0000000..67be678 --- /dev/null +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/integrations/levelledmobs/LevelledMobsListener.java @@ -0,0 +1,24 @@ +package com.willfp.ecobosses.integrations.levelledmobs; + +import com.willfp.ecobosses.bosses.EcoBoss; +import com.willfp.ecobosses.bosses.util.BossUtils; +import me.lokka30.levelledmobs.events.MobPreLevelEvent; +import org.bukkit.entity.Boat; +import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.Minecart; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.jetbrains.annotations.NotNull; + +public class LevelledMobsListener implements Listener { + @EventHandler + public void onMobLevel(@NotNull final MobPreLevelEvent event) { + EcoBoss boss = BossUtils.getBoss(event.getEntity()); + + if (boss == null) { + return; + } + + event.setCancelled(true); + } +}