From b385ebff7570d40b854c2718be22788e5daec06d Mon Sep 17 00:00:00 2001 From: Auxilor Date: Sat, 13 Nov 2021 11:02:42 +0000 Subject: [PATCH] Fixed IridiumSkyblock integration --- .../integrations/antigrief/AntigriefIridiumSkyblock.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/eco/spigot/integrations/antigrief/AntigriefIridiumSkyblock.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/eco/spigot/integrations/antigrief/AntigriefIridiumSkyblock.kt index 768e4e6e..0f910e6c 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/eco/spigot/integrations/antigrief/AntigriefIridiumSkyblock.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/eco/spigot/integrations/antigrief/AntigriefIridiumSkyblock.kt @@ -9,12 +9,12 @@ import org.bukkit.entity.LivingEntity import org.bukkit.entity.Player class AntigriefIridiumSkyblock : AntigriefWrapper { - private val api = IridiumSkyblockAPI.getInstance() - override fun canBreakBlock( player: Player, block: Block ): Boolean { + val api = IridiumSkyblockAPI.getInstance() ?: return true + return api.getIslandPermission(api.getIslandViaLocation(block.location).orElse(null) ?: return true, api.getUser(player), PermissionType.BLOCK_BREAK) } @@ -22,6 +22,8 @@ class AntigriefIridiumSkyblock : AntigriefWrapper { player: Player, location: Location ): Boolean { + val api = IridiumSkyblockAPI.getInstance() ?: return true + return api.getIslandPermission(api.getIslandViaLocation(location).orElse(null) ?: return true, api.getUser(player), PermissionType.BLOCK_BREAK) } @@ -29,6 +31,8 @@ class AntigriefIridiumSkyblock : AntigriefWrapper { player: Player, block: Block ): Boolean { + val api = IridiumSkyblockAPI.getInstance() ?: return true + return api.getIslandPermission(api.getIslandViaLocation(block.location).orElse(null) ?: return true, api.getUser(player), PermissionType.BLOCK_PLACE) } @@ -36,6 +40,8 @@ class AntigriefIridiumSkyblock : AntigriefWrapper { player: Player, victim: LivingEntity ): Boolean { + val api = IridiumSkyblockAPI.getInstance() ?: return true + return when (victim) { is Player -> api.getIslandViaLocation(victim.location).orElse(null) != null else -> api.getIslandPermission(api.getIslandViaLocation(victim.location).orElse(null) ?: return true, api.getUser(player), PermissionType.KILL_MOBS)