From 537afbc23b9c25f1ce1086f3bd0134943fa8e385 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sun, 3 Feb 2019 12:24:19 +0000 Subject: [PATCH] EffectInstance: Require positive amplifiers, closes #2723 --- src/pocketmine/entity/effect/EffectInstance.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/pocketmine/entity/effect/EffectInstance.php b/src/pocketmine/entity/effect/EffectInstance.php index f3707f672..2619a73d1 100644 --- a/src/pocketmine/entity/effect/EffectInstance.php +++ b/src/pocketmine/entity/effect/EffectInstance.php @@ -57,7 +57,7 @@ class EffectInstance{ public function __construct(Effect $effectType, ?int $duration = null, int $amplifier = 0, bool $visible = true, bool $ambient = false, ?Color $overrideColor = null){ $this->effectType = $effectType; $this->setDuration($duration ?? $effectType->getDefaultDuration()); - $this->amplifier = $amplifier; + $this->setAmplifier($amplifier); $this->visible = $visible; $this->ambient = $ambient; $this->color = $overrideColor ?? $effectType->getColor(); @@ -141,6 +141,9 @@ class EffectInstance{ * @return $this */ public function setAmplifier(int $amplifier) : EffectInstance{ + if($amplifier < 0 or $amplifier > 255){ + throw new \InvalidArgumentException("Amplifier must be in range 0 - 255, got $amplifier"); + } $this->amplifier = $amplifier; return $this;