Start using transactions for block placement

This commit is contained in:
Dylan K. Taylor
2019-06-08 18:56:27 +01:00
parent f84040a7ad
commit c1f900ab18
50 changed files with 172 additions and 129 deletions

View File

@ -28,6 +28,7 @@ use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Facing;
use pocketmine\math\Vector3;
use pocketmine\Player;
use pocketmine\world\BlockTransaction;
class WaterLily extends Flowable{
@ -39,11 +40,11 @@ class WaterLily extends Flowable{
return AxisAlignedBB::one()->contract(1 / 16, 0, 1 / 16)->trim(Facing::UP, 63 / 64);
}
public function place(Item $item, Block $blockReplace, Block $blockClicked, int $face, Vector3 $clickVector, ?Player $player = null) : bool{
public function place(BlockTransaction $tx, Item $item, Block $blockReplace, Block $blockClicked, int $face, Vector3 $clickVector, ?Player $player = null) : bool{
if($blockClicked instanceof Water){
$up = $blockClicked->getSide(Facing::UP);
if($up->canBeReplaced()){
return parent::place($item, $up, $blockClicked, $face, $clickVector, $player);
return parent::place($tx, $item, $up, $blockClicked, $face, $clickVector, $player);
}
}