From 165a2c056bfd580656420a5efc87f2fde394731b Mon Sep 17 00:00:00 2001 From: Moritz Ruth Date: Sat, 20 Jun 2020 23:00:03 +0200 Subject: [PATCH] Remove a boom body after it exploded --- .../de/moritzruth/spigot_ttt/game/items/impl/BoomBody.kt | 4 +++- .../de/moritzruth/spigot_ttt/utils/CreateKillExplosion.kt | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/BoomBody.kt b/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/BoomBody.kt index 696c436..0faadca 100644 --- a/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/BoomBody.kt +++ b/src/main/kotlin/de/moritzruth/spigot_ttt/game/items/impl/BoomBody.kt @@ -21,6 +21,7 @@ import org.bukkit.event.inventory.InventoryClickEvent import org.bukkit.inventory.Inventory import org.bukkit.inventory.ItemStack import org.bukkit.inventory.meta.SkullMeta +import java.util.* object BoomBody: TTTItem( type = Type.SPECIAL, @@ -52,13 +53,14 @@ object BoomBody: TTTItem( } } - val boomBodies = mutableSetOf() + val boomBodies: MutableSet = Collections.newSetFromMap(WeakHashMap()) override val listener = object : TTTItemListener(this) { @EventHandler fun onCorpseClick(event: CorpseClickEvent) { if (boomBodies.contains(event.tttCorpse)) { boomBodies.remove(event.tttCorpse) + event.tttCorpse.destroy() event.isCancelled = true createKillExplosion(event.tttCorpse.spawnedBy!!, event.tttCorpse.location, 5.0) } diff --git a/src/main/kotlin/de/moritzruth/spigot_ttt/utils/CreateKillExplosion.kt b/src/main/kotlin/de/moritzruth/spigot_ttt/utils/CreateKillExplosion.kt index 9e56274..f16f506 100644 --- a/src/main/kotlin/de/moritzruth/spigot_ttt/utils/CreateKillExplosion.kt +++ b/src/main/kotlin/de/moritzruth/spigot_ttt/utils/CreateKillExplosion.kt @@ -16,7 +16,7 @@ fun createKillExplosion(tttPlayer: TTTPlayer, location: Location, radius: Double Particle.EXPLOSION_LARGE, location, 10, - radius, radius, radius + 1.0, 1.0, 1.0 ) GameManager.world.playSound(