Hey I'm making my plugin but i need little help How to remove all players from whitelist if they aren't online? For example I'm trying to do this on enable (to be sure server isn't on wl) PHP: $this->getServer()->setConfigBool("white-list", false); But how to remove all players already added if they aren't online directly from my plugin? PHP: $this->getServer()->getOfflinePlayer(/*here should be*/)->setWhitelisted(false);
Ok I just figured out how to do it, this is for future viewers: OnEnable(): PHP: $players = new Config($this->getDataFolder()."Players.yml", Config::YAML);foreach($players->get("Jugadores") as $name){ $this->getServer()->getOfflinePlayer($name)->setWhitelisted(false); } When any player join: PHP: $players = new Config($this->getDataFolder()."Players.yml", Config::YAML); $player = $e->getPlayer(); $players->set("Jugadores", array($player->getName()));
its more easier than your idea xD try this ^^ PHP: $playerlist = scandir($this->getServer()->getDataPath() . "players");foreach($playerlist as $name){ if($name != "." && $name != ".."){ $name = str_replace(".dat", "", $name); if($player = $this->getServer()->getPlayerExact($name)){ $player->setWhitelisted(false); } else { $this->getServer()->getOfflinePlayer($name)->setWhitelisted(false); } }}