From cce5ccfdf3bfdbb0cd3001e137d6b602752a56f3 Mon Sep 17 00:00:00 2001 From: Esophose Date: Wed, 20 Mar 2019 23:34:45 -0600 Subject: [PATCH] Apply 1.1.8 changes --- TODO | 3 --- .../epicbosses/autospawns/types/IntervalSpawnElement.java | 4 ++++ .../src/com/songoda/epicbosses/events/BossDeathEvent.java | 6 ++++-- .../src/com/songoda/epicbosses/events/BossSpawnEvent.java | 6 ++++-- .../epicbosses/listeners/after/BossDeathListener.java | 4 +++- .../songoda/epicbosses/listeners/pre/BossSpawnListener.java | 2 +- pom.xml | 2 +- 7 files changed, 17 insertions(+), 10 deletions(-) diff --git a/TODO b/TODO index 5f1fc67..0a9fec8 100644 --- a/TODO +++ b/TODO @@ -6,6 +6,3 @@ 01:00 -> Wilderness - Button to change max coords, boss that autospawn applies to, maxActiveBosses, spawnChance 01:00 -> Spawner - Button to change max coords, boss that autospawn applies to, maxActiveBosses, spawnChance 01:00 -> Biome - Button to change max bosses per biome, boss that autospawn applies to, spawnChance - ------------ -8:45 hrs \ No newline at end of file diff --git a/plugin-modules/Core/src/com/songoda/epicbosses/autospawns/types/IntervalSpawnElement.java b/plugin-modules/Core/src/com/songoda/epicbosses/autospawns/types/IntervalSpawnElement.java index 4c92e46..6dd8f26 100644 --- a/plugin-modules/Core/src/com/songoda/epicbosses/autospawns/types/IntervalSpawnElement.java +++ b/plugin-modules/Core/src/com/songoda/epicbosses/autospawns/types/IntervalSpawnElement.java @@ -7,6 +7,7 @@ import com.songoda.epicbosses.autospawns.IAutoSpawnCustomSettingsHandler; import com.songoda.epicbosses.autospawns.handlers.IntervalSpawnHandler; import com.songoda.epicbosses.autospawns.settings.AutoSpawnSettings; import com.songoda.epicbosses.entity.BossEntity; +import com.songoda.epicbosses.events.BossSpawnEvent; import com.songoda.epicbosses.holder.ActiveBossHolder; import com.songoda.epicbosses.holder.autospawn.ActiveIntervalAutoSpawnHolder; import com.songoda.epicbosses.listeners.IBossDeathHandler; @@ -90,6 +91,9 @@ public class IntervalSpawnElement implements IAutoSpawnCustomSettingsHandler { activeBossHolder.getPostBossDeathHandlers().add(bossDeathHandler); activeAutoSpawnHolder.getActiveBossHolders().add(activeBossHolder); + + BossSpawnEvent bossSpawnEvent = new BossSpawnEvent(activeBossHolder, true); + ServerUtils.get().callEvent(bossSpawnEvent); } if(customSpawnMessage && spawnMessage != null) { diff --git a/plugin-modules/Core/src/com/songoda/epicbosses/events/BossDeathEvent.java b/plugin-modules/Core/src/com/songoda/epicbosses/events/BossDeathEvent.java index 1b927f3..582759d 100644 --- a/plugin-modules/Core/src/com/songoda/epicbosses/events/BossDeathEvent.java +++ b/plugin-modules/Core/src/com/songoda/epicbosses/events/BossDeathEvent.java @@ -14,10 +14,12 @@ public class BossDeathEvent extends Event { private static final HandlerList handlers = new HandlerList(); - @Getter private ActiveBossHolder activeBossHolder; + @Getter private final ActiveBossHolder activeBossHolder; + @Getter private final boolean autoSpawn; - public BossDeathEvent(ActiveBossHolder activeBossHolder) { + public BossDeathEvent(ActiveBossHolder activeBossHolder, boolean autoSpawn) { this.activeBossHolder = activeBossHolder; + this.autoSpawn = autoSpawn; } @Override diff --git a/plugin-modules/Core/src/com/songoda/epicbosses/events/BossSpawnEvent.java b/plugin-modules/Core/src/com/songoda/epicbosses/events/BossSpawnEvent.java index a429acb..288a38e 100644 --- a/plugin-modules/Core/src/com/songoda/epicbosses/events/BossSpawnEvent.java +++ b/plugin-modules/Core/src/com/songoda/epicbosses/events/BossSpawnEvent.java @@ -14,10 +14,12 @@ public class BossSpawnEvent extends Event { private static final HandlerList handlers = new HandlerList(); - @Getter private ActiveBossHolder activeBossHolder; + @Getter private final ActiveBossHolder activeBossHolder; + @Getter private final boolean autoSpawn; - public BossSpawnEvent(ActiveBossHolder activeBossHolder) { + public BossSpawnEvent(ActiveBossHolder activeBossHolder, boolean autoSpawn) { this.activeBossHolder = activeBossHolder; + this.autoSpawn = autoSpawn; } @Override diff --git a/plugin-modules/Core/src/com/songoda/epicbosses/listeners/after/BossDeathListener.java b/plugin-modules/Core/src/com/songoda/epicbosses/listeners/after/BossDeathListener.java index f2147c8..dd5ae0f 100644 --- a/plugin-modules/Core/src/com/songoda/epicbosses/listeners/after/BossDeathListener.java +++ b/plugin-modules/Core/src/com/songoda/epicbosses/listeners/after/BossDeathListener.java @@ -140,10 +140,12 @@ public class BossDeathListener implements Listener { } }); + boolean autoSpawn = !activeBossHolder.getPostBossDeathHandlers().isEmpty(); + activeBossHolder.getPostBossDeathHandlers().forEach(handler -> handler.onPreDeath(event)); DeadBossHolder deadBossHolder = new DeadBossHolder(bossEntity, location, mapOfDamage, mapOfPercent); - BossDeathEvent bossDeathEvent = new BossDeathEvent(activeBossHolder); + BossDeathEvent bossDeathEvent = new BossDeathEvent(activeBossHolder, autoSpawn); DropTable dropTable = this.bossEntityManager.getDropTable(bossEntity); if(dropTable == null) { diff --git a/plugin-modules/Core/src/com/songoda/epicbosses/listeners/pre/BossSpawnListener.java b/plugin-modules/Core/src/com/songoda/epicbosses/listeners/pre/BossSpawnListener.java index f224725..adb4b4f 100644 --- a/plugin-modules/Core/src/com/songoda/epicbosses/listeners/pre/BossSpawnListener.java +++ b/plugin-modules/Core/src/com/songoda/epicbosses/listeners/pre/BossSpawnListener.java @@ -141,7 +141,7 @@ public class BossSpawnListener implements Listener { activeBossHolder.getTargetHandler().runTargetCycle(); this.bossTauntManager.handleTauntSystem(activeBossHolder); - BossSpawnEvent bossSpawnEvent = new BossSpawnEvent(activeBossHolder); + BossSpawnEvent bossSpawnEvent = new BossSpawnEvent(activeBossHolder, false); ServerUtils.get().callEvent(bossSpawnEvent); } diff --git a/pom.xml b/pom.xml index ff5c635..3db8734 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ - 1.0.8-U1 + maven-version-number EpicBosses com.songoda.epicbosses.CustomBosses AMinecraftDev