Inheritance: extends PlayerEvent, implements pocketmine\event\Cancellable
 /**
  * @param PlayerInteractEvent $event
  *
  * @priority HIGHEST
  */
 public function onPlayerInteract(PlayerInteractEvent $event)
 {
     echo __METHOD__ . "," . __LINE__ . "\n";
     //##DEBUG
     if (!$this->auth->isPlayerAuthenticated($event->getPlayer())) {
         echo __METHOD__ . "," . __LINE__ . "\n";
         //##DEBUG
         $event->setCancelled(true);
     }
 }
 public function onBlockTouch(PlayerInteractEvent $event)
 {
     $player = $event->getPlayer();
     if (!$player->haspermission("worldprotetor.block.break")) {
         $event->setCancelled(true);
     } else {
         $event->setCancelled(false);
     }
 }
Example #3
2
 public function onTouth(PlayerInteractEvent $event)
 {
     if (!isset($this->wands[$event->getPlayer()->getName()])) {
         $eventname = "Touch";
         $this->regi($event, $eventname);
     } else {
         $this->chk($event);
         $event->setCancelled(true);
     }
 }
Example #4
1
 public function onPlayerInteract(PlayerInteractEvent $event)
 {
     if ($event->getPlayer() instanceof Player) {
         $player = $event->getPlayer();
         $block = $event->getBlock();
         if ($this->plugin->blockhud) {
             $event->getPlayer()->sendMessage("TOUCHED " . $block->getId() . " [x=" . round($block->x) . " y=" . round($block->y) . " z=" . round($block->z) . "]");
         }
     }
 }
Example #5
0
 /**
  * @priority HIGHEST
  */
 public function onPlayerInteract(PlayerInteractEvent $event)
 {
     if ($event->isCancelled()) {
         return;
     }
     $p = $event->getPlayer();
     $b = $event->getBlock();
     if ($b->getID() !== 26) {
         return;
     }
     $event->setCancelled();
     $xTabel = [3 => 1, 1 => -1];
     $b = $b->getSide(5, isset($xTabel[$dmg = $b->getDamage()]) ? $xTabel[$dmg] : 0);
     $zTabel = [0 => 1, 2 => -1];
     $b = $b->getSide(3, isset($zTabel[$dmg]) ? $zTabel[$dmg] : 0);
     $this->getServer()->getPluginManager()->callEvent($ev = new PlayerBedEnterEvent($p, $b));
     if ($ev->isCancelled()) {
         return;
     }
     $property = (new \ReflectionClass("\\pocketmine\\Player"))->getProperty("sleeping");
     $property->setAccessible(true);
     foreach ($p->getLevel()->getNearbyEntities($p->getBoundingBox()->grow(2, 1, 2), $p) as $pl) {
         if ($pl instanceof Player && $pl->isSleeping()) {
             if ($b->distance($property->getValue($pl)) <= 0.1) {
                 $p->sendMessage("This bed is occupied");
                 return;
             }
         }
     }
     $property->setValue($p, $b);
     $p->teleport($b->add(0.5, 0.5, 0.5));
     $p->sendMetadata($p->getViewers());
     $p->sendMetadata($p);
 }
 /**
  * @param PlayerInteractEvent $event
  *
  * @priority LOW
  */
 public function onInteract(PlayerInteractEvent $event)
 {
     if ($event->getAction() !== PlayerInteractEvent::RIGHT_CLICK_BLOCK) {
         return;
     }
     $player = $event->getPlayer();
     $gamer = $this->hub->getGamerForPlayer($player);
     $item = $event->getItem();
     $block = $event->getBlock();
     if ($block instanceof SignPost) {
         $sign = $block->getLevel()->getTile($block);
         if (!$sign instanceof Sign) {
             unset($sign);
         }
     }
     foreach ($this->hub->getJoinMethods() as $method) {
         if (!$method->isLevelCorrect($player->getLevel())) {
             continue;
         }
         if ($method instanceof KeyJoinMethod) {
             if ($method->key === null or $method->key->equals($item, true, false)) {
                 if ($method->lock === null or $method->lock->equals($block)) {
                     $gamer->setModule($this->hub->getModule($method->target));
                     return;
                 }
             }
         } elseif (isset($sign) and $method instanceof SignJoinMethod) {
             if ($method->matches($sign)) {
                 $gamer->setModule($this->hub->getModule($method->target));
                 return;
             }
         }
     }
 }
