pocketmine\entity\Entity::isInsideOfWater PHP Method

isInsideOfWater() public method

public isInsideOfWater ( )
    public function isInsideOfWater()
    {
        $block = $this->level->getBlock($this->temporalVector->setComponents(Math::floorFloat($this->x), Math::floorFloat($y = $this->y + $this->getEyeHeight()), Math::floorFloat($this->z)));
        if ($block instanceof Water) {
            $f = $block->y + 1 - ($block->getFluidHeightPercent() - 0.1111111);
            return $y < $f;
        }
        return false;
    }

Usage Example

 /**
  * @param CommandSender $sender
  * @param Entity $entity
  */
 public function sendEntityInfo(CommandSender $sender, Entity $entity)
 {
     $sender->sendMessage("Nametag: " . $entity->getNameTag());
     $sender->sendMessage("Health: " . $entity->getHealth() . "/" . $entity->getMaxHealth());
     $sender->sendMessage("XYZ: " . $entity->getFloorX() . ":" . $entity->getFloorY() . ":" . $entity->getFloorZ());
     $sender->sendMessage("Level: " . $entity->getLevel()->getName());
     $sender->sendMessage("Id: " . $entity->getId());
     $sender->sendMessage("Save-id: " . $entity->getSaveId());
     $sender->sendMessage("Last-damage-cause: " . ($entity->getLastDamageCause() !== null ? TextFormat::GREEN . $entity->getLastDamageCause()->getCause() : TextFormat::RED . "none"));
     $sender->sendMessage("Eye-height" . $entity->getEyeHeight());
     $sender->sendMessage("Is-alive: " . ($entity->isAlive() ? TextFormat::GREEN . "yes" : TextFormat::RED . "no"));
     $sender->sendMessage("Is-nametag-visible: " . ($entity->isNameTagVisible() ? TextFormat::GREEN . "yes" : TextFormat::RED . "no"));
     $sender->sendMessage("Is-inside-water: " . ($entity->isInsideOfWater() ? TextFormat::GREEN . "yes" : TextFormat::RED . "no"));
     $sender->sendMessage("Is-inside-solid: " . ($entity->isInsideOfSolid() ? TextFormat::GREEN . "yes" : TextFormat::RED . "no"));
     $sender->sendMessage("Is-on-ground: " . ($entity->isOnGround() ? TextFormat::GREEN . "yes" : TextFormat::RED . "no"));
     $sender->sendMessage("Is-on-fire: " . ($entity->isOnFire() ? TextFormat::GREEN . "yes" : TextFormat::RED . "no"));
     //$sender->sendMessage("Is-sneaking: ".($entity->isSneaking() ? TextFormat::GREEN."yes" : TextFormat::RED."no"));
     //$sender->sendMessage("Is-sprinting: ".($entity->isSprinting() ? TextFormat::GREEN."yes" : TextFormat::RED."no"));
     $effectCount = 0;
     $effectNames = "";
     foreach ($entity->getEffects() as $effect) {
         $effectNames .= $effect->getName() . ", ";
         $effectCount++;
     }
     $sender->sendMessage("Effects (" . $effectCount . "): " . substr($effectNames, 0, -2));
     $viewerCount = 0;
     $viewerNames = "";
     foreach ($entity->getViewers() as $viewer) {
         $viewerNames .= $viewer->getName() . ", ";
         $viewerCount++;
     }
     $sender->sendMessage("Viewers (" . $viewerCount . "): " . substr($viewerNames, 0, -2));
 }