pocketmine\math\Vector3::getOppositeSide PHP Method

getOppositeSide() public static method

public static getOppositeSide ( $side )
    public static function getOppositeSide($side)
    {
        switch ((int) $side) {
            case Vector3::SIDE_DOWN:
                return Vector3::SIDE_UP;
            case Vector3::SIDE_UP:
                return Vector3::SIDE_DOWN;
            case Vector3::SIDE_NORTH:
                return Vector3::SIDE_SOUTH;
            case Vector3::SIDE_SOUTH:
                return Vector3::SIDE_NORTH;
            case Vector3::SIDE_WEST:
                return Vector3::SIDE_EAST;
            case Vector3::SIDE_EAST:
                return Vector3::SIDE_WEST;
            default:
                return -1;
        }
    }

Usage Example

Beispiel #1
0
 public function onUpdate($type)
 {
     if ($type === Level::BLOCK_UPDATE_NORMAL) {
         $faces = array_flip(array(2 => 2, 3 => 4, 4 => 5, 5 => 3));
         if ($this->getSide(Vector3::getOppositeSide($faces[$this->meta % 4 + 2]))->isTransparent() === true) {
             $this->getLevel()->useBreakOn($this);
             return Level::BLOCK_UPDATE_NORMAL;
         }
     } elseif ($type === Level::BLOCK_UPDATE_RANDOM) {
         if (mt_rand(0, 2) === 1) {
             if ($this->meta < 8) {
                 $block = clone $this;
                 $block->meta += 4;
                 Server::getInstance()->getPluginManager()->callEvent($ev = new BlockGrowEvent($this, $block));
                 if (!$ev->isCancelled()) {
                     $this->getLevel()->setBlock($this, $ev->getNewState(), true, true);
                 } else {
                     return Level::BLOCK_UPDATE_RANDOM;
                 }
             }
         } else {
             return Level::BLOCK_UPDATE_RANDOM;
         }
     }
     return false;
 }
All Usage Examples Of pocketmine\math\Vector3::getOppositeSide