Example #7
0
 public function onPlayerInteract(PlayerInteractEvent $event)
 {
     $player = $event->getPlayer();
     $block = $event->getBlock();
     if ($player instanceof Player) {
         if (round($this->plugin->vipSignPos->x) === round($block->x) and round($this->plugin->vipSignPos->y) === round($block->y) and round($this->plugin->vipSignPos->z) === round($block->z)) {
             if ($this->plugin->vipenforceaccess) {
                 $vip = $this->checkInVIP($event->getPlayer());
                 if (!$vip) {
                     $message = TextFormat::YELLOW . "[HG] Require " . TextFormat::RED . "VIP+ " . TextFormat::YELLOW . "membership.";
                     $event->getPlayer()->sendMessage($message);
                     return;
                 }
             }
             MapPortal::teleportingToLobby($player, $this->plugin->vipLevelName, $this->plugin->vipSpawnPos);
             $this->plugin->log("[HG] teleporting to VIP lodge " . $this->plugin->vipSpawnPos->x . " " . $this->plugin->vipSpawnPos->y . " " . $this->plugin->vipSpawnPos->z);
             $player->sendTip(TextFormat::BOLD . TextFormat::WHITE . "Welcome to " . TextFormat::RED . "[V.I.P.+ " . TextFormat::GOLD . "Lodge]");
             return;
         }
         if (round($this->plugin->vipExitSignPos->x) === round($block->x) and round($this->plugin->vipExitSignPos->y) === round($block->y) and round($this->plugin->vipExitSignPos->z) === round($block->z)) {
             MapPortal::teleportingToLobby($player, $this->plugin->hubLevelName, $this->plugin->hubSpawnPos);
             $this->plugin->log("[HG] teleporting to HG lobby " . $this->plugin->hubSpawnPos->x . " " . $this->plugin->hubSpawnPos->y . " " . $this->plugin->hubSpawnPos->z);
             $player->sendTip(TextFormat::BOLD . TextFormat::WHITE . "Welcome to " . TextFormat::RED . "HG " . TextFormat::GOLD . "Lobby");
             return;
         }
     }
 }
Example #8
0
 public function onInteract(PlayerInteractEvent $event)
 {
     $block = $event->getBlock();
     $player = $event->getPlayer();
     if (isset($this->normalSessions[$player->getName()])) {
         if ($this->normalSessions[$player->getName()] === 'action') {
             $player->sendMessage("Please write your command into chat (with a slash!), other players won't be able to see it!");
             $player->sendMessage("Execution Mode Tags: %pow, %op");
             $player->sendMessage("Special Tags: %p, %x, %y, %z, %l, %ip, %n");
             $this->normalSessions[$player->getName()] = $block;
             $this->cmdSessions[$player->getName()] = false;
         } else {
             if (($tempBlock = $this->getBlock($block, null, null, null)) instanceof Block) {
                 $this->deleteBlock($tempBlock);
                 $player->sendMessage("Removed all actions assigned to the block.");
                 unset($this->normalSessions[$player->getName()]);
             } else {
                 $player->sendMessage("Error: Block doesn't exist.");
             }
         }
     }
     if (!isset($this->normalSessions[$player->getName()]) && ($block = $this->getBlock($event->getBlock(), null, null, null)) instanceof Block && $event->getPlayer()->hasPermission("ttdleet.tap")) {
         $block->executeCommands($event->getPlayer());
     }
 }
