22declare(strict_types=1);
24namespace pocketmine\entity\utils;
38 return $level ** 2 + $level * 6;
39 }elseif($level <= 31){
40 return (
int) ($level ** 2 * 2.5 - 40.5 * $level + 360);
43 return (
int) ($level ** 2 * 4.5 - 162.5 * $level + 2220);
51 return 2 * $level + 7;
52 }elseif($level <= 30){
53 return 5 * $level - 38;
55 return 9 * $level - 158;
65 throw new \InvalidArgumentException(
"XP must be at least 0");
67 if($xp <= self::getXpToReachLevel(16)){
71 }elseif($xp <= self::getXpToReachLevel(31)){
81 $x = Math::solveQuadratic($a, $b, $c - $xp);
83 throw new AssumptionFailedError(
"Expected at least 1 solution");
static getXpToReachLevel(int $level)
static getXpToCompleteLevel(int $level)
static getLevelFromXp(int $xp)