diff --git a/libs/SuperiorSkyblockAPI.jar b/libs/SuperiorSkyblockAPI.jar new file mode 100644 index 0000000..84425cf Binary files /dev/null and b/libs/SuperiorSkyblockAPI.jar differ diff --git a/src/main/java/com/bgsoftware/wildloaders/handlers/ProvidersHandler.java b/src/main/java/com/bgsoftware/wildloaders/handlers/ProvidersHandler.java index e9cf762..d2eb2c6 100644 --- a/src/main/java/com/bgsoftware/wildloaders/handlers/ProvidersHandler.java +++ b/src/main/java/com/bgsoftware/wildloaders/handlers/ProvidersHandler.java @@ -5,6 +5,7 @@ import com.bgsoftware.wildloaders.api.managers.ProvidersManager; import com.bgsoftware.wildloaders.hooks.ClaimsProvider_FactionsUUID; import com.bgsoftware.wildloaders.hooks.ClaimsProvider_FactionsX; import com.bgsoftware.wildloaders.hooks.ClaimsProvider_MassiveFactions; +import com.bgsoftware.wildloaders.hooks.ClaimsProvider_SuperiorSkyblock; import com.bgsoftware.wildloaders.utils.threads.Executor; import org.bukkit.Bukkit; import org.bukkit.Chunk; @@ -28,6 +29,9 @@ public final class ProvidersHandler implements ProvidersManager { if(Bukkit.getPluginManager().isPluginEnabled("FactionsX")){ claimsProviders.add(new ClaimsProvider_FactionsX()); } + if(Bukkit.getPluginManager().isPluginEnabled("SuperiorSkyblock2")){ + claimsProviders.add(new ClaimsProvider_SuperiorSkyblock()); + } }); } diff --git a/src/main/java/com/bgsoftware/wildloaders/hooks/ClaimsProvider_SuperiorSkyblock.java b/src/main/java/com/bgsoftware/wildloaders/hooks/ClaimsProvider_SuperiorSkyblock.java new file mode 100644 index 0000000..24b38d6 --- /dev/null +++ b/src/main/java/com/bgsoftware/wildloaders/hooks/ClaimsProvider_SuperiorSkyblock.java @@ -0,0 +1,23 @@ +package com.bgsoftware.wildloaders.hooks; + +import com.bgsoftware.superiorskyblock.api.SuperiorSkyblockAPI; +import com.bgsoftware.superiorskyblock.api.island.Island; +import com.bgsoftware.superiorskyblock.api.island.IslandPrivilege; +import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer; +import com.bgsoftware.wildloaders.api.hooks.ClaimsProvider; +import org.bukkit.Chunk; + +import java.util.UUID; + +public final class ClaimsProvider_SuperiorSkyblock implements ClaimsProvider { + + private static final IslandPrivilege BUILD = IslandPrivilege.getByName("BUILD"); + + @Override + public boolean hasClaimAccess(UUID player, Chunk chunk) { + Island island = SuperiorSkyblockAPI.getGrid().getIslandAt(chunk); + SuperiorPlayer superiorPlayer = SuperiorSkyblockAPI.getPlayer(player); + return island != null && island.hasPermission(superiorPlayer, BUILD) && island.isInsideRange(chunk); + } + +}