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)
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)
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)
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()
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.
Example:
PlayerRole leaderRole = manager.getLastRole();
if (superiorPlayer.getPlayerRole() == leaderRole) {
player.sendMessage("You are the island leader!");
}
getGuestRole
Get the guest’s role.
PlayerRole getGuestRole()
Example:
PlayerRole guestRole = manager.getGuestRole();
if (visitor.getPlayerRole() == guestRole) {
player.sendMessage("This player is visiting the island.");
}
getCoopRole
Get the co-op’s 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()
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.");
}
}