diff --git a/changelog.md b/changelog.md index ee5cded..5fb10d5 100644 --- a/changelog.md +++ b/changelog.md @@ -18,6 +18,7 @@ These changes will (most likely) be included in the next version. ### Fixed - MobArena no longer throws errors when handling block explosions on Minecraft 1.21. - The `shuffle-positions` ability now correctly shuffles the position of the boss as well if `monster-teleport` is set to `false`. +- The `obsidian-bomb` ability no longer breaks boss waves. ## [0.108] - 2024-01-01 ### Added diff --git a/src/main/java/com/garbagemule/MobArena/ArenaListener.java b/src/main/java/com/garbagemule/MobArena/ArenaListener.java index a8503cd..a0c4083 100644 --- a/src/main/java/com/garbagemule/MobArena/ArenaListener.java +++ b/src/main/java/com/garbagemule/MobArena/ArenaListener.java @@ -687,6 +687,7 @@ public class ArenaListener } } + // This also covers the Obsidian Bomb ability! if (damager instanceof TNTPrimed) { damager = ((TNTPrimed) damager).getSource(); } diff --git a/src/main/java/com/garbagemule/MobArena/waves/ability/core/ObsidianBomb.java b/src/main/java/com/garbagemule/MobArena/waves/ability/core/ObsidianBomb.java index e22db01..80cf686 100644 --- a/src/main/java/com/garbagemule/MobArena/waves/ability/core/ObsidianBomb.java +++ b/src/main/java/com/garbagemule/MobArena/waves/ability/core/ObsidianBomb.java @@ -12,6 +12,7 @@ import org.bukkit.World; import org.bukkit.block.Block; import org.bukkit.block.BlockFace; import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.TNTPrimed; @AbilityInfo( name = "Obsidian Bomb", @@ -54,8 +55,14 @@ public class ObsidianBomb implements Ability if (!arena.isRunning()) return; - world.getBlockAt(loc).setType(Material.AIR); - world.createExplosion(loc, 3F, false, true, boss.getEntity()); + TNTPrimed scapegoat = world.spawn(loc, TNTPrimed.class); + scapegoat.setSource(boss.getEntity()); + try { + world.getBlockAt(loc).setType(Material.AIR); + world.createExplosion(loc, 3F, false, true, scapegoat); + } finally { + scapegoat.remove(); + } } }, FUSE); }