Implement BlockMeltEvent (#4666)

This commit is contained in:
Dries C
2021-12-27 17:36:59 +01:00
committed by GitHub
parent c858c0dc79
commit 95b6cb21f2
3 changed files with 43 additions and 2 deletions

View File

@ -26,6 +26,7 @@ namespace pocketmine\block;
use pocketmine\block\utils\BlockDataSerializer;
use pocketmine\block\utils\Fallable;
use pocketmine\block\utils\FallableTrait;
use pocketmine\event\block\BlockMeltEvent;
use pocketmine\item\Item;
use pocketmine\item\VanillaItems;
use pocketmine\math\AxisAlignedBB;
@ -100,7 +101,11 @@ class SnowLayer extends Flowable implements Fallable{
public function onRandomTick() : void{
if($this->position->getWorld()->getBlockLightAt($this->position->x, $this->position->y, $this->position->z) >= 12){
$this->position->getWorld()->setBlock($this->position, VanillaBlocks::AIR(), false);
$ev = new BlockMeltEvent($this, VanillaBlocks::AIR());
$ev->call();
if(!$ev->isCancelled()){
$this->position->getWorld()->setBlock($this->position, $ev->getNewState());
}
}
}