server = $server; $this->name = $name; if(file_exists($this->server->getDataPath() . "players/" . strtolower($this->getName()) . ".dat")){ $this->namedtag = $this->server->getOfflinePlayerData($this->name); }else{ $this->namedtag = null; } } public function isOnline(){ return $this->getPlayer() !== null; } public function getName(){ return $this->name; } public function getServer(){ return $this->server; } public function isOp(){ return $this->server->isOp(strtolower($this->getName())); } public function setOp($value){ if($value === $this->isOp()){ return; } if($value === true){ $this->server->addOp(strtolower($this->getName())); }else{ $this->server->removeOp(strtolower($this->getName())); } } public function isBanned(){ return $this->server->getNameBans()->isBanned(strtolower($this->getName())); } public function setBanned($value){ if($value === true){ $this->server->getNameBans()->addBan($this->getName(), null, null, null); }else{ $this->server->getNameBans()->remove($this->getName()); } } public function isWhitelisted(){ return $this->server->isWhitelisted(strtolower($this->getName())); } public function setWhitelisted($value){ if($value === true){ $this->server->addWhitelist(strtolower($this->getName())); }else{ $this->server->removeWhitelist(strtolower($this->getName())); } } public function getPlayer(){ return $this->server->getPlayerExact($this->getName()); } public function getFirstPlayed(){ return $this->namedtag instanceof Compound ? $this->namedtag["firstPlayed"] : null; } public function getLastPlayed(){ return $this->namedtag instanceof Compound ? $this->namedtag["lastPlayed"] : null; } public function hasPlayedBefore(){ return $this->namedtag instanceof Compound; } public function setMetadata($metadataKey, MetadataValue $metadataValue){ $this->server->getPlayerMetadata()->setMetadata($this, $metadataKey, $metadataValue); } public function getMetadata($metadataKey){ return $this->server->getPlayerMetadata()->getMetadata($this, $metadataKey); } public function hasMetadata($metadataKey){ return $this->server->getPlayerMetadata()->hasMetadata($this, $metadataKey); } public function removeMetadata($metadataKey, Plugin $plugin){ $this->server->getPlayerMetadata()->removeMetadata($this, $metadataKey, $plugin); } }