Exemple #1
0
 public function onBreak(BlockBreakEvent $e)
 {
     $p = $e->getPlayer();
     $b = $e->getBlock();
     if ($e->getBlock()->getId() == 1 && mt_rand(0, $this->getConfig()->get("t1-chance")) == "1") {
         for ($i = 0; $i <= 5; $i++) {
             $p->getLevel()->addParticle(new LavaParticle($b, 2));
         }
         $p->getLevel()->addSound(new PopSound($p));
         $this->getServer()->broadcastMessage(TextFormat::LIGHT_PURPLE . TextFormat::BOLD . "<TL> " . TextFormat::RESET . TextFormat::GREEN . $p->getName() . TextFormat::AQUA . " found " . TextFormat::BOLD . TextFormat::RED . "Tier 1" . TextFormat::RESET . TextFormat::AQUA . " loot underground!");
         foreach ($this->getConfig()->get("t1-loot") as $loot) {
             $p->getInventory()->addItem(Item::get($loot, 0, mt_rand(0, $this->getConfig()->get("t1-item-max"))));
         }
     }
     if ($e->getBlock()->getId() == 1 && mt_rand(0, $this->getConfig()->get("t2-chance")) == "1") {
         for ($i = 0; $i <= 8; $i++) {
             $p->getLevel()->addParticle(new LavaParticle($b, 2));
         }
         $p->getLevel()->addSound(new PopSound($p));
         $this->getServer()->broadcastMessage(TextFormat::LIGHT_PURPLE . TextFormat::BOLD . "<TL> " . TextFormat::RESET . TextFormat::GREEN . $p->getName() . TextFormat::AQUA . " found " . TextFormat::BOLD . TextFormat::GOLD . "Tier 2" . TextFormat::RESET . TextFormat::AQUA . " loot underground!");
         foreach ($this->getConfig()->get("t2-loot") as $loot) {
             $p->getInventory()->addItem(Item::get($loot, 0, mt_rand(0, $this->getConfig()->get("t2-item-max"))));
         }
     }
     if ($e->getBlock()->getId() == 1 && mt_rand(0, $this->getConfig()->get("t3-chance")) == "1") {
         for ($i = 0; $i <= 11; $i++) {
             $p->getLevel()->addParticle(new LavaParticle($b, 2));
         }
         $p->getLevel()->addSound(new PopSound($p));
         $this->getServer()->broadcastMessage(TextFormat::LIGHT_PURPLE . TextFormat::BOLD . "<TL> " . TextFormat::RESET . TextFormat::GREEN . $p->getName() . TextFormat::AQUA . " found " . TextFormat::BOLD . TextFormat::YELLOW . "Tier 3" . TextFormat::RESET . TextFormat::AQUA . " loot underground!");
         foreach ($this->getConfig()->get("t3-loot") as $loot) {
             $p->getInventory()->addItem(Item::get($loot, 0, mt_rand(0, $this->getConfig()->get("t3-item-max"))));
         }
     }
 }
 public function blockBreak(BlockBreakEvent $event)
 {
     //1
     $id = $event->getItem()->getId();
     if ($id == $this->id) {
         $player = $event->getPlayer();
         $username = $player->getName();
         if (empty($this->data[$user][1])) {
             $x = $event->getBlock()->x;
             $y = $event->getBlock()->y;
             $z = $event->getBlock()->z;
             $this->data[$user][1] = array($x, $y, $z);
             $ms = "";
             if (isset($this->data[$user][2])) {
                 //片方がセットされていたら
                 $ms = "[FiredNubesco] Second position has been set to: {$x}, {$y}, {$z}";
                 $size = $this->countBlocks($player);
                 if ($num != false) {
                     $ms .= " (Size: " . $size[0] . "X" . $size[1] . ")";
                 }
             } else {
                 $ms = "[FiredNubesco] First position has been set to: {$x}, {$y}, {$z}";
             }
             $player->sendMessage($ms);
             $event->setCancelled(true);
         }
     }
     return true;
 }
