diff --git a/src/pocketmine/entity/Effect.php b/src/pocketmine/entity/Effect.php index bea73b385..f6ba2161a 100644 --- a/src/pocketmine/entity/Effect.php +++ b/src/pocketmine/entity/Effect.php @@ -40,7 +40,7 @@ class Effect{ const REGENERATION = 10; //TODO: const DAMAGE_RESISTANCE = 11; const FIRE_RESISTANCE = 12; - //TODO: const WATER_BREATHING = 13; + const WATER_BREATHING = 13; const INVISIBILITY = 14; //const BLINDNESS = 15; //const NIGHT_VISION = 16; @@ -69,7 +69,7 @@ class Effect{ self::$effects[Effect::REGENERATION] = new Effect(Effect::REGENERATION, "Regeneration"); //self::$effects[Effect::DAMAGE_RESISTANCE] = new Effect(Effect::DAMAGE_RESISTANCE, "Damage Resistance"); self::$effects[Effect::FIRE_RESISTANCE] = new Effect(Effect::FIRE_RESISTANCE, "Fire Resistance"); - //self::$effects[Effect::WATER_BREATHING] = new Effect(Effect::WATER_BREATHING, "Water Breathing"); + self::$effects[Effect::WATER_BREATHING] = new Effect(Effect::WATER_BREATHING, "Water Breathing"); self::$effects[Effect::INVISIBILITY] = new Effect(Effect::INVISIBILITY, "Invisibility"); //self::$effects[Effect::WEAKNESS] = new Effect(Effect::WEAKNESS, "Weakness", true); self::$effects[Effect::POISON] = new Effect(Effect::POISON, "Poison", true); diff --git a/src/pocketmine/entity/Living.php b/src/pocketmine/entity/Living.php index ac2413372..f71a40d81 100644 --- a/src/pocketmine/entity/Living.php +++ b/src/pocketmine/entity/Living.php @@ -180,7 +180,7 @@ abstract class Living extends Entity implements Damageable{ $this->attack($ev->getFinalDamage(), $ev); } - if($this->dead !== true and $this->isInsideOfWater()){ + if($this->dead !== true and !$this->hasEffect(Effect::WATER_BREATHING) and $this->isInsideOfWater()){ $hasUpdate = true; $airTicks = $this->getDataProperty(self::DATA_AIR) - $tickDiff; if($airTicks <= -20){