Example #1
0
 public function checkSimpleArea(AreaModifyEvent $event)
 {
     $area = $this->plugin->getArea($event->getBlock()->x, $event->getBlock()->y, $event->getBlock()->z);
     if ($area != false) {
         $event->setCancelled();
     }
 }
Example #2
0
 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;
     }
 }
Example #3
0
 public function checkSimpleArea(AreaModifyEvent $event)
 {
     if ($event->getBlock()->getId() == Block::SNOW_LAYER) {
         $event->setCancelled();
     }
 }