Exemple #3
0
 public function onBreak(BlockBreakEvent $event)
 {
     if ($event->getBlock() instanceof Bed) {
         foreach ($this->getConfig()->get("Arenas") as $arena => $g) {
             $bx = $event->getBlock()->getX();
             $by = $event->getBlock()->getY();
             $bz = $event->getBlock()->getZ();
             $blockpos = new Position($bx, $by, $bz);
             $bl = $event->getBlock()->getLevel()->getName();
             $bpos = $g["bluebed"];
             $rpos = $g["redbed"];
             $gpos = $g["greenbed"];
             $ypos = $g["yellowbed"];
             if ($blockpos === $bpos and $bl === $g["world"]) {
                 foreach ($this->getServer()->getLevelByName($g["world"])->getPlayers() as $p) {
                     $p->sendMessage(TextFormat::DARK_GRAY . "E' stato rotto il letto" . TextFormat::BLUE . "Blu" . TextFormat::DARK_GRAY . "! I giocatori blu sono stati eliminati!");
                 }
             } elseif ($blockpos === $rpos and $bl === $g["world"]) {
                 foreach ($this->getServer()->getLevelByName($g["world"])->getPlayers() as $p) {
                     $p->sendMessage(TextFormat::DARK_GRAY . "E' stato rotto il letto" . TextFormat::RED . "Rosso" . TextFormat::DARK_GRAY . "! I giocatori rossi sono stati eliminati!");
                 }
             } elseif ($blockpos === $gpos and $bl === $g["world"]) {
                 foreach ($this->getServer()->getLevelByName($g["world"])->getPlayers() as $p) {
                     $p->sendMessage(TextFormat::DARK_GRAY . "E' stato rotto il letto" . TextFormat::GREEN . "Verde" . TextFormat::DARK_GRAY . "! I giocatori verdi sono stati eliminati!");
                 }
             } elseif ($blockpos === $ypos and $bl === $g["world"]) {
                 foreach ($this->getServer()->getLevelByName($g["world"])->getPlayers() as $p) {
                     $p->sendMessage(TextFormat::DARK_GRAY . "E' stato rotto il letto" . TextFormat::YELLOW . "Giallo" . TextFormat::DARK_GRAY . "! I giocatori gialli sono stati eliminati!");
                 }
             }
         }
     }
 }
 public function onBreak(BlockBreakEvent $event)
 {
     if ($event->getBlock()->getId() != Block::CHEST) {
         return;
     }
     $block = $event->getBlock();
     if (!isset($this->configData["{$block->x}:{$block->y}:{$block->z}"])) {
         return;
     }
     if ($this->configData["{$block->x}:{$block->y}:{$block->z}"] == $event->getPlayer()->getName()) {
         unset($this->configData["{$block->x}:{$block->y}:{$block->z}"]);
         $event->getPlayer()->sendMessage(TextFormat::DARK_AQUA . "상자 보호가 해제되었습니다 !");
         $event->setCancelled();
     } else {
         if ($event->getPlayer()->isOp()) {
             return;
         }
         if ($this->simpleArea != null) {
             $area = $this->simpleArea->db[$block->getLevel()->getFolderName()]->getArea($block->x, $block->z);
             if ($area != null) {
                 if (isset($area["resident"][0]) and $area["resident"][0] == $event->getPlayer()->getName()) {
                     return;
                 }
             }
         }
         $event->getPlayer()->sendMessage(TextFormat::RED . "이 상자는 " . $this->configData["{$block->x}:{$block->y}:{$block->z}"] . " 님의 소유입니다, 파괴 불가 !");
         $event->setCancelled();
     }
 }
Exemple #5
0
 public function onBlockBreak(BlockBreakEvent $event)
 {
     $key = $event->getBlock()->x . "." . $event->getBlock()->y . "." . $event->getBlock()->z;
     foreach ($this->crops as $crop) {
         if ($event->getItem()->getId() == $crop["item"] and isset($this->farmData[$key])) {
             unset($this->farmData[$key]);
         }
     }
 }
Exemple #6
0
 public function onBreak(BlockBreakEvent $event)
 {
     if ($event->getBlock()->getId() == 15) {
         $drops = array(Item::get(265, 0, 1));
         $event->setDrops($drops);
     }
     if ($event->getBlock()->getId() == 14) {
         $drops = array(Item::get(266, 0, 1));
         $event->setDrops($drops);
     }
 }