Example #9
0
 public function onTouch(PlayerInteractEvent $event)
 {
     $player = $event->getPlayer();
     $block = $event->getBlock();
     if ($this->plugin->war->getSoldier($player) != null) {
         if ($block->getId() == 54) {
             $event->setCancelled();
             $block = $event->getBlock();
             if (!isset($this->touchinfo[$player->getName()])) {
                 $this->giveRandomItem($player);
                 $this->touchinfo[$player->getName()] = [];
                 array_push($this->touchinfo[$player->getName()], "{$block->getX()}.{$block->getY()}.{$block->getZ()}");
                 $this->plugin->message($player, $this->plugin->get("get-item-from-chest"));
             } else {
                 foreach ($this->touchinfo[$player->getName()] as $stringpos) {
                     if ($stringpos == "{$block->getX()}.{$block->getY()}.{$block->getZ()}") {
                         $this->plugin->alert($player, $this->plugin->get("already-get-item"));
                         return true;
                     }
                 }
                 $this->giveRandomItem($player);
                 array_push($this->touchinfo[$player->getName()], "{$block->getX()}.{$block->getY()}.{$block->getZ()}");
                 $this->plugin->message($player, $this->plugin->get("get-item-from-chest"));
             }
         }
     }
 }
Example #10
0
 public function onPlayerTouch(PlayerInteractEvent $event)
 {
     $player = $event->getPlayer();
     $b = $event->getBlock();
     $name = $event->getPlayer()->getName();
     $name = strtolower($name);
     if ($b->getID() === 63 || $b->getID() === 68) {
         $sign = $player->getLevel()->getTile($b);
         if (!$sign instanceof Sign) {
             return;
         }
         $sign = $sign->getText();
         if (TextFormat::clean($sign[0]) === '[Checkpoint]') {
             $this->data->set($name, array($player->x, $player->y, $player->z, $player->getLevel()->getName()));
             $this->data->save();
             $player->sendMessage($this->getConfig()->get("CheckpointSaved"));
         }
         if (TextFormat::clean($sign[0]) === '[Earn Reward]') {
             $this->data->remove($name, array($player->x, $player->y, $player->z, $player->getLevel()->getName()));
             $this->data->save();
             $player->sendMessage($this->getConfig()->get("EarnReward"));
             if ($this->getConfig()->get("reward-command")) {
                 $player->getServer()->dispatchCommand(new ConsoleCommandSender(), str_ireplace("{PLAYER}", $player->getName(), $this->getConfig()->get("reward-command")));
                 $player->teleport($player->getLevel()->getSafeSpawn());
             }
         }
     }
     if ($b->getID() === $this->getConfig()->get("CheckPointBlock")) {
         $this->data->set($name, array($player->x, $player->y, $player->z, $player->getLevel()->getName()));
         $this->data->save();
         $player->sendMessage($this->getConfig()->get("CheckpointSaved"));
     }
 }
Example #11
0
 public function onTouch(PlayerInteractEvent $event)
 {
     $block = $event->getBlock();
     if (isset($this->configData["{$block->x}:{$block->y}:{$block->z}"])) {
         $this->getServer()->getCommandMap()->dispatch($event->getPlayer(), $this->configData["{$block->x}:{$block->y}:{$block->z}"]);
     }
 }
 public function onTouch(PlayerInteractEvent $event)
 {
     $block = $event->getBlock();
     $player = $event->getPlayer();
     $arena = "0";
     $level = $player->getLevel();
     if ($block->getID() === Block::SNOW_BLOCK) {
         $player->getLevel()->setBlock($block, new Block(Block::AIR));
     }
     if ($block->getId() === Block::SPONGE) {
         $player->sendMessage("Reseting Spleef");
         $X = $this->setup->get("X");
         $X1 = $this->setup->get("X");
         $Y = $this->setup->get("Y");
         $Z = $this->setup->get("Z");
         $Z1 = $this->setup->get("Z");
         for ($Z > $Z1 - 13; $Z < $Z1 + 13; $Z++) {
             $level->setBlock(new Vector3($X - 6, $Y, $Z), new Snow());
             $level->setBlock(new Vector3($X - 5, $Y, $Z), new Snow());
             $level->setBlock(new Vector3($X - 4, $Y, $Z), new Snow());
             $level->setBlock(new Vector3($X - 3, $Y, $Z), new Snow());
             $level->setBlock(new Vector3($X - 2, $Y, $Z), new Snow());
             $level->setBlock(new Vector3($X - 1, $Y, $Z), new Snow());
             $level->setBlock(new Vector3($X, $Y, $Z), new Snow());
             $level->setBlock(new Vector3($X + 1, $Y, $Z), new Snow());
             $level->setBlock(new Vector3($X + 2, $Y, $Z), new Snow());
             $level->setBlock(new Vector3($X + 3, $Y, $Z), new Snow());
             $level->setBlock(new Vector3($X + 4, $Y, $Z), new Snow());
             $level->setBlock(new Vector3($X + 5, $Y, $Z), new Snow());
             $level->setBlock(new Vector3($X + 6, $Y, $Z), new Snow());
         }
     }
 }
