/** * @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); } }
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); } }
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) . "]"); } } }
/** * @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; } } } }
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; } } }
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()); } }
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")); } } } }
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")); } }
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()); } } }
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); } }
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); } }
/** * 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); } }
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(); } }
public function onPlayerInteract(PlayerInteractEvent $event) { if ($event->getPlayer() instanceof Player) { $player = $event->getPlayer(); $block = $event->getBlock(); $this->plugin->arenaManager->handleTapOnArenaSigns($player, $block); } }
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); } } }
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!"); } }
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)); } } }
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); } }
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()]); } }
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); }
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); } } } }
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!"); } } } }