diff --git a/api-modules/FactionsM/pom.xml b/api-modules/FactionsM/pom.xml index b723ca5..88dd70b 100644 --- a/api-modules/FactionsM/pom.xml +++ b/api-modules/FactionsM/pom.xml @@ -5,7 +5,7 @@ EpicBosses com.songoda.epicbosses - 1.2.6 + 1.2.7 ../../pom.xml 4.0.0 diff --git a/api-modules/FactionsOne/pom.xml b/api-modules/FactionsOne/pom.xml index 79b7e5b..0afccc4 100644 --- a/api-modules/FactionsOne/pom.xml +++ b/api-modules/FactionsOne/pom.xml @@ -5,7 +5,7 @@ EpicBosses com.songoda.epicbosses - 1.2.6 + 1.2.7 ../../pom.xml 4.0.0 diff --git a/api-modules/FactionsUUID/pom.xml b/api-modules/FactionsUUID/pom.xml index 8e0a5f6..8ace7c4 100644 --- a/api-modules/FactionsUUID/pom.xml +++ b/api-modules/FactionsUUID/pom.xml @@ -5,7 +5,7 @@ EpicBosses com.songoda.epicbosses - 1.2.6 + 1.2.7 ../../pom.xml 4.0.0 diff --git a/api-modules/LegacyFactions/pom.xml b/api-modules/LegacyFactions/pom.xml index 7bd09e6..2a20038 100644 --- a/api-modules/LegacyFactions/pom.xml +++ b/api-modules/LegacyFactions/pom.xml @@ -5,7 +5,7 @@ EpicBosses com.songoda.epicbosses - 1.2.6 + 1.2.7 ../../pom.xml 4.0.0 diff --git a/plugin-modules/Core/pom.xml b/plugin-modules/Core/pom.xml index 3ff2676..bef21f4 100644 --- a/plugin-modules/Core/pom.xml +++ b/plugin-modules/Core/pom.xml @@ -5,7 +5,7 @@ EpicBosses com.songoda.epicbosses - 1.2.6 + 1.2.7 ../../pom.xml 4.0.0 diff --git a/plugin-modules/Core/src/com/songoda/epicbosses/holder/ActiveBossHolder.java b/plugin-modules/Core/src/com/songoda/epicbosses/holder/ActiveBossHolder.java index 4ae0a3b..cf4a132 100644 --- a/plugin-modules/Core/src/com/songoda/epicbosses/holder/ActiveBossHolder.java +++ b/plugin-modules/Core/src/com/songoda/epicbosses/holder/ActiveBossHolder.java @@ -105,6 +105,7 @@ public class ActiveBossHolder implements IActiveHolder { // grab list of all valid entities by UUID that can be removed Map toRemove = this.livingEntityMap.entrySet().stream() + .filter(Objects::nonNull) // This may fix ticket #4522 .collect(Collectors.toMap(Map.Entry::getKey, e -> ServerUtils.get().getEntity(e.getValue()))) .entrySet().stream() .filter(e -> e.getValue() != null && e.getValue().getWorld().isChunkLoaded( 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 71f608b..5e703f1 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 @@ -45,7 +45,7 @@ public class BossDeathListener implements Listener { ActiveBossHolder activeBossHolder = this.bossEntityManager.getActiveBossHolder(livingEntity); Location location = livingEntity.getLocation(); - if (activeBossHolder == null) return; + if (activeBossHolder == null || entityDamageEvent == null) return; EntityDamageEvent.DamageCause damageCause = entityDamageEvent.getCause(); Boolean naturalDrops = activeBossHolder.getBossEntity().getDrops().getNaturalDrops(); diff --git a/plugin-modules/Core/src/com/songoda/epicbosses/mechanics/minions/HealthMechanic.java b/plugin-modules/Core/src/com/songoda/epicbosses/mechanics/minions/HealthMechanic.java index b7fe4e1..9e25406 100644 --- a/plugin-modules/Core/src/com/songoda/epicbosses/mechanics/minions/HealthMechanic.java +++ b/plugin-modules/Core/src/com/songoda/epicbosses/mechanics/minions/HealthMechanic.java @@ -21,7 +21,8 @@ public class HealthMechanic implements IMinionMechanic { if (activeMinionHolder.getLivingEntityMap() == null || activeMinionHolder.getLivingEntityMap().isEmpty()) return false; - double maxHealthSetting = (double) SpigotYmlReader.get().getObject("settings.attribute.maxHealth.max"); + double maxHealthSetting = Double.valueOf( SpigotYmlReader + .get().getObject("settings.attribute.maxHealth.max").toString()); for (EntityStatsElement entityStatsElement : minionEntity.getEntityStats()) { MainStatsElement mainStatsElement = entityStatsElement.getMainStats(); diff --git a/plugin-modules/Core/src/com/songoda/epicbosses/targeting/TargetHandler.java b/plugin-modules/Core/src/com/songoda/epicbosses/targeting/TargetHandler.java index e25d1b3..2f53834 100644 --- a/plugin-modules/Core/src/com/songoda/epicbosses/targeting/TargetHandler.java +++ b/plugin-modules/Core/src/com/songoda/epicbosses/targeting/TargetHandler.java @@ -6,10 +6,7 @@ import com.songoda.epicbosses.managers.BossTargetManager; import com.songoda.epicbosses.utils.ServerUtils; import org.bukkit.Bukkit; import org.bukkit.GameMode; -import org.bukkit.entity.Creature; -import org.bukkit.entity.Entity; -import org.bukkit.entity.LivingEntity; -import org.bukkit.entity.Player; +import org.bukkit.entity.*; import java.util.ArrayList; import java.util.List; @@ -78,7 +75,10 @@ public abstract class TargetHandler implements ITa getHolder().getLivingEntityMap().values().forEach(uuid -> { LivingEntity livingEntity = (LivingEntity) ServerUtils.get().getEntity(uuid); if (livingEntity != null && !livingEntity.isDead()) { - ((Creature) livingEntity).setTarget(newTarget); + if (livingEntity instanceof Mob) + ((Mob) livingEntity).setTarget(newTarget); + else + ((Creature) livingEntity).setTarget(newTarget); } }); } diff --git a/plugin-modules/FactionHelper/pom.xml b/plugin-modules/FactionHelper/pom.xml index b0608c0..7f7a859 100644 --- a/plugin-modules/FactionHelper/pom.xml +++ b/plugin-modules/FactionHelper/pom.xml @@ -5,7 +5,7 @@ EpicBosses com.songoda.epicbosses - 1.2.6 + 1.2.7 ../../pom.xml 4.0.0 diff --git a/pom.xml b/pom.xml index ab4d1a6..2bd0a7a 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.songoda.epicbosses EpicBosses pom - 1.2.6 + 1.2.7 api-modules/FactionsM @@ -16,7 +16,7 @@ - 1.2.6 + 1.2.7 EpicBosses com.songoda.epicbosses.EpicBosses Songoda