Exemple #7
0
 public function SignBreak(BlockBreakEvent $event)
 {
     $block = $event->getBlock();
     if (isset($this->configData["{$block->x}:{$block->y}:{$block->z}"])) {
         unset($this->configData["{$block->x}:{$block->y}:{$block->z}"]);
     }
 }
Exemple #8
0
 public function onBreak(BlockBreakEvent $event)
 {
     $player = $event->getPlayer();
     if ($player->isCreative()) {
         return;
     }
     $time = round(microtime(true) * 1000);
     if ($event->getBlock()->getBreakTime($event->getItem()) <= 0.2) {
         return;
     }
     if ($time - $this->tictock[$player->getName()] <= 200) {
         if (!isset($this->kick[$player->getName()])) {
             $this->kick[$player->getName()] = 1;
         } else {
             $this->kick[$player->getName()]++;
         }
         if ($this->kick > 2) {
             $player->kick("파괴자모드 감지");
             if (isset($this->kick[$player->getName()])) {
                 unset($this->kick[$player->getName()]);
             }
         }
         $event->setCancelled();
     } else {
         if (isset($this->kick[$player->getName()])) {
             unset($this->kick[$player->getName()]);
         }
     }
     $this->tictock[$player->getName()] = $time;
 }
 /**
  * @param BlockBreakEvent $event
  */
 public function onBlockBreak(BlockBreakEvent $event)
 {
     $player = $event->getPlayer();
     $b = $event->getBlock();
     if ($this->getPlugin()->pos_display_flag == 1) {
         $event->getPlayer()->sendMessage("BREAKED: [x=" . $b->x . " y=" . $b->y . " z=" . $b->z . "]");
     }
     // @fix1- team can only break enermy flag and not own
     $redTeamFlagPos = $this->getSetup()->getFlagPos(CTFSetup::CTF_FLAG_RED_TEAM);
     if (round($b->x) == round($redTeamFlagPos->x) && round($b->y) == round($redTeamFlagPos->y) && round($b->z) == round($redTeamFlagPos->y)) {
         if (isset($this->pgin->redTeamPlayers[$player->getName()])) {
             // update again to fix color issue
             $this->getBuilder()->addBlueTeamFlag($player->getLevel(), 171, 14);
             $event->setCancelled(true);
         }
     }
     $blueTeamFlagPos = $this->getSetup()->getFlagPos(CTFSetup::CTF_FLAG_BLUE_TEAM);
     if (round($b->x) == round($blueTeamFlagPos->x) && round($b->y) == round($blueTeamFlagPos->y) && round($b->z) == round($blueTeamFlagPos->z)) {
         if (isset($this->pgin->blueTeamPLayers[$player->getName()])) {
             // update again to fix color issue
             $this->getBuilder()->addBlueTeamFlag($player->getLevel(), 171, 11);
             $event->setCancelled(true);
         }
     }
     // @fix #2 stop player break anything else other than the flags
     if (strtolower($player->level->getName()) == strtolower($this->getSetup()->getCTFWorldName())) {
         if ($this->getSetup()->isCTFWorldBlockBreakDisable() || !$player->isOp()) {
             if ($b->getId() != 171) {
                 $event->setCancelled(true);
             }
         }
     }
 }
