Skip to content

LinkSlotsAPI v1.0.0

Latest
Compare
Choose a tag to compare
@GamakCZ GamakCZ released this 31 Jan 17:41
· 2 commits to master since this release
19d96a4
  • Added LinkSlotsAPI:

Register a server

$server = \linkslotsapi\API::addServer(int $adress, int $port);

Get registered server

$server = \linkslotsapi\API::getServer(int $adress, int $port)

Simple code:

class MyPlugin extends PluginBase {

    public function onEnable() {
        \linkslotsapi\API::addServer($adress, $port);
        $this->startTask();
    }
    
    private function startTask() {
        $this->getServer()->getScheduler()->scheduleRepeatingTask(new class extends Task {
            public function onRun(int $currentTick) {
                $server = \linkslotsapi\API::getServer($adress, $port);
                MyPlugin::updateSlots($server->getOnlinePlayers(), $server->getSlots());
            }
        });
    }
    
    /**
     * @var int $playerCount
     * @var int $slots
     */
    public static function updateSlots(int $playerCount, int $slots) {
        \pocketmine\Server::getInstance()->getQueryInformation()->setPlayersCount($playerCount);
        \pocketmine\Server::getInstance()->getQueryInformation()->setMaxPlayerCount($slots);
    }
}