added creative mode check for block picking

This commit is contained in:
Dylan K. Taylor 2017-05-23 16:26:29 +01:00
parent 674394c4f5
commit 23ed3334c2

View File

@ -2416,18 +2416,21 @@ class Player extends Human implements CommandSender, InventoryHolder, ChunkLoade
} }
public function handleBlockPickRequest(BlockPickRequestPacket $packet) : bool{ public function handleBlockPickRequest(BlockPickRequestPacket $packet) : bool{
$tile = $this->getLevel()->getTile($this->temporalVector->setComponents($packet->tileX, $packet->tileY, $packet->tileZ)); if($this->isCreative()){
if($tile instanceof Tile){ //TODO: check if the held item matches the target tile $tile = $this->getLevel()->getTile($this->temporalVector->setComponents($packet->tileX, $packet->tileY, $packet->tileZ));
$nbt = $tile->getCleanedNBT(); if($tile instanceof Tile){ //TODO: check if the held item matches the target tile
if($nbt instanceof CompoundTag){ $nbt = $tile->getCleanedNBT();
$item = $this->inventory->getItemInHand(); if($nbt instanceof CompoundTag){
$item->setCustomBlockData($nbt); $item = $this->inventory->getItemInHand();
$item->setLore(["+(DATA)"]); $item->setCustomBlockData($nbt);
$this->inventory->setItemInHand($item); $item->setLore(["+(DATA)"]);
} $this->inventory->setItemInHand($item);
}
return true; return true;
}
} }
return false; return false;
} }