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