Exemple #10
0
 public function onBreak(BlockBreakEvent $event)
 {
     if ($event->isCancelled()) {
         return;
     }
     $player = $event->getPlayer();
     $block = $event->getBlock();
     $drops = $block->getDrops($event->getItem());
     $x = $block->x + 0.5;
     $y = $block->y + 0.5;
     $z = $block->z + 0.5;
     $tile = $block->getLevel()->getTile($block);
     if ($tile instanceof Chest) {
         return;
     }
     if ($event->getItem() instanceof Item) {
         $event->getItem()->useOn($block);
         if ($event->getItem()->isTool() and $event->getItem()->getDamage() >= $event->getItem()->getMaxDurability()) {
             $event->getPlayer()->getInventory()->setItemInHand(Item::get(Item::AIR, 0, 0));
         }
     }
     if (!$player instanceof Player) {
         foreach ($drops as $drop) {
             if ($drop[2] > 0) {
                 $event->getBlock()->getLevel()->dropItem($event->getBlock()->add(0.5, 0.5, 0.5), Item::get(...$drop));
             }
         }
     } else {
         if ($player->isSurvival()) {
             $this->breakQueue["{$block->x}:{$block->y}:{$block->z}"]["drop"] = $drops;
             $this->breakQueue["{$block->x}:{$block->y}:{$block->z}"]["player"] = $player;
             $this->itemQueue["{$x}:{$y}:{$z}"] = $drops;
         }
     }
 }
Exemple #11
0
 /**
  *
  * @param BlockBreakEvent $event        	
  */
 public function onBlockBreak(BlockBreakEvent $event)
 {
     if ($event->getPlayer() instanceof Player) {
         if ($this->plugin->gameLevelManager->setupModeAction === GameLevelManager::COMMAND_SETUP_WAND_GAME_LEVEL || $this->plugin->gameLevelManager->setupModeAction === GameLevelManager::COMMAND_SETUP_WAND_GAME_LEVEL_GATE) {
             $this->plugin->gameLevelManager->handleBlockBreakSelection($event->getPlayer(), $event->getBlock());
         }
     }
 }
Exemple #12
0
 public function onBlockBreak(BlockBreakEvent $event)
 {
     if ($event->getBlock()->getID() == 323 || $event->getBlock()->getID() == 63 || $event->getBlock()->getID() == 68) {
         $sign = $event->getPlayer()->getLevel()->getTile($event->getBlock());
         if (!$sign instanceof Sign) {
             return;
         }
         $sign = $sign->getText();
         if ($sign[0] == '§6[§4Bail§6]') {
             if ($event->getPlayer()->hasPermission("jail.sign.destroy") || $event->getPlayer()->hasPermission("jail.sign.destroy.bail")) {
                 $event->getPlayer()->sendMessage($this->getPlugin()->colourMessage("&aYou destroyed a bail sign!"));
             } else {
                 $issuer->sendMessage($this->getPlugin()->colourMessage("&cYou don't have permission for this!"));
             }
         }
     }
 }
 public function onBreak(BlockBreakEvent $event)
 {
     $player = $event->getPlayer();
     if ($event->getBlock()->getId() === FlowerPotMain::BLOCK_ITEM_FRAME and !$player->isOp()) {
         $player->sendMessage("You do not have permission.");
         $event->setCancelled();
     }
 }
Exemple #14
0
 /**
  *
  * @param BlockBreakEvent $event        	
  */
 public function onBlockBreak(BlockBreakEvent $event)
 {
     if ($event->getPlayer() instanceof Player) {
         if ($this->plugin->arenaManager->setupModeAction === MapArenaManager::COMMAND_SETUP_WAND_ARENA_MAIN || $this->plugin->arenaManager->setupModeAction === MapArenaManager::COMMAND_SETUP_WAND_ARENA_MAIN_PLAYER_SPAWNS || $this->plugin->arenaManager->setupModeAction === MapArenaManager::COMMAND_SETUP_WAND_ARENA_DEATH_MATCH || $this->plugin->arenaManager->setupModeAction === MapArenaManager::COMMAND_SETUP_WAND_ARENA_DEATH_MATCH_SPAWN) {
             $this->plugin->arenaManager->handleBlockBreakSelection($event->getPlayer(), $event->getBlock());
         }
     }
 }
 public function onBlockBreak(BlockBreakEvent $event)
 {
     $player = $event->getPlayer();
     $block = $event->getBlock();
     if ($player->hasPermission('log.breaked.block')) {
         $this->plugin->addBreakedBlock($block, $player);
         // ADD TIME
     }
 }
