diff --git a/src/pocketmine/level/Level.php b/src/pocketmine/level/Level.php index 1d082a569..fd27c7c25 100644 --- a/src/pocketmine/level/Level.php +++ b/src/pocketmine/level/Level.php @@ -1874,24 +1874,6 @@ class Level implements ChunkManager, Metadatable{ $ev->setCancelled(); //set it to cancelled so plugins can bypass this } - if($player->isAdventure(true) and !$ev->isCancelled()){ - $canPlace = false; - $tag = $item->getNamedTagEntry("CanPlaceOn"); - if($tag instanceof ListTag){ - foreach($tag as $v){ - if($v instanceof StringTag){ - $entry = ItemFactory::fromString($v->getValue()); - if($entry->getId() > 0 and $entry->getBlock() !== null and $entry->getBlock()->getId() === $blockClicked->getId()){ - $canPlace = true; - break; - } - } - } - } - - $ev->setCancelled(!$canPlace); - } - $this->server->getPluginManager()->callEvent($ev); if(!$ev->isCancelled()){ $blockClicked->onUpdate(self::BLOCK_UPDATE_TOUCH); @@ -1952,6 +1934,24 @@ class Level implements ChunkManager, Metadatable{ $ev->setCancelled(); } + if($player->isAdventure(true) and !$ev->isCancelled()){ + $canPlace = false; + $tag = $item->getNamedTagEntry("CanPlaceOn"); + if($tag instanceof ListTag){ + foreach($tag as $v){ + if($v instanceof StringTag){ + $entry = ItemFactory::fromString($v->getValue()); + if($entry->getId() > 0 and $entry->getBlock() !== null and $entry->getBlock()->getId() === $blockClicked->getId()){ + $canPlace = true; + break; + } + } + } + } + + $ev->setCancelled(!$canPlace); + } + $this->server->getPluginManager()->callEvent($ev); if($ev->isCancelled()){ return false;