diff --git a/src/pocketmine/level/Level.php b/src/pocketmine/level/Level.php index 87eae40dd..e19538be8 100644 --- a/src/pocketmine/level/Level.php +++ b/src/pocketmine/level/Level.php @@ -1225,10 +1225,10 @@ class Level implements ChunkManager, Metadatable{ $ev->setCancelled(); } - if(!$player->isOp() and ($distance = $this->server->getConfigInt("spawn-protection", 16)) > -1){ + if(!$player->isOp() and ($distance = $this->server->getSpawnRadius()) > -1){ $t = new Vector2($target->x, $target->z); $s = new Vector2($this->getSpawnLocation()->x, $this->getSpawnLocation()->z); - if($t->distance($s) <= $distance){ //set it to cancelled so plugins can bypass this + if(count($this->server->getOps()->getAll()) > 0 and $t->distance($s) <= $distance){ //set it to cancelled so plugins can bypass this $ev->setCancelled(); } } @@ -1320,10 +1320,10 @@ class Level implements ChunkManager, Metadatable{ if($player instanceof Player){ $ev = new PlayerInteractEvent($player, $item, $target, $face); - if(!$player->isOp() and ($distance = $this->server->getConfigInt("spawn-protection", 16)) > -1){ + if(!$player->isOp() and ($distance = $this->server->getSpawnRadius()) > -1){ $t = new Vector2($target->x, $target->z); $s = new Vector2($this->getSpawnLocation()->x, $this->getSpawnLocation()->z); - if($t->distance($s) <= $distance){ //set it to cancelled so plugins can bypass this + if(count($this->server->getOps()->getAll()) > 0 and $t->distance($s) <= $distance){ //set it to cancelled so plugins can bypass this $ev->setCancelled(); } } @@ -1385,10 +1385,10 @@ class Level implements ChunkManager, Metadatable{ if($player instanceof Player){ $ev = new BlockPlaceEvent($player, $hand, $block, $target, $item); - if(!$player->isOp() and ($distance = $this->server->getConfigInt("spawn-protection", 16)) > -1){ + if(!$player->isOp() and ($distance = $this->server->getSpawnRadius()) > -1){ $t = new Vector2($target->x, $target->z); $s = new Vector2($this->getSpawnLocation()->x, $this->getSpawnLocation()->z); - if($t->distance($s) <= $distance){ //set it to cancelled so plugins can bypass this + if(count($this->server->getOps()->getAll()) > 0 and $t->distance($s) <= $distance){ //set it to cancelled so plugins can bypass this $ev->setCancelled(); } }