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

@ -23,6 +23,7 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\event\block\BlockMeltEvent;
use pocketmine\item\enchantment\VanillaEnchantments;
use pocketmine\item\Item;
use pocketmine\player\Player;
@ -51,7 +52,11 @@ class Ice extends Transparent{
public function onRandomTick() : void{
if($this->position->getWorld()->getHighestAdjacentBlockLight($this->position->x, $this->position->y, $this->position->z) >= 12){
$this->position->getWorld()->useBreakOn($this->position);
$ev = new BlockMeltEvent($this, VanillaBlocks::WATER());
$ev->call();
if(!$ev->isCancelled()){
$this->position->getWorld()->setBlock($this->position, $ev->getNewState());
}
}
}