public function checkSimpleArea(AreaModifyEvent $event) { $area = $this->plugin->getArea($event->getBlock()->x, $event->getBlock()->y, $event->getBlock()->z); if ($area != false) { $event->setCancelled(); } }
public function onBreak(BlockBreakEvent $event) { $player = $event->getPlayer(); $block = $event->getBlock(); if ($player->isOp()) { return; } $area = $this->db[$block->getLevel()->getFolderName()]->getArea($block->x, $block->z); if ($area != false) { if (isset($area["resident"][0])) { if ($this->db[$block->getLevel()->getFolderName()]->checkResident($area["ID"], $player->getName())) { return; } } if ($this->db[$block->getLevel()->getFolderName()]->isProtected($area["ID"]) == true) { if ($this->db[$block->getLevel()->getFolderName()]->isAllowOption($area["ID"], $block->getID() . ":" . $block->getDamage())) { return; } $this->getServer()->getPluginManager()->callEvent($ev = new AreaModifyEvent($player, $block, AreaModifyEvent::BREAK_PROTECT_AREA)); if ($ev->isCancelled()) { return; } if ($this->checkShowPreventMessage()) { $this->alert($player, $this->get("block-change-denied")); } $event->setCancelled(); } else { if ($this->db[$block->getLevel()->getFolderName()]->isForbidOption($area["ID"], $block->getID() . ":" . $block->getDamage())) { $this->getServer()->getPluginManager()->callEvent($ev = new AreaModifyEvent($player, $block, AreaModifyEvent::BREAK_FORBID)); if ($ev->isCancelled()) { return; } if ($this->checkShowPreventMessage()) { $this->alert($player, $this->get("block-active-denied")); } $event->setCancelled(); } } return; } if ($this->db[$block->getLevel()->getFolderName()]->isWhiteWorld()) { if ($this->db[$block->getLevel()->getFolderName()]->option["white-protect"] == true) { if ($this->db[$block->getLevel()->getFolderName()]->isWhiteWorldAllowOption($block->getID() . ":" . $block->getDamage())) { return; } $this->getServer()->getPluginManager()->callEvent($ev = new AreaModifyEvent($player, $block, AreaModifyEvent::BREAK_WHITE)); if ($ev->isCancelled()) { return; } if ($this->checkShowPreventMessage()) { $this->alert($player, $this->get("whiteworld-change-denied")); } $event->setCancelled(); } else { if ($this->db[$block->getLevel()->getFolderName()]->isWhiteWorldForbidOption($block->getID() . ":" . $block->getDamage())) { return; } $this->getServer()->getPluginManager()->callEvent($ev = new AreaModifyEvent($player, $block, AreaModifyEvent::BREAK_WHITE_FORBID)); if ($ev->isCancelled()) { return; } if ($this->checkShowPreventMessage()) { $this->alert($player, $this->get("block-active-denied")); } $event->setCancelled(); } return; } }
public function checkSimpleArea(AreaModifyEvent $event) { if ($event->getBlock()->getId() == Block::SNOW_LAYER) { $event->setCancelled(); } }