pocketmine\event\player\PlayerInteractEvent::getTouchVector PHP Method

getTouchVector() public method

public getTouchVector ( ) : Vector3
return pocketmine\math\Vector3
    public function getTouchVector()
    {
        return $this->touchVector;
    }

Usage Example

Exemplo n.º 1
0
 public function onPlayerInteract(PlayerInteractEvent $event)
 {
     $where = $event->getTouchVector();
     $teamBelong = false;
     foreach ($this->option["teamCore"] as $team => $axis) {
         if ($axis["x"] == $where . getX() and $axis["y"] == $where . getY() and $axis["z"] == $where . getZ()) {
             $teamBelong = $team;
         }
     }
     if ($teamBelong === false) {
         //the block is not a core.
         return;
     }
     if ($event->getBlock()->getId() == 0) {
         //problem in setup!
         return;
     }
     $player = $event->getPlayer();
     $teamPlayer = $this->plugin->teamInfo[mb_strtolower($player->getName())];
     if (!isset($teamPlayer)) {
         $player->sendMessage($this->plugin->system["messages"]["notInTeam"]);
         return;
     }
     if ($teamBelong == $teamPlayer) {
         //the player attacks its own core.
         $player->sendMessage($this->plugin->system["messages"]["yourCore"]);
         return;
     }
     $action = $event->getAction();
     if ($action != PlayerInteractEvent::LEFT_CLICK_BLOCK or $action != PlayerInteractEvent::RIGHT_CLICK_BLOCK) {
         return;
     }
     $inv = $player->getInventory();
     $item = $inv->getItemInHand();
     $handItemId = $item->getId();
     $damage = 5;
     switch ($handItemId) {
         case 283:
             //gold sword
             $damage = 55;
             break;
         case 284:
             //gold tools
         //gold tools
         case 285:
         case 286:
             $damage = 50;
             break;
         case 276:
             //diamond sword
             $damage = 45;
             break;
         case 275:
             //diamond tools
         //diamond tools
         case 274:
         case 273:
             $damage = 40;
             break;
         case 276:
             //iron sword
             $damage = 35;
             break;
         case 256:
             //iron tools
         //iron tools
         case 257:
         case 258:
             $damage = 30;
             break;
         case 276:
             //stone sword
             $damage = 25;
             break;
         case 256:
             //stone tools
         //stone tools
         case 257:
         case 258:
             $damage = 20;
             break;
         case 283:
             //wood sword
             $damage = 15;
             break;
         case 284:
             //wood tools
         //wood tools
         case 285:
         case 286:
             $damage = 10;
             break;
         case 290:
             //wood hoe
         //wood hoe
         case 291:
             //stone hoe
         //stone hoe
         case 292:
             //iron hoe
         //iron hoe
         case 293:
             //diamond hoe
         //diamond hoe
         case 294:
             //gold hoe
             $damage = 10;
             break;
     }
     processDamageCore($teamBelong, $damage);
 }
All Usage Examples Of pocketmine\event\player\PlayerInteractEvent::getTouchVector