Example #13
0
 public function onBlockTap(PlayerInteractEvent $e)
 {
     $id = $e->getPlayer()->getInventory()->getItemInHand()->getID();
     if ($id == 283) {
         $this->Item_GoldenSword->useItem($e->getPlayer(), $e->getBlock());
     }
 }
 /**
  * @param PlayerInteractEvent $event
  *
  * @priority HIGH
  */
 public function onBlockTap(PlayerInteractEvent $event)
 {
     // PowerTool
     if ($this->getAPI()->executePowerTool($event->getPlayer(), $event->getItem())) {
         $event->setCancelled(true);
     }
 }
Example #15
0
 public function onPlayerInteract(PlayerInteractEvent $event)
 {
     $p = $event->getPlayer();
     $i = $event->getItem();
     if ($i->getID() !== 339 || ($money = $i->getDamage()) < 1) {
         return;
     }
     $m = "[Check] ";
     $ik = $this->isKorean();
     if (!isset($this->touch[$n = $p->getName()])) {
         $this->touch[$n] = 0;
     }
     $c = microtime(true) - $this->touch[$n];
     if ($c > 0) {
         $m .= $ik ? "수표를 사용하시려면 다시한번눌러주세요. \n 수표 정보 : " . $money . "\$" : "If you want to use this check, One more touch block \n Check Info : " . $money . "\$";
     } else {
         $i->setCount($i->getCount() - 1);
         $p->getInventory()->setItem($p->getInventory()->getHeldItemSlot(), $i);
         $this->giveMoney($p, $money);
         $m .= $ik ? "수표를 사용하셨습니다.\n 수표 정보 : " . $money . "\$" : "You use the check. \n Check Info : " . $money . "\$";
     }
     $this->touch[$n] = microtime(true) + 1;
     if (isset($m)) {
         $p->sendMessage($m);
     }
     $event->setCancelled();
 }
 public function onInteract(PlayerInteractEvent $event)
 {
     if ($event->getPlayer()->hasPermission("worldprotector.block.interact")) {
         $event->setCancelled(false);
     } else {
         $event->setCancelled(true);
     }
 }
Example #17
0
 /**
  * When the player move while
  * he is not logged in, cancel
  * the event
  * @param PlayerInteractEvent $event
  */
 public function onPlayerInteract(PlayerInteractEvent $event)
 {
     $player = $event->getPlayer();
     if (!User::exist($player->getName()) || User::exist($player->getName()) && !User::get($player->getName())->isLogged()) {
         $event->setCancelled(true);
         $player->sendMessage($this->needLogin);
     }
 }
Example #18
0
 public function onInteract(PlayerInteractEvent $event)
 {
     if ($this->plugin->status === "enabled" && $this->plugin->loginmanager[$event->getPlayer()->getId()] === 0) {
         $event->setCancelled(true);
     } elseif ($this->plugin->safemode === true and $this->plugin->status !== "enabled") {
         $event->setCancelled(true);
     }
 }
 public function onInteract(PlayerInteractEvent $event)
 {
     $player = $event->getPlayer();
     if ($event->getBlock()->getId() === FlowerPotMain::BLOCK_ITEM_FRAME and !$player->isOp()) {
         $player->sendMessage("You do not have permission.");
         $event->setCancelled();
     }
 }
