From 8ef2174a3e9e2ca8f0357581b9143e4f32d26582 Mon Sep 17 00:00:00 2001 From: Esophose Date: Sat, 23 Feb 2019 20:35:09 -0700 Subject: [PATCH] Fix spawn point being blown up by explosions --- .../me/goodandevil/skyblock/listeners/Entity.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main/java/me/goodandevil/skyblock/listeners/Entity.java b/src/main/java/me/goodandevil/skyblock/listeners/Entity.java index e476f057..b0ea8ca7 100644 --- a/src/main/java/me/goodandevil/skyblock/listeners/Entity.java +++ b/src/main/java/me/goodandevil/skyblock/listeners/Entity.java @@ -471,6 +471,7 @@ public class Entity implements Listener { public void onEntityExplode(EntityExplodeEvent event) { org.bukkit.entity.Entity entity = event.getEntity(); + WorldManager worldManager = skyblock.getWorldManager(); IslandManager islandManager = skyblock.getIslandManager(); if (skyblock.getWorldManager().isIslandWorld(entity.getWorld())) { @@ -503,6 +504,19 @@ public class Entity implements Listener { } } } + + if (SkyBlock.getInstance().getFileManager().getConfig(new File(skyblock.getDataFolder(), "config.yml")).getFileConfiguration().getBoolean("Island.Spawn.Protection")) { + IslandWorld world = worldManager.getIslandWorld(event.getEntity().getWorld()); + for (org.bukkit.block.Block block : event.blockList()) { + if (LocationUtil.isLocationLocation(block.getLocation(), + island.getLocation(world, IslandEnvironment.Main) + .clone() + .subtract(0.0D, 1.0D, 0.0D))) { + event.blockList().remove(block); + break; + } + } + } } } }