public function handleChunkLoad(ChunkLoadEvent $event) : void{
$chunk = $event->getChunk();
$level = $chunk->getLevel();
if($level->getName() !== 'lobby'){
return;
}
// сюда ты должен ввести координаты чанка, которые не должны быть "уничтожены"
$excludedChunks = [
"0,0",
"0,1",
"1,1",
"1,0"
];
if(in_array($chunk->getX() . "," . $chunk->getZ(), $excludedChunks)){
return;
}
// заменяем блоки в загруженном чанке
$highest = $chunk->getHighestBlockAt($x, $z);
for($x = 0; $x <= 15; ++$x){
for($z = 0; $z <= 15; ++$z){
for ($y = 0; $y <= $highest; ++$y) {
$chunk->setBlockIdAt($x, $y, $z, BlockIds::AIR);
$chunk->setBlockDataAt($x, $y, $z, 0);
}
}
}
}
накидал псевдокода