Example #20
0
 public function onPlayerInteract(PlayerInteractEvent $event)
 {
     if ($event->getPlayer() instanceof Player) {
         $player = $event->getPlayer();
         $block = $event->getBlock();
         $this->plugin->arenaManager->handleTapOnArenaSigns($player, $block);
     }
 }
Example #21
0
 public function onPlayerInteract(PlayerInteractEvent $event)
 {
     $block = $event->getBlock();
     if (isset($this->levelTickBlocks[$levelName = $block->getLevel()->getFolderName()]) && isset($this->randomTickBlocks[$levelName])) {
         if (in_array($block->getID(), $this->randomTickBlocks[$levelName]) && $block->getID() !== Block::GLASS && !isset($this->levelTickBlocks[$levelName][$posKey = $block->x . ":" . $block->y . ":" . $block->z])) {
             $this->levelTickBlocks[$levelName][$posKey] = new Position($block->x, $block->y, $block->z, $block->level);
         }
     }
 }
Example #22
0
 public function playerInteract(PlayerInteractEvent $event)
 {
     if ($event->getBlock()->getId() == 35 && $event->getBlock()->getDamage() == 1) {
         $block->level->setBlock($block, Block::get(0));
         $player = $event->getPlayer();
         $player->getInventory()->addItem(new Item(ITEM::COOKIE, 0, 1));
         $player->sendPopup(TextFormat::GRAY . "RandomGive:\n" . TextFormat::YELLOW . "> " . TextFormat::GREEN . "You've received a cookie!");
     }
 }
Example #23
0
 public function Touch1b(PlayerInteractEvent $cto)
 {
     $blockDis = $cto->getBlock()->getID();
     $block = $cto->getBlock();
     if ($cto->getPlayer()->isOp()) {
         if ($blockDis == $this->ymlBlock) {
             // fix :>
             $cto->getPlayer()->getLevel()->dropItem(new \pocketmine\math\Vector3($block->x, $block->y, $block->z), Item::get($this->ymal["ItemID"]));
         }
     }
 }
 public function onInteract(PlayerInteractEvent $event)
 {
     $block = $event->getBlock();
     $faction = $this->owner->isInPlot($block->getFloorX(), $block->getFloorZ());
     if ($faction) {
         $player = $event->getPlayer();
         if ($faction->getName() !== $this->owner->getPlayerFaction($player) and !$player->hasPermission('uf.break.neutral')) {
             $event->setCancelled(true);
             $player->sendMessage($this->owner->mformatter->formatMessage('This plot has been claimed by: ' . TextFormat::GOLD . $faction . TextFormat::WHITE . ' faction', MessageFormat::INFO));
         }
     }
 }