Exemple #16
0
 public function onBlockBreak(BlockBreakEvent $event)
 {
     if ($event->isCancelled()) {
         return;
     }
     if ($this->chopTree($event->getPlayer(), $event->getBlock(), $event->getItem(), self::TYPE_BREAK)) {
         $event->setCancelled(true);
     }
 }
 public function playerBlockBreak(BlockBreakEvent $event)
 {
     $block = $event->getBlock();
     if ($block->getID() == Item::WALL_SIGN || $block->getID() == Item::SIGN_POST) {
         $player = $event->getPlayer();
         $signManager = $this->SignShop->getSignManager();
         if ($signManager->existsSign($block)) {
             $get = $signManager->getSign($block);
             if (strtolower($get["maker"]) == strtolower($player->getName())) {
                 if (is_numeric($get["available"]) && $get["need"] > -1) {
                     while ($get["available"] > 0) {
                         $item = new Item($get["id"], $get["damage"], $get["amount"]);
                         if ($player->getInventory()->canAddItem($item)) {
                             if ($get["available"] - $get["amount"] < 0) {
                                 break;
                             }
                             $player->getInventory()->addItem($item);
                             $get["available"] -= $get["amount"];
                         } else {
                             $this->SignShop->messageManager()->send($player, "You_need_to_free_up_space_from_your_inventory_to_remove_this_Sign");
                             $event->setCancelled();
                             return;
                         }
                     }
                 }
                 $signManager->removeSign($block);
                 $this->SignShop->messageManager()->send($player, "The_Sign_successfully_removed");
                 return;
             } else {
                 $this->SignShop->messageManager()->send($player, "The_selected_Sign_is_not_your");
                 $event->setCancelled();
             }
         }
     }
     $pos = $event->getBlock();
     if ($pos->level->getBlockIdAt($pos->x, $pos->y + 1, $pos->z) == Item::SIGN_POST) {
         $pos->level->setBlock($pos, Block::get(0), true, true);
         $pos->y += 1;
         if ($this->SignShop->getSignManager()->existsSign($pos)) {
             $this->SignShop->getSignManager()->spawnSign($pos);
         }
     }
 }
Exemple #18
0
 public function onBreak(BlockBreakEvent $event)
 {
     if ($event->getBlock()->getId() === Block::SIGN_POST || $event->getBlock()->getId() === Block::WALL_SIGN) {
         if ($this->tntRun->getSign()->isExists($event->getBlock())) {
             if ($event->getPlayer()->hasPermission("tntrun.create")) {
                 $this->tntRun->getSign()->removeSign($event->getBlock());
             } else {
                 $event->getPlayer()->sendMessage(TextFormat::RED . "You don't have permission to use this command!");
             }
             return;
         }
     }
     foreach ($this->tntRun->arenas as $arena) {
         if ($arena->getPlayerManager()->isInArena($event->getPlayer())) {
             $event->setCancelled();
             return;
         }
     }
 }
Exemple #19
0
 /**
  * @priority LOWEST
  * @ignoreCancelled true
  * @param BlockBreakEvent $event
  */
 public function onBlockBreak(BlockBreakEvent $event)
 {
     $player = $event->getPlayer();
     $block = $event->getBlock();
     $job = $this->jobs->get($this->player->get($player->getName()));
     if ($job !== false) {
         if (isset($job[$block->getID() . ":" . $block->getDamage() . ":break"])) {
             $this->api->addMoney($player, $job[$block->getID() . ":" . $block->getDamage() . ":break"]);
         }
     }
 }
Exemple #20
0
 public function onBreak(BlockBreakEvent $event)
 {
     if (!$event->getPlayer()->hasPermission("TreeChopper")) {
         return;
     }
     if ($event->getBlock()->getId() == Block::LOG) {
         $block = $event->getBlock();
         $down = $block->getLevel()->getBlockIdAt($block->x, $block->y - 1, $block->z);
         if ($down != Block::GRASS and $down != Block::DIRT) {
             return;
         }
         $x = $block->x + 0.5;
         $y = $block->y + 0.5;
         $z = $block->z + 0.5;
         $drops = $block->getDrops($event->getItem());
         $this->breakQueue["{$block->x}:{$block->y}:{$block->z}"]["drop"] = $drops;
         $this->breakQueue["{$block->x}:{$block->y}:{$block->z}"]["player"] = $event->getPlayer();
         $this->itemQueue["{$x}:{$y}:{$z}"] = $drops;
     }
 }
 public function onBlockBeak(BlockBreakEvent $event)
 {
     $log = $event->getPlayer()->getID();
     if (in_array($log, $this->locations)) {
         $ru = $event->getBlock();
         $zoo = strtolower($event->getPlayer()->getName());
         $this->pos[$zoo] = new Vector3($ru->getX(), $ru->getY(), $ru->getZ());
         $event->getPlayer()->sendMessage("BlockPosition :[x->" . $this->pos[$zoo]->getX() . "y->" . $this->pos[$zoo]->getY() . "z->" . $this->pos[$zoo]->getZ() . "]");
         $event->setCancelled(true);
     }
 }
