Class CanyonWorldCarver
java.lang.Object
net.minecraft.world.level.levelgen.carver.WorldCarver<CanyonCarverConfiguration>
net.minecraft.world.level.levelgen.carver.CanyonWorldCarver
A carver responsible for creating ravines, or canyons.
-
Nested Class Summary
Nested classes/interfaces inherited from class WorldCarver
WorldCarver.CarveSkipChecker -
Field Summary
Fields inherited from class WorldCarver
AIR, CANYON, CAVE, CAVE_AIR, LAVA, liquids, NETHER_CAVE, WATER -
Constructor Summary
ConstructorsConstructorDescriptionCanyonWorldCarver(com.mojang.serialization.Codec<CanyonCarverConfiguration> configurationFactory) -
Method Summary
Modifier and TypeMethodDescriptionbooleancarve(CarvingContext context, CanyonCarverConfiguration configuration, ChunkAccess chunk, Function<BlockPos, Holder<Biome>> biomeGetter, RandomSource random, Aquifer aquifer, ChunkPos sourceChunkPos, CarvingMask mask) Carves the given chunk with caves that originate from the givenchunkPos.private voiddoCarve(CarvingContext context, CanyonCarverConfiguration configuration, ChunkAccess chunk, Function<BlockPos, Holder<Biome>> biomeGetter, long tunnelSeed, Aquifer aquifer, double x, double y, double z, float thickness, float horizontalRotation, float verticalRotation, int step, int distance, double yScale, CarvingMask mask) private float[]initWidthFactors(CarvingContext context, CanyonCarverConfiguration configuration, RandomSource random) Generates a random array full of width factors which are used to create the uneven walls of a ravine.booleanisStartChunk(CanyonCarverConfiguration configuration, RandomSource random) private booleanshouldSkip(CarvingContext context, float[] widthFactorPerHeight, double xd, double yd, double zd, int y) private doubleupdateVerticalRadius(CanyonCarverConfiguration configuration, RandomSource random, double verticalRadius, float distance, float currentStep) Methods inherited from class WorldCarver
canReach, canReplaceBlock, carveBlock, carveEllipsoid, configured, configuredCodec, getRange
-
Constructor Details
-
CanyonWorldCarver
public CanyonWorldCarver(com.mojang.serialization.Codec<CanyonCarverConfiguration> configurationFactory)
-
-
Method Details
-
isStartChunk
- Specified by:
isStartChunkin classWorldCarver<CanyonCarverConfiguration>
-
carve
public boolean carve(CarvingContext context, CanyonCarverConfiguration configuration, ChunkAccess chunk, Function<BlockPos, Holder<Biome>> biomeGetter, RandomSource random, Aquifer aquifer, ChunkPos sourceChunkPos, CarvingMask mask) Description copied from class:WorldCarverCarves the given chunk with caves that originate from the givenchunkPos. This method is invoked 289 times in order to generate each chunk (once for every position in an 8 chunk radius, or 17x17 chunk area, centered around the target chunk).- Specified by:
carvein classWorldCarver<CanyonCarverConfiguration>- Parameters:
chunk- The chunk to be carvedsourceChunkPos- The chunk position this carver is being called from- See Also:
-
doCarve
private void doCarve(CarvingContext context, CanyonCarverConfiguration configuration, ChunkAccess chunk, Function<BlockPos, Holder<Biome>> biomeGetter, long tunnelSeed, Aquifer aquifer, double x, double y, double z, float thickness, float horizontalRotation, float verticalRotation, int step, int distance, double yScale, CarvingMask mask) -
initWidthFactors
private float[] initWidthFactors(CarvingContext context, CanyonCarverConfiguration configuration, RandomSource random) Generates a random array full of width factors which are used to create the uneven walls of a ravine.- Returns:
- An array of length
context.getGenDepth(), populated with values between 1.0 and 2.0 inclusive.
-
updateVerticalRadius
private double updateVerticalRadius(CanyonCarverConfiguration configuration, RandomSource random, double verticalRadius, float distance, float currentStep) -
shouldSkip
private boolean shouldSkip(CarvingContext context, float[] widthFactorPerHeight, double xd, double yd, double zd, int y)
-