/** * get Rank * @param bool $package * @param bool $preEULA * @param bool $doSwap * @return Rank */ public function getRank($package = true, $preEULA = false, $doSwap = true) { $return = 'DEFAULT'; if ($package) { $keys = ['newPackageRank', 'packageRank']; if ($preEULA) { $keys = array_reverse($keys); } if (!$this->isStaff()) { if (!$this->isPreEULA()) { if ($this->get($keys[0], true) != null) { $return = $this->get($keys[0], true); } } else { foreach ($keys as $key) { if ($this->get($key, true) != null) { $return = $this->get($key, true); break; } } } } else { foreach ($keys as $key) { if ($this->get($key, true) != null) { $return = $this->get($key, true); break; } } } } else { if (!$this->isStaff()) { return $this->getRank(true, $preEULA); } $return = $this->get('rank', true); } if ($return == 'NONE' && $preEULA && $doSwap) { return $this->getRank($package, !$preEULA); } $returnRank = RankTypes::fromName($return); if ($returnRank == null) { $returnRank = RankTypes::fromID(RankTypes::NON_DONOR); } return $returnRank; }
/** * get Rank * @param bool $package * @param array $rankKeys * @return Rank */ public function getRank($package = true, $rankKeys = ['newPackageRank', 'packageRank']) { $returnRank = null; if ($package) { $returnRank = null; foreach ($rankKeys as $key) { $rank = RankTypes::fromName($this->get($key)); if ($rank != null) { if ($returnRank == null) { $returnRank = $rank; } /** @var $rank \HypixelPHP\Rank */ /** @var $returnRank \HypixelPHP\Rank */ if ($rank->getId() > $returnRank->getId()) { $returnRank = $rank; } } } } else { if (!$this->isStaff()) { return $this->getRank(true); } $returnRank = RankTypes::fromName($this->get('rank')); } if ($returnRank == null) { $returnRank = RankTypes::fromID(RankTypes::NON_DONOR); } return $returnRank; }