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) . "]"); } } }
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) { if ($event->getBlock()->getId() == 68 || $event->getBlock()->getId() == 63) { $sign = $event->getPlayer()->getLevel()->getTile($event->getBlock()); if ($sign instanceof Sign) { $signtext = $sign->getText(); if ($signtext[0] == "§l§4[Brawl]") { $player = $event->getPlayer(); $name = $player->getName(); $this->getServer()->getScheduler()->scheduleRepeatingTask(new Task1($this), 20 * 60); if (empty($signtext[3]) !== true) { $worlds = $signtext[3]; $this->getServer()->loadLevel($worlds); $event->getPlayer()->teleport(Server::getInstance()->getLevelByName($worlds)->getSafeSpawn()); if ($world = $this->getServer()->getLevelByName($worlds)) { $count = count($world->getPlayers()); $player->sendTip(TextFormat::GREEN . "§l§4[Brawl] Téléportation en cour !"); $this->getServer()->broadcastMessage("§l§4[Brawl]§a {$name} rejoin la partie §7[{$count}/8]"); $player->setNameTag("§7" . $player->getName()); $player->setDisplayName("§7" . $player->getName()); $duration = $this->cfg->get("Duration"); $player->getInventory()->clearAll(); if ($this->gameStarted === true & ($this->timer = 60 & count($this->players) > 8 & $player->isOp())) { $event->setCancelled(true); $player->sendMessage("§l§4[Brawl] Tu ne peut pas rejoindre cette partie"); $this->refreshSign(); return; //sign event use } } } } } } }
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 onChestOpen(PlayerInteractEvent $event) { if ($event->getBlock()->getID() == Main::ITEM_ID) { $chest = $event->getPlayer()->getLevel()->getTile($event->getBlock()); if ($chest instanceof Chest) { //Check Command status //0 if ($this->plugin->getCommandStatus($event->getPlayer()->getName()) == 0) { //Check bypass permission if ($event->getPlayer()->hasPermission("chestlocker.bypass") == false) { //Check if Chest is registered if ($this->plugin->isChestRegistered($chest->getLevel()->getName(), $chest->getX(), $chest->getY(), $chest->getZ())) { if ($this->plugin->getChestOwner($chest->getLevel()->getName(), $chest->getX(), $chest->getY(), $chest->getZ()) != strtolower($event->getPlayer()->getName())) { $event->setCancelled(true); $event->getPlayer()->sendMessage($this->plugin->translateColors("&", Main::PREFIX . "&4You aren't the owner of this " . Main::ITEM_NAME_2 . ".")); } } } } //1 if ($this->plugin->getCommandStatus($event->getPlayer()->getName()) == 1) { //Check if Chest is registered if ($this->plugin->isChestRegistered($chest->getLevel()->getName(), $chest->getX(), $chest->getY(), $chest->getZ())) { if ($this->plugin->getChestOwner($chest->getLevel()->getName(), $chest->getX(), $chest->getY(), $chest->getZ()) != strtolower($event->getPlayer()->getName())) { $event->getPlayer()->sendMessage($this->plugin->translateColors("&", Main::PREFIX . "&4You aren't the owner of this " . Main::ITEM_NAME_2 . ".")); } else { $event->getPlayer()->sendMessage($this->plugin->translateColors("&", Main::PREFIX . "&2" . Main::ITEM_NAME . " already locked")); } } else { $event->getPlayer()->sendMessage($this->plugin->translateColors("&", Main::PREFIX . "&2" . Main::ITEM_NAME . " locked")); $this->plugin->lockChest($chest->getLevel()->getName(), $chest->getX(), $chest->getY(), $chest->getZ(), $event->getPlayer()->getName()); } $event->setCancelled(true); $this->plugin->setCommandStatus(0, $event->getPlayer()->getName()); } //2 if ($this->plugin->getCommandStatus($event->getPlayer()->getName()) == 2) { //Check if Chest is registered if ($this->plugin->isChestRegistered($chest->getLevel()->getName(), $chest->getX(), $chest->getY(), $chest->getZ())) { if ($this->plugin->getChestOwner($chest->getLevel()->getName(), $chest->getX(), $chest->getY(), $chest->getZ()) != strtolower($event->getPlayer()->getName())) { $event->getPlayer()->sendMessage($this->plugin->translateColors("&", Main::PREFIX . "&4You aren't the owner of this " . Main::ITEM_NAME_2 . ".")); } else { $event->getPlayer()->sendMessage($this->plugin->translateColors("&", Main::PREFIX . "&2" . Main::ITEM_NAME . " unlocked")); $this->plugin->unlockChest($chest->getLevel()->getName(), $chest->getX(), $chest->getY(), $chest->getZ(), $event->getPlayer()->getName()); } } else { $event->getPlayer()->sendMessage($this->plugin->translateColors("&", Main::PREFIX . "&2" . Main::ITEM_NAME . " not registered")); } $event->setCancelled(true); $this->plugin->setCommandStatus(0, $event->getPlayer()->getName()); } } } }
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 handlePlayerInteractWithChest(PlayerInteractEvent $event) { $player = $event->getPlayer(); if ($event->getBlock()->getId() == Item::CHEST) { if ($player->getInventory()->getItemInHand()->getId() == Item::STICK) { $player->sendMessage("[CSCase] Opening Case..."); $this->inventory->refillRandomItems($player->level, $event->getBlock()); $player->getInventory()->removeItem(Item::get(280, 0, 1)); } else { $player->sendMessage("[CSCase] You dont have key for opening,\n[CSCase] If you have key in inventory, please, choose in hand !"); $event->setCancelled(true); } } }
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}"]); } }
/** * @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 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 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 onBlockTap(PlayerInteractEvent $e) { $id = $e->getPlayer()->getInventory()->getItemInHand()->getID(); if ($id == 283) { $this->Item_GoldenSword->useItem($e->getPlayer(), $e->getBlock()); } }
/** * @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); }
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 onPlayerInteract(PlayerInteractEvent $event) { if ($event->getPlayer() instanceof Player) { $player = $event->getPlayer(); $block = $event->getBlock(); $this->plugin->arenaManager->handleTapOnArenaSigns($player, $block); } }
public function touchSign(PlayerInteractEvent $event) { if ($event->getBlock()->getId() == Block::SIGN_POST or $event->getBlock()->getId() == Block::WALL_SIGN) { $x = $event->getBlock()->x; $y = $event->getBlock()->y; $z = $event->getBlock()->z; if (isset($this->NydusCanal_List["signs"][$event->getPlayer()->getLevel()->getFolderName()][$x . ":" . $y . ":" . $z])) { $this->PlacePrevent[$event->getPlayer()->getName()] = true; if (!$event->getPlayer()->hasPermission("nyduscanal.signportal")) { $event->getPlayer()->sendMessage(TextFormat::RED . "포탈을 이용할 수 있는 권한이 없습니다."); $event->setCancelled(); } $this->NydusCanal($event->getPlayer(), $this->NydusCanal_List["signs"][$event->getPlayer()->getLevel()->getFolderName()][$x . ":" . $y . ":" . $z]); $event->setCancelled(); } } }
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 onInteract(PlayerInteractEvent $event) { if ($event->getBlock()->getID() == 323 or $event->getBlock()->getID() == 63 or $event->getBlock()->getID() == 68) { $sign = $event->getPlayer()->getLevel()->getTile($event->getBlock()); if ($sign instanceof Sign) { $text = $sign->getText(); if ($text[0] == "[Spleef]") { $arena = $this->getArenaByName($text[1]); if ($arena instanceof Arena) { $arena->addPlayer($event->getPlayer()); } else { $event->getPlayer()->sendMessage("This arena wasn't found."); } } } } }
/** * @param PlayerInteractEvent $event * @priority LOWEST */ public function onInteract(PlayerInteractEvent $event) { $player = $event->getPlayer(); if ($player->hasPermission("nailedkeyboard")) { if ($event->getBlock() instanceof SignPost) { $sign = $event->getBlock()->getLevel()->getTile($event->getBlock()); if ($sign instanceof Sign) { $texts = $sign->getText(); if ($texts[0] === "NailedKeyboard") { $event->setCancelled(); if (is_string($reply = $this->handleSignTouch($player, $texts)) and trim($reply) !== "") { $player->sendMessage($reply); } } } } } }
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 playerTouchSign(PlayerInteractEvent $ev) { if ($ev->getBlock()->getId() != Block::SIGN_POST && $ev->getBlock()->getId() != Block::WALL_SIGN) { return; } $tile = $ev->getPlayer()->getLevel()->getTile($ev->getBlock()); if (!$tile instanceof Sign) { return; } $sign = $tile->getText(); if (!isset($this->signtxt[$sign[0]])) { return; } $pl = $ev->getPlayer(); if (!MPMU::access($pl, "killrate.signs.use")) { return; } $this->activateSign($pl, $tile); }
public function playerBlockTouch(PlayerInteractEvent $event) { $sender = $event->getPlayer(); $block = $event->getBlock(); $item = $event->getItem()->getID(); $xyz = $block->x . ":" . $block->y . ":" . $block->z; if (!($event->getBlock()->getID() == 323 or $event->getBlock()->getID() == 63 or $event->getBlock()->getID() == 68)) { return; } $sign = $event->getPlayer()->getLevel()->getTile($block); if (!$sign instanceof Sign) { return; } $sign = $sign->getText(); if (!($sign[0] == "[터치시 돈 획득]")) { return; } if (isset($sign[1])) { if (!isset($this->list[$sender->getName()][$xyz]["time"])) { $e = explode("\$", $sign[1]); $money = $e[1]; $this->api->addMoney($sender, $money); $sender->sendMessage(TextFormat::DARK_AQUA . "[안내] \$" . $money . "를 획득하셨습니다 !"); $this->list[$sender->getName()][$xyz]["time"] = date("d"); return; } else { if ($this->list[$sender->getName()][$xyz]["time"] != date("d")) { $e = explode("\$", $sign[1]); $money = $e[1]; $this->api->addMoney($sender, $money); $sender->sendMessage(TextFormat::DARK_AQUA . "[안내] \$" . $money . "를 획득하셨습니다 !"); $this->list[$sender->getName()][$xyz]["time"] = date("d"); return; } else { $sender->sendMessage(TextFormat::RED . "[안내] 보상은 하루 한번만 가능합니다 !"); return; } } } else { $sender->sendMessage(TextFormat::RED . "[안내] 잘못된 표시판 ! 작동되지않습니다 !"); return; } }
public function onTouchCrate(PlayerInteractEvent $e) { if ($e->getBlock()->getId() == 54) { if ($e->getItem()->getId() == $this->getConfig()->get("cratekey-item")) { if ($e->getPlayer()->hasPermission("mysterycrates.crates.open")) { $e->setCancelled(); $this->openCrate($e->getPlayer()); } } } }
public function onInteract(PlayerInteractEvent $event) { if (!$event->getPlayer()->hasPermission("customareas.bypass")) { foreach ($this->plugin->areas as $area) { if ($area->isInside($event->getBlock()) and !$area->canBuild($event->getPlayer())) { $event->setCancelled(); $event->getPlayer()->sendMessage("This is " . $area->owner . "'s private area"); } } } }
public function onPlayerInteract(PlayerInteractEvent $event) { if ($event->getBlock()->getID() == 323 || $event->getBlock()->getID() == 68 || $event->getBlock()->getID() == 63) { $sign = $event->getPlayer()->getLevel()->getTile($event->getBlock()); if (!$sign instanceof Sign) { return; } $sign = $sign->getText(); if ($sign[0] == '§6[§4Bail§6]') { if ($this->getPlugin()->isJailed($event->getPlayer())) { if ($event->getPlayer()->hasPermission("jail.sign.toggle") || $event->getPlayer()->hasPermission("jail.sign.toggle.bail")) { $this->getPlugin()->getServer()->dispatchCommand($event->getPlayer(), "bail"); } else { $event->getPlayer()->sendMessage("§cYou don't have permission for this!"); } } else { $event->getPlayer()->sendMessage($this->getPlugin()->colourMessage("You are not jailed!")); } } } }
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 onBlock(PlayerInteractEvent $event) { if (!$event->getPlayer()->hasPermission("Farms")) { return; } $block = $event->getBlock()->getSide(1); $blockid = $block->getID(); $itemid = $event->getItem()->getID(); $itemdamage = $event->getItem()->getDamage(); if ($itemid == 351 and $itemdamage == 3) { $tree = $event->getBlock()->getSide($event->getFace()); if ($tree->getID() == 17 or $tree->getDamage() == 3) { $event->getBlock()->getLevel()->setBlock($event->getBlock()->getSide($event->getFace()), new CocoaBeanBlock($event->getFace()), true, true); return true; } } if ($event->getBlock()->getID() == Item::FARMLAND or $event->getBlock()->getID() == Item::SAND) { foreach ($this->growids as $index => $growid) { if ($itemid == $growid) { $this->farmdata[$block->x . "." . $block->y . "." . $block->z]['id'] = $this->blockids[$index]; $this->farmdata[$block->x . "." . $block->y . "." . $block->z]['damage'] = 0; $this->farmdata[$block->x . "." . $block->y . "." . $block->z]['time'] = $this->configdata["growing-time"]; break; } } } }
public function onBlock(PlayerInteractEvent $event) { if (!$event->getPlayer()->hasPermission("Farms") and !$event->getPlayer()->hasPermission("Farms.VIP")) { return; } $block = $event->getBlock()->getSide(1); // Cocoa been if ($event->getItem()->getId() == Item::DYE and $event->getItem()->getDamage() == 3) { $tree = $event->getBlock()->getSide($event->getFace()); // Jungle wood if ($tree->getId() == Block::WOOD and $tree->getDamage() == 3) { $event->getBlock()->getLevel()->setBlock($event->getBlock()->getSide($event->getFace()), new CocoaBeanBlock($event->getFace()), true, true); return; } } // Farmland or sand if ($event->getBlock()->getId() == Item::FARMLAND or $event->getBlock()->getId() == Item::SAND) { foreach ($this->crops as $crop) { if ($event->getItem()->getId() == $crop["item"]) { $key = $block->x . "." . $block->y . "." . $block->z; $this->farmData[$key]['id'] = $crop["block"]; $this->farmData[$key]['damage'] = 0; $this->farmData[$key]['level'] = $block->getLevel()->getFolderName(); $this->farmData[$key]['time'] = $this->makeTimestamp(date("Y-m-d H:i:s")); $this->farmData[$key]['growtime'] = $this->speedData[$event->getPlayer()->hasPermission("Farms.VIP") ? "vip-growing-time" : "growing-time"]; break; } } } }
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()]); } }