CarverSystem 5.46.0
Vanilla's carver stage (ChunkGenerator.applyCarvers()), after the material rules: every chunk within 8 chunks of the target may start tunnels (caves, canyons) according to the carvers of its biome; each carver of the list gets its own java.util.Random seeded with the large feature seed (world seed + carver index, chunk position) and starts when its first float is within the carver's probability.
Constants
RADIUS
public const RADIUS = 8Start chunks considered around the target: the carvers' range * 2 (applyCarvers uses 8).
Methods
apply()
public function apply(\pocketmine\world\generator\vanilla\TerrainChunk $terrain) : voidCarves the chunk (whose material rules must have just been applied by the MaterialSystem given to create()). The carved blocks are stored in TerrainChunk::$carvingMask.
create()
public static function create(\pocketmine\world\generator\vanilla\WorldgenData $data, \pocketmine\world\generator\vanilla\NoiseRouter $router, \pocketmine\world\generator\vanilla\biome\ClimateBiomeTree $tree, int $seed, \pocketmine\world\generator\vanilla\surface\MaterialSystem $materials, ?\pocketmine\world\generator\vanilla\compiler\CompiledKernel $kernel) : ?selfReturns null when the data has no carver definitions (cache made before 26.3 / without worldgen/carver) or no biome has carvers (the End).
setLargeFeatureSeed()
public static function setLargeFeatureSeed(\pocketmine\world\generator\vanilla\random\LegacyRandom $random, int $seed, int $chunkX, int $chunkZ) : voidWorldgenRandom.setLargeFeatureSeed()
startCarvers()
public function startCarvers(int $chunkX, int $chunkZ) : arrayCarvers that chunk ($chunkX, $chunkZ) may start, in the order of its biome's carver list.
