Hi , can you explain me why that's work PHP: public function onBreak(BlockBreakEvent $event) { $player = $event->getPlayer(); $block = $event->getBlock(); $level = $player->getLevel(); $x = $player->getX(); $y = $player->getY(); $z = $player->getZ(); $level->setBlock(new Vector3($x, $y, $z), Block::get(Block::LAVA)); } But that's don't work PHP: public function onBreak(BlockBreakEvent $event) { $player = $event->getPlayer(); $block = $event->getBlock(); $level = $block->getLevel(); $x = $block->getX(); $y = $block->getY(); $z = $block->getZ(); $level->setBlock(new Vector3($x, $y, $z), Block::get(Block::LAVA)); } I don't have any error but that's not make anything :/ Can you help me ? That's for replace a block.
Then it could been caused because the coordinates isn't in integer format. PHP: $x = (int)$player->getX();
You have to either use a delayed task or cancel the event, as the block will be replaced with air at the end of the event