Example #25
0
 public function onPlayerInteract(PlayerInteractEvent $e)
 {
     // Implement the CompassTP thingie...
     $pl = $e->getPlayer();
     if (!$pl->hasPermission("toybox.compasstp")) {
         return;
     }
     $hand = $pl->getInventory()->getItemInHand();
     if ($hand->getID() != $this->item) {
         return;
     }
     $pos = $pl->getPosition()->add(0, $pl->getEyeHeight(), 0);
     $start = new Vector3($pos->getX(), $pos->getY(), $pos->getZ());
     $lv = $pl->getLevel();
     for ($start = new Vector3($pos->getX(), $pos->getY(), $pos->getZ()); $start->distance($pos) < 120; $pos = $pos->add($pl->getDirectionVector())) {
         $block = $lv->getBlock($pos->floor());
         if ($block->getId() != 0) {
             break;
         }
     }
     if ($block->getId() == 0) {
         $pl->sendMessage(mc::_("Can not teleport to the void!"));
         return;
     }
     $pos = $pos->subtract($pl->getDirectionVector());
     $dist = $start->distance($pos);
     if ($dist < 2.8) {
         $pl->sendMessage(mc::_("Not teleporting..."));
         $pl->sendMessage(mc::_("You could easily walk there!"));
         return;
     }
     //echo "Block: ".$block->getName()." (".$block->getId().")\n";
     //print_r($pos);
     //echo "Distance: ".$start->distance($pos)."\n";
     $pl->sendMessage(mc::_("Teleporting... %1%", intval($dist)));
     $pos = $pos->add(0, 1, 0);
     /*$cb = new CallbackTask([$this,"delayedTP"],[$pl->getName(),
       $pos->getX(),
       $pos->getY(),
       $pos->getZ()]);
       $this->owner->getServer()->getScheduler()->scheduleDelayedTask($cb,20);
       //$pl->teleport($pos);
       return;*/
     $m = 5.0;
     for ($f = 1.0; $f <= $m; $f++) {
         $ticks = intval($f) * 5;
         $x = ($pos->getX() - $start->getX()) * $f / $m + $start->getX();
         $y = ($pos->getY() - $start->getY()) * $f / $m + $start->getY();
         $z = ($pos->getZ() - $start->getZ()) * $f / $m + $start->getZ();
         $c = new PluginCallbackTask($this->owner, [$this, "delayedTP"], [$pl->getName(), $x, $y, $z]);
         $this->owner->getServer()->getScheduler()->scheduleDelayedTask($c, $ticks);
     }
 }
Example #26
0
 public function onTouch(PlayerInteractEvent $event)
 {
     $player = $event->getPlayer();
     $block = $event->getBlock();
     if (!isset($this->onChair[$player->getName()])) {
         if ($block instanceof Stair) {
             if (!isset($this->doubleTap[$player->getName()])) {
                 $this->doubleTap[$player->getName()] = $this->_microtime();
                 $player->sendPopup(TextFormat::RED . $this->get("touch-popup"));
                 return;
             }
             if ($this->_microtime(true) - $this->doubleTap[$player->getName()] < 0.5) {
                 $addEntityPacket = new AddEntityPacket();
                 $addEntityPacket->eid = $this->onChair[$player->getName()] = Entity::$entityCount++;
                 $addEntityPacket->speedX = 0;
                 $addEntityPacket->speedY = 0;
                 $addEntityPacket->speedZ = 0;
                 $addEntityPacket->pitch = 0;
                 $addEntityPacket->yaw = 0;
                 $addEntityPacket->item = 0;
                 $addEntityPacket->meta = 0;
                 $addEntityPacket->x = $block->getX() + 0.5;
                 $addEntityPacket->y = $block->getY() + 0.3;
                 $addEntityPacket->z = $block->getZ() + 0.5;
                 $addEntityPacket->type = Item::NETWORK_ID;
                 $addEntityPacket->metadata = [Entity::DATA_FLAGS => [Entity::DATA_TYPE_BYTE, 1 << Entity::DATA_FLAG_INVISIBLE], Entity::DATA_NAMETAG => [Entity::DATA_TYPE_STRING, $this->get("tagblock-message")], Entity::DATA_SHOW_NAMETAG => [Entity::DATA_TYPE_BYTE, 1], Entity::DATA_NO_AI => [Entity::DATA_TYPE_BYTE, 1]];
                 $setEntityLinkPacket = new SetEntityLinkPacket();
                 $setEntityLinkPacket->from = $addEntityPacket->eid;
                 $setEntityLinkPacket->to = $player->getId();
                 $setEntityLinkPacket->type = true;
                 foreach ($this->getServer()->getOnlinePlayers() as $target) {
                     $target->dataPacket($addEntityPacket);
                     if ($player !== $target) {
                         $target->dataPacket($setEntityLinkPacket);
                     }
                 }
                 $setEntityLinkPacket->to = 0;
                 $player->dataPacket($setEntityLinkPacket);
                 unset($this->doubleTap[$player->getName()]);
             } else {
                 $this->doubleTap[$player->getName()] = $this->_microtime();
                 $player->sendPopup(TextFormat::RED . $this->get("touch-popup"));
                 return;
             }
         }
     } else {
         $removeEntityPacket = new RemoveEntityPacket();
         $removeEntityPacket->eid = $this->onChair[$player->getName()];
         $this->getServer()->broadcastPacket($this->getServer()->getOnlinePlayers(), $removeEntityPacket);
         unset($this->onChair[$player->getName()]);
     }
 }