Exemple #22
0
 public function onBlockBreak(BlockBreakEvent $event)
 {
     if ($event->isCancelled()) {
         return;
     } else {
         $event->setCancelled();
     }
     foreach ($event->getBlock()->getDrops($event->getItem()) as $i) {
         $event->getPlayer()->getInventory()->addItem(Item::get(...$i));
     }
 }
Exemple #23
0
 public function onBlockBreak(BlockBreakEvent $event)
 {
     $b = $event->getBlock();
     if (isset($this->grow[$this->getPos($b)])) {
         $c = false;
         if ($event->getPlayer()->isCreative()) {
             $c = true;
         }
         $this->beanBreak($b, $c);
     }
 }
 public function onBreak(BlockBreakEvent $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 onBreak(BlockBreakEvent $event)
 {
     $block = $event->getBlock();
     if ($block instanceof Crops and !$event->getItem()->isHoe()) {
         if ($block->getId() === Block::PUMPKIN_STEM or $block->getId() === Block::MELON_STEM) {
             $event->setCancelled();
         } else {
             $this->blocks[microtime(true) + mt_rand(1, 5) . "." . mt_rand(0, 5)] = $block;
             $this->runTask();
         }
     }
 }
 public function onBlockBreak(BlockBreakEvent $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));
         }
     }
 }
Exemple #27
0
 public function onBlockBreak(BlockBreakEvent $event)
 {
     if ($event->isCancelled()) {
         return;
     }
     $b = $event->getBlock();
     foreach ($b->getDrops($event->getItem()) as $i) {
         $this->item[$i[0] . ":" . $i[1] . ":" . $i[2]] = true;
         for ($for = 0; $for < $this->getCount(); $for++) {
             $b->getLevel()->dropItem($b, Item::get($i[0], $i[1], $i[2]));
         }
     }
 }
 public function onBreak(BlockBreakEvent $event)
 {
     //ItemDamageBug
     $player = $event->getPlayer();
     $item = $event->getItem();
     if ($item->isTool() and !$event->isCancelled() and self::ENABLE_ITEM_DAMAGE_BUG) {
         if ($item->useOn($event->getBlock()) and $item->getDamage() >= $item->getMaxDurability()) {
             $player->getInventory()->setItemInHand(Item::get(Item::AIR, 0, 1));
         } else {
             $player->getInventory()->setItemInHand($item);
         }
     }
 }
Exemple #29
0
 public function onBlockBreak(BlockBreakEvent $event)
 {
     if (!$event->getPlayer()->hasPermission("warp.del")) {
         return;
     }
     $loc = $this->encodeLoc($event->getBlock());
     if (!isset(self::$warpData[$loc])) {
         return;
     }
     unset(self::$warpData[$loc]);
     $event->getPlayer()->sendMessage(TextFormat::AQUA . "Successfully deleted the warp.");
     $this->saveWarpData();
 }
Exemple #30
0
 public function onBlockBreak(BlockBreakEvent $event)
 {
     $block = $event->getBlock();
     $blockid = $block->getID();
     $itemid = $event->getItem()->getID();
     foreach ($this->growids as $index => $growid) {
         if ($itemid == $growid) {
             if (isset($this->farmdata[$block->x . "." . $block->y . "." . $block->z])) {
                 unset($this->farmdata[$block->x . "." . $block->y . "." . $block->z]);
             }
         }
     }
 }