Add block-break check for spectator mode, fixes players in spectator able to break blocks when adventure settings are not set correctly

This commit is contained in:
Dylan K. Taylor 2017-02-23 19:39:04 +00:00
parent ad88ca09bd
commit 5eab956da6

View File

@ -1499,7 +1499,7 @@ class Level implements ChunkManager, Metadatable{
if($player !== null){
$ev = new BlockBreakEvent($player, $target, $item, ($player->isCreative() or $player->allowInstaBreak()));
if($player->isSurvival() and $item instanceof Item and !$target->isBreakable($item)){
if(($player->isSurvival() and $item instanceof Item and !$target->isBreakable($item)) or $player->isSpectator()){
$ev->setCancelled();
}elseif(!$player->isOp() and ($distance = $this->server->getSpawnRadius()) > -1){
$t = new Vector2($target->x, $target->z);