Overview
Islands are the fundamental building blocks of SuperiorSkyblock2. Each island represents a player-owned territory in the skyblock world, complete with member management, permissions, upgrades, and tracking systems.
Island Structure
Every island in SuperiorSkyblock2 has:
Unique Identity : Each island has a UUID and creation timestamp
Owner : The island owner who has full control
Members : Players who belong to the island with specific roles
Territory : Defined boundaries across multiple dimensions (Normal, Nether, End)
Persistence : All data is stored and can be accessed through the database bridge
Core Components
Location & Boundaries
Islands have distinct location properties:
// Get the center position of the island
BlockPosition getCenterPosition ();
Location getCenter ( Dimension dimension);
// Get island boundaries
Location getMinimum ();
Location getMaximum ();
Location getMinimumProtected ();
Location getMaximumProtected ();
// Check if location is inside island
boolean isInside ( Location location);
boolean isInsideRange ( Location location); // Protected area
The island system distinguishes between:
Island Area : The full claimed territory
Protected Area : The inner region where building/breaking rules apply
Multi-Dimension Support
Islands span across three dimensions:
Normal World The overworld dimension where islands are created
Nether Optional nether dimension for each island
End Optional end dimension for each island
// Check if dimension is enabled
boolean isNormalEnabled ();
boolean isNetherEnabled ();
boolean isEndEnabled ();
boolean isDimensionEnabled ( Dimension dimension);
// Enable/disable dimensions
void setDimensionEnabled ( Dimension dimension, boolean enabled);
Member Management
Member Types
Islands support different member types:
Owner : The island creator with full permissions
Members : Regular island members with role-based permissions
Co-op Players : Temporary members with limited access
Visitors : Players currently on the island
Banned Players : Players prohibited from entering
Member Operations
Co-op System
Ban System
// Get members
List < SuperiorPlayer > getIslandMembers ( boolean includeOwner);
List < SuperiorPlayer > getIslandMembers ( PlayerRole ... playerRoles );
// Add/remove members
void addMember ( SuperiorPlayer player, PlayerRole role);
void removeMember ( SuperiorPlayer player, MemberRemoveReason reason);
// Check membership
boolean isMember ( SuperiorPlayer player);
Permissions System
Islands use a sophisticated permission system with role-based and player-specific permissions:
// Check permissions
boolean hasPermission ( SuperiorPlayer player, IslandPrivilege privilege);
boolean hasPermission ( PlayerRole role, IslandPrivilege privilege);
// Set permissions
void setPermission ( PlayerRole role, IslandPrivilege privilege);
void setPermission ( SuperiorPlayer player, IslandPrivilege privilege, boolean value);
// Get required role for privilege
PlayerRole getRequiredPlayerRole ( IslandPrivilege privilege);
// Reset permissions
void resetPermissions ();
void resetPermissions ( SuperiorPlayer player);
Role permissions define the minimum role required for an action, while player permissions override role-based permissions for specific players.
Island Properties
Size & Limits
// Island radius/size
int getIslandSize ();
void setIslandSize ( int size);
// Team size limit
int getTeamLimit (); // From upgrades
Customization
// Basic properties
void setName ( String name);
String getName ();
void setDescription ( String description);
String getDescription ();
// Biome
Biome getBiome ();
void setBiome ( Biome biome);
void setBiome ( Biome biome, boolean updateBlocks);
// Social integration
String getDiscord ();
void setDiscord ( String discord);
String getPaypal ();
void setPaypal ( String paypal);
Island Status
Locked Status
Ignored Status
Active Status
// Lock island to visitors
boolean isLocked ();
void setLocked ( boolean locked);
When locked, only members can enter the island. // Ignore in top islands
boolean isIgnored ();
void setIgnored ( boolean ignored);
Prevents island from appearing in leaderboards. // Check if island is active
boolean isCurrentlyActive ();
void setCurrentlyActive ( boolean active);
// Get last activity time
long getLastTimeUpdate ();
void updateLastTime ();
Active islands have at least one member online.
Home & Warp System
Island Home Locations
// Get home locations
Location getIslandHome ( Dimension dimension);
Map < Dimension, Location > getIslandHomesAsDimensions ();
// Set home locations
void setIslandHome ( Location location);
void setIslandHome ( Dimension dimension, WorldPosition position);
// Visitors location
Location getVisitorsLocation ( Dimension dimension);
void setVisitorsLocation ( Location location);
Each dimension can have its own home location. The visitors location is where non-members spawn when visiting.
Worth Calculation
Islands track block and entity counts to calculate worth:
// Calculate island worth
void calcIslandWorth ( SuperiorPlayer asker);
void calcIslandWorth ( SuperiorPlayer asker, Runnable callback);
// Check calculation status
boolean isBeingRecalculated ();
// Get calculation algorithm
IslandCalculationAlgorithm getCalculationAlgorithm ();
Block & Entity Tracking
// Handle block placement/removal
void handleBlockPlace ( Block block);
void handleBlockPlace ( Key key, int amount);
BlockChangeResult handleBlockPlaceWithResult ( Block block, int amount);
void handleBlockBreak ( Block block);
void handleBlockBreak ( Key key, int amount);
// Tracking algorithms
IslandBlocksTrackerAlgorithm getBlocksTracker ();
IslandEntitiesTrackerAlgorithm getEntitiesTracker ();
Island Bank
Each island has an integrated banking system:
// Get island bank
IslandBank getIslandBank ();
// Bank limits
BigDecimal getBankLimit ();
void setBankLimit ( BigDecimal limit);
// Bank interest
boolean giveInterest ( boolean checkOnlineOwner);
long getLastInterestTime ();
long getNextInterest ();
See Island Bank for detailed banking operations.
Chunk Management
// Get chunks
List < Chunk > getAllChunks ();
List < Chunk > getAllChunks ( Dimension dimension);
List < Chunk > getLoadedChunks ();
// Async chunk loading
List < CompletableFuture < Chunk >> getAllChunksAsync ( Dimension dimension);
// Reset chunks
void resetChunks ();
void resetChunks ( Dimension dimension, Runnable onFinish);
Island Lifecycle
Creation & Transfer
// Island creation is handled by IslandCreationAlgorithm
// Transfer leadership
boolean transferIsland ( SuperiorPlayer newOwner);
// Replace player (for data migration)
void replacePlayers ( SuperiorPlayer original, SuperiorPlayer replacement);
Disbanding
// Disband the island
void disbandIsland ();
Disbanding an island is permanent and will remove all island data, kick all members, and clear the territory.
Communication
Islands provide built-in communication to all members:
// Send messages
void sendMessage ( String message);
void sendMessage ( IMessageComponent component, Object ... args );
// Send titles
void sendTitle ( String title, String subtitle, int fadeIn, int duration, int fadeOut);
// Execute commands
void executeCommand ( String command, boolean onlyOnlineMembers);
Integration Points
Missions
Islands implement IMissionsHolder to track mission progress:
// Mission operations (inherited)
void completeMission ( Mission < ? > mission);
Map < Mission < ? > , Integer > getCompletedMissions ();
boolean hasCompletedMission ( Mission < ? > mission);
Persistent Data
Islands implement IPersistentDataHolder for custom data storage:
// Store custom data
PersistentDataContainer getPersistentDataContainer ();
Database
Islands implement IDatabaseBridgeHolder for database operations:
// Database operations
DatabaseBridge getDatabaseBridge ();
Best Practices
Always check null returns
Methods like getIslandHome() can return null if not set.
Use async operations for chunks
Loading chunks synchronously can cause lag. Use getAllChunksAsync() for better performance.
Respect member removal reasons
Use appropriate MemberRemoveReason when removing members for proper event handling.
Check permissions before operations
Always verify player permissions before allowing island modifications.
See Also
Players Learn about player management and roles
Upgrades Understand the island upgrade system
Missions Explore mission and challenge systems
Modules Extend functionality with modules