Merge branch 'left-click-spawn-prot'

This commit is contained in:
Dylan K. Taylor 2017-11-03 11:59:26 +00:00
commit 42ed03fd02
2 changed files with 8 additions and 1 deletions

View File

@ -2622,13 +2622,20 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
if($this->lastBreak !== PHP_INT_MAX or $pos->distanceSquared($this) > 10000){
break;
}
$target = $this->level->getBlock($pos);
$ev = new PlayerInteractEvent($this, $this->inventory->getItemInHand(), $target, null, $packet->face, $target->getId() === 0 ? PlayerInteractEvent::LEFT_CLICK_AIR : PlayerInteractEvent::LEFT_CLICK_BLOCK);
if($this->level->checkSpawnProtection($this, $target)){
$ev->setCancelled();
}
$this->getServer()->getPluginManager()->callEvent($ev);
if($ev->isCancelled()){
$this->inventory->sendHeldItem($this);
break;
}
$block = $target->getSide($packet->face);
if($block->getId() === Block::FIRE){
$this->level->setBlock($block, BlockFactory::get(Block::AIR));

View File

@ -1585,7 +1585,7 @@ class Level implements ChunkManager, Metadatable{
*
* @return bool true if spawn protection cancelled the action, false if not.
*/
protected function checkSpawnProtection(Player $player, Vector3 $vector) : bool{
public function checkSpawnProtection(Player $player, Vector3 $vector) : bool{
if(!$player->hasPermission("pocketmine.spawnprotect.bypass") and ($distance = $this->server->getSpawnRadius()) > -1){
$t = new Vector2($vector->x, $vector->z);
$s = new Vector2($this->getSpawnLocation()->x, $this->getSpawnLocation()->z);