Skip to content

Rank Guides

Wenox edited this page Oct 24, 2025 · 1 revision

RankManager

Overview

The RankManager class handles player ranking and permission management in the SkyblockCore plugin. It provides static methods to set ranks, manage permissions, handle temporary ranks, and interact with rank configurations stored in YAML files.

Key Features

  • Set player ranks with optional duration (temporary ranks).
  • Retrieve player ranks and check temporary rank status.
  • Automatically expire temporary ranks.
  • Manage player permissions based on rank configurations.
  • Load rank data from ranks.yml configuration file.
  • Format player names and chat based on rank settings.
  • All operations are static and work with Biswajit\Core\Player instances.

Usage from Other Plugins

To use RankManager from another plugin:

  1. Add dependency in your plugin.yml:

    depend: [SkyblockCore]
    
  2. Import the class:

    use Biswajit\Core\Managers\RankManager;
    use Biswajit\Core\Player;
  3. Call static methods directly.

Important Notes

  • Player instances must be of type Biswajit\Core\Player.
  • Ranks are configured in resources/ranks.yml.
  • Supports temporary ranks with expiration times.
  • Permissions are managed using PocketMine's permission system.
  • Name tags are automatically updated based on rank formats.

Method Signatures

  • setRank(string $rankName, Player $player, string $durationSeconds = "Never"): void - Sets a player's rank, optionally with a duration.
  • getRankOfPlayer(Player $player): ?string - Returns the player's current rank.
  • checkAndExpireTempRank(Player $player): void - Expires temporary ranks if they have run out.
  • addPermissionsForPlayer(Player $player): void - Adds permissions for a player based on their rank.
  • removeAttach(Player $player): void - Removes permission attachments from a player.
  • getRanksConfig(): Config - Returns the ranks configuration.
  • getRanks(): ?array - Returns all ranks data.
  • getRankList(): array - Returns a list of rank aliases.
  • getPermissionsOfRank(string $rankName): ?array - Returns permissions for a specific rank.
  • getChatFormat(string $rankName): ?string - Returns chat format for a rank.
  • getNameFormat(string $rankName): ?string - Returns name format for a rank.

Method Examples

// Set a permanent rank
RankManager::setRank("VIP", $player);

// Set a temporary rank (1 hour)
RankManager::setRank("Premium", $player, time() + 3600);

// Get player's rank
$rank = RankManager::getRankOfPlayer($player);

// Expire temporary ranks
RankManager::checkAndExpireTempRank($player);

// Add permissions for player
RankManager::addPermissionsForPlayer($player);

// Get all ranks
$ranks = RankManager::getRanks();

// Get permissions for a rank
$perms = RankManager::getPermissionsOfRank("VIP");

// Get formats
$nameFormat = RankManager::getNameFormat("VIP");
$chatFormat = RankManager::getChatFormat("VIP");

Version Information

  • Package: Biswajit\Core\Managers
  • Author: Biswajit
  • Version: 1.0.0

Clone this wiki locally