From f553f9d2d464ac879234b7af437bc370ba7dcc23 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Sat, 3 Apr 2021 18:26:58 +0100 Subject: [PATCH] Summons can themselves be bosses now --- .../src/main/java/com/willfp/ecobosses/bosses/EcoBoss.java | 2 +- .../java/com/willfp/ecobosses/bosses/LivingEcoBoss.java | 3 ++- .../ecobosses/bosses/util/bosstype/BossEntityUtils.java | 2 -- .../com/willfp/ecobosses/bosses/util/obj/SummonsOption.java | 6 +++--- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/bosses/EcoBoss.java b/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/bosses/EcoBoss.java index 0726bc9..23dc578 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/bosses/EcoBoss.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/bosses/EcoBoss.java @@ -351,7 +351,7 @@ public class EcoBoss extends PluginDependent { String[] split = string.split(":"); this.summons.add(new SummonsOption( Double.parseDouble(split[1]), - EntityType.valueOf(split[0].toUpperCase()) + BossEntityUtils.getBossType(split[0].toUpperCase()) )); } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/bosses/LivingEcoBoss.java b/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/bosses/LivingEcoBoss.java index 9863bce..82f523c 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/bosses/LivingEcoBoss.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/bosses/LivingEcoBoss.java @@ -187,7 +187,8 @@ public class LivingEcoBoss extends PluginDependent { while (!loc.getBlock().getType().equals(Material.AIR)) { loc.add(0, 1, 0); } - Entity summonedEntity = player.getWorld().spawnEntity(loc, summon.getType()); + + Entity summonedEntity = summon.getType().spawnBossEntity(loc); if (summonedEntity instanceof Mob) { ((Mob) summonedEntity).setTarget(player); } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/bosses/util/bosstype/BossEntityUtils.java b/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/bosses/util/bosstype/BossEntityUtils.java index 8528ec0..761e453 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/bosses/util/bosstype/BossEntityUtils.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/bosses/util/bosstype/BossEntityUtils.java @@ -6,7 +6,6 @@ import lombok.experimental.UtilityClass; import org.bukkit.entity.EntityType; import org.bukkit.entity.LivingEntity; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; @UtilityClass @SuppressWarnings("unchecked") @@ -17,7 +16,6 @@ public class BossEntityUtils { * @param id The name. * @return The boss type. */ - @Nullable public static BossType getBossType(@NotNull final String id) { try { Class type = (Class) EntityType.valueOf(id.toUpperCase()).getEntityClass(); diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/bosses/util/obj/SummonsOption.java b/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/bosses/util/obj/SummonsOption.java index 2f099ee..e3bb402 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/bosses/util/obj/SummonsOption.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/bosses/util/obj/SummonsOption.java @@ -1,7 +1,7 @@ package com.willfp.ecobosses.bosses.util.obj; +import com.willfp.ecobosses.bosses.util.bosstype.BossType; import lombok.Getter; -import org.bukkit.entity.EntityType; import org.jetbrains.annotations.NotNull; public class SummonsOption { @@ -15,7 +15,7 @@ public class SummonsOption { * The type of entity to summon. */ @Getter - private final EntityType type; + private final BossType type; /** * Create a new summons option. @@ -24,7 +24,7 @@ public class SummonsOption { * @param type The entity type. */ public SummonsOption(final double chance, - @NotNull final EntityType type) { + @NotNull final BossType type) { this.chance = chance; this.type = type; }