diff --git a/src/pocketmine/entity/Human.php b/src/pocketmine/entity/Human.php index b80ecb45d..85cfeceee 100644 --- a/src/pocketmine/entity/Human.php +++ b/src/pocketmine/entity/Human.php @@ -57,7 +57,6 @@ use pocketmine\network\mcpe\protocol\types\inventory\ItemStackWrapper; use pocketmine\network\mcpe\protocol\types\PlayerListEntry; use pocketmine\network\mcpe\protocol\types\SkinAdapterSingleton; use pocketmine\Player; -use pocketmine\utils\AssumptionFailedError; use pocketmine\utils\UUID; use function array_filter; use function array_merge; @@ -70,7 +69,6 @@ use function max; use function min; use function mt_rand; use function random_int; -use function sprintf; use function strlen; use const INT32_MAX; use const INT32_MIN; @@ -397,9 +395,6 @@ class Human extends Creature implements ProjectileSource, InventoryHolder{ $xpLevel = (int) $newLevel; $xpProgress = $newLevel - (int) $newLevel; - if($xpProgress > 1.0){ - throw new AssumptionFailedError(sprintf("newLevel - (int) newLevel should never be bigger than 1, but have %.53f (newLevel=%.53f)", $xpProgress, $newLevel)); - } return $this->setXpAndProgress($xpLevel, $xpProgress); } diff --git a/src/pocketmine/event/player/PlayerExperienceChangeEvent.php b/src/pocketmine/event/player/PlayerExperienceChangeEvent.php index 3322a91b8..4d889a37d 100644 --- a/src/pocketmine/event/player/PlayerExperienceChangeEvent.php +++ b/src/pocketmine/event/player/PlayerExperienceChangeEvent.php @@ -79,6 +79,9 @@ class PlayerExperienceChangeEvent extends EntityEvent implements Cancellable{ } public function setNewProgress(?float $newProgress) : void{ + if($newProgress < 0.0 || $newProgress > 1.0){ + throw new \InvalidArgumentException("XP progress must be in range 0-1"); + } $this->newProgress = $newProgress; } }