Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/BG-Software-LLC/SuperiorSkyblock2/llms.txt

Use this file to discover all available pages before exploring further.

The RolesManager provides methods to retrieve player roles by weight, ID, or name, and access special roles like default, leader, guest, and co-op roles.

Getting Roles

getPlayerRole (by weight)

Get a player role by its weight.
@Nullable
PlayerRole getPlayerRole(int weight)
weight
int
The weight to check.
return
PlayerRole
The player role with that weight, or null if not found.
Example:
RolesManager manager = plugin.getRolesManager();
PlayerRole role = manager.getPlayerRole(0); // Get member role

getPlayerRoleFromId

Get a player role by its id.
@Nullable
PlayerRole getPlayerRoleFromId(int id)
id
int
The id to check.
return
PlayerRole
The player role with that id, or null if not found.
Example:
PlayerRole role = manager.getPlayerRoleFromId(1);

getPlayerRole (by name)

Get a player role by its name.
PlayerRole getPlayerRole(String name)
name
String
The name to check.
return
PlayerRole
The player role with that name.
If there’s no role with that name, IllegalArgumentException will be thrown.
Example:
PlayerRole memberRole = manager.getPlayerRole("Member");
PlayerRole adminRole = manager.getPlayerRole("Admin");

Special Roles

getDefaultRole

Get the default role that players are assigned with when they join an island.
PlayerRole getDefaultRole()
return
PlayerRole
The default member role.
Example:
PlayerRole defaultRole = manager.getDefaultRole();
player.sendMessage("New members start as: " + defaultRole.getName());

getLastRole

Get the highest role in the ladder - the leader’s role.
PlayerRole getLastRole()
return
PlayerRole
The leader role.
Example:
PlayerRole leaderRole = manager.getLastRole();
if (superiorPlayer.getPlayerRole() == leaderRole) {
    player.sendMessage("You are the island leader!");
}

getGuestRole

Get the guest’s role.
PlayerRole getGuestRole()
return
PlayerRole
The guest role.
Example:
PlayerRole guestRole = manager.getGuestRole();
if (visitor.getPlayerRole() == guestRole) {
    player.sendMessage("This player is visiting the island.");
}

getCoopRole

Get the co-op’s role.
PlayerRole getCoopRole()
return
PlayerRole
The co-op role.
Example:
PlayerRole coopRole = manager.getCoopRole();
if (superiorPlayer.getPlayerRole() == coopRole) {
    player.sendMessage("This player has co-op permissions.");
}

Listing All Roles

getRoles

Get a list of all the roles.
List<PlayerRole> getRoles()
return
List<PlayerRole>
List of all player roles.
Example:
List<PlayerRole> allRoles = manager.getRoles();
for (PlayerRole role : allRoles) {
    player.sendMessage("Role: " + role.getName() + " (Weight: " + role.getWeight() + ")");
}

Role Comparison Example

RolesManager rolesManager = plugin.getRolesManager();
SuperiorPlayer player = plugin.getPlayersManager().getSuperiorPlayer(uuid);
Island island = player.getIsland();

if (island != null) {
    PlayerRole playerRole = player.getPlayerRole();
    PlayerRole leaderRole = rolesManager.getLastRole();
    PlayerRole defaultRole = rolesManager.getDefaultRole();
    
    if (playerRole == leaderRole) {
        player.sendMessage("You are the island leader!");
    } else if (playerRole.isHigherThan(defaultRole)) {
        player.sendMessage("You are a staff member.");
    } else {
        player.sendMessage("You are a regular member.");
    }
}

Build docs developers (and LLMs) love