Example #27
0
 public function onInteract(PlayerInteractEvent $event)
 {
     $block = $event->getBlock();
     $id = $block->getId();
     $x = $block->getX();
     $y = $block->getY();
     $z = $block->getZ();
     if ($id === 86) {
         $block->getLevel()->setBlock(new Vector3($x, $y, $z), Block::get(91));
     } elseif ($id === 91) {
         $block->getLevel()->setBlock(new Vector3($x, $y, $z), Block::get(86));
     }
 }
 public function onPlayerInteract(PlayerInteractEvent $event)
 {
     $level = $event->getPlayer()->level;
     $player = $event->getPlayer();
     $blockTouched = $event->getBlock();
     //        if (\pocketmine\DEBUG > 1) {
     //            $direction = $player->getDirectionVector();
     //            $msg = "Player direction is X:" . round($direction->x, 2) . " Y:" . round($direction->y, 2) . " Z:" . round($direction->z, 2);
     //            $this->pgin->log($msg);
     //            $player->sendMessage($msg);
     //        }
     QRhelper::CreateQRAndUnmark($this->pgin, $player, $blockTouched, $level, true);
 }
Example #29
0
 public function onPlayerInteract(PlayerInteractEvent $event)
 {
     $i = $event->getItem();
     $b = $event->getBlock();
     $p = $event->getPlayer();
     if ($b->getID() == 17 && $b->getDamage() == 3) {
         if ($i->getID() == 351 && $i->getDamage() == 3) {
             $f = $event->getFace();
             if ($b->getSide($f)->getID() !== 0) {
                 return;
             }
             switch ($f) {
                 case 2:
                     $meta = 0;
                     break;
                 case 3:
                     $meta = 2;
                     break;
                 case 4:
                     $meta = 3;
                     break;
                 case 5:
                     $meta = 1;
                     break;
             }
             if (!isset($meta)) {
                 return;
             }
             $this->beanPlace($b->getSide($f), $meta);
             if (!$p->isCreative()) {
                 $i = $p->getInventory()->getItemInHand();
                 $i->setCount($i->getCount() - 1);
                 $inv = $p->getInventory();
                 $inv->setItem($inv->getHeldItemSlot(), $i);
             }
         }
     } elseif ($b->getID() == 127) {
         if (!isset($this->grow[$this->getPos($b)])) {
             $this->beanPlace($b, $b->getDamage());
         }
         if ($i->getID() == 351 && $i->getDamage() == 15) {
             $this->beanGrow($b, true);
             if (!$p->isCreative()) {
                 $i = $p->getInventory()->getItemInHand();
                 $i->setCount($i->getCount() - 1);
                 $inv = $p->getInventory();
                 $inv->setItem($inv->getHeldItemSlot(), $i);
             }
         }
     }
 }
Example #30
0
 public function onInteract(PlayerInteractEvent $event)
 {
     $player = $event->getPlayer();
     $sign = $event->getPlayer()->getLevel()->getTile($event->getBlock());
     if ($event->getBlock()->getId() == 63 or $event->getBlock()->getId() == 68) {
         if ($sign instanceof Sign) {
             $signtext = $sign->getText();
             if (TextFormat::clean($signtext[0]) === "[DeadEnd]") {
                 $player->teleport(126.3, 5, 128.3, DeadEnd - lobby);
                 $player->sendMessage(TextFormat::GOLD . "You entered DeadEnd!");
             }
         }
     }
 }