Class IcebergFeature
java.lang.Object
net.minecraft.world.level.levelgen.feature.Feature<BlockStateConfiguration>
net.minecraft.world.level.levelgen.feature.IcebergFeature
-
Field Summary
Fields inherited from class Feature
BAMBOO, BASALT_COLUMNS, BASALT_PILLAR, BLOCK_BLOB, BLOCK_COLUMN, BLOCK_PILE, BLUE_ICE, BONUS_CHEST, CHORUS_PLANT, CORAL_CLAW, CORAL_MUSHROOM, CORAL_TREE, DELTA_FEATURE, DESERT_WELL, DISK, DRIPSTONE_CLUSTER, END_GATEWAY, END_ISLAND, END_PLATFORM, END_SPIKE, FALLEN_TREE, FILL_LAYER, FOSSIL, FREEZE_TOP_LAYER, GEODE, GLOWSTONE_BLOB, HUGE_BROWN_MUSHROOM, HUGE_FUNGUS, HUGE_RED_MUSHROOM, ICEBERG, KELP, LAKE, LARGE_DRIPSTONE, MONSTER_ROOM, MULTIFACE_GROWTH, NETHER_FOREST_VEGETATION, NO_OP, ORE, POINTED_DRIPSTONE, RANDOM_BOOLEAN_SELECTOR, RANDOM_SELECTOR, REPLACE_BLOBS, REPLACE_SINGLE_BLOCK, ROOT_SYSTEM, SCATTERED_ORE, SCULK_PATCH, SEA_PICKLE, SEAGRASS, SIMPLE_BLOCK, SIMPLE_RANDOM_SELECTOR, SPIKE, SPRING, TREE, TWISTING_VINES, UNDERWATER_MAGMA, VEGETATION_PATCH, VINES, VOID_START_PLATFORM, WATERLOGGED_VEGETATION_PATCH, WEEPING_VINES -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate booleanbelowIsAir(BlockGetter level, BlockPos pos) private voidcarve(int radius, int yOff, BlockPos globalOrigin, LevelAccessor level, boolean underWater, double angle, BlockPos localOrigin, int shapeEllipseA, int shapeEllipseC) private voidgenerateCutOut(RandomSource random, LevelAccessor level, int width, int height, BlockPos globalOrigin, boolean isEllipse, int shapeEllipseA, double shapeAngle, int shapeEllipseC) private voidgenerateIcebergBlock(LevelAccessor level, RandomSource random, BlockPos origin, int height, int xo, int yOff, int zo, int radius, int a, boolean isEllipse, int shapeEllipseC, double shapeAngle, boolean snowOnTop, BlockState mainBlockState) private intgetEllipseC(int yOff, int height, int shapeEllipseC) private intheightDependentRadiusEllipse(int yOff, int height, int width) private intheightDependentRadiusRound(RandomSource random, int yOff, int height, int width) private intheightDependentRadiusSteep(RandomSource random, int yOff, int height, int width) private static booleanisIcebergState(BlockState state) booleanplace(FeaturePlaceContext<BlockStateConfiguration> context) private voidremoveFloatingSnowLayer(LevelAccessor level, BlockPos pos) private voidsetIcebergBlock(BlockPos pos, LevelAccessor level, RandomSource random, int hDiff, int height, boolean isEllipse, boolean snowOnTop, BlockState mainBlockState) private doublesignedDistanceCircle(int xo, int zo, BlockPos origin, int radius, RandomSource random) private doublesignedDistanceEllipse(int xo, int zo, BlockPos origin, int a, int c, double angle) private voidsmooth(LevelAccessor level, BlockPos origin, int width, int height, boolean isEllipse, int shapeEllipseA) Methods inherited from class Feature
checkNeighbors, configuredCodec, isAdjacentToAir, isReplaceable, markAboveForPostProcessing, place, safeSetBlock, setBlock
-
Constructor Details
-
IcebergFeature
-
-
Method Details
-
place
- Specified by:
placein classFeature<BlockStateConfiguration>
-
generateCutOut
private void generateCutOut(RandomSource random, LevelAccessor level, int width, int height, BlockPos globalOrigin, boolean isEllipse, int shapeEllipseA, double shapeAngle, int shapeEllipseC) -
carve
private void carve(int radius, int yOff, BlockPos globalOrigin, LevelAccessor level, boolean underWater, double angle, BlockPos localOrigin, int shapeEllipseA, int shapeEllipseC) -
removeFloatingSnowLayer
-
generateIcebergBlock
private void generateIcebergBlock(LevelAccessor level, RandomSource random, BlockPos origin, int height, int xo, int yOff, int zo, int radius, int a, boolean isEllipse, int shapeEllipseC, double shapeAngle, boolean snowOnTop, BlockState mainBlockState) -
setIcebergBlock
private void setIcebergBlock(BlockPos pos, LevelAccessor level, RandomSource random, int hDiff, int height, boolean isEllipse, boolean snowOnTop, BlockState mainBlockState) -
getEllipseC
private int getEllipseC(int yOff, int height, int shapeEllipseC) -
signedDistanceCircle
private double signedDistanceCircle(int xo, int zo, BlockPos origin, int radius, RandomSource random) -
signedDistanceEllipse
-
heightDependentRadiusRound
-
heightDependentRadiusEllipse
private int heightDependentRadiusEllipse(int yOff, int height, int width) -
heightDependentRadiusSteep
-
isIcebergState
-
belowIsAir
-
smooth
private void smooth(LevelAccessor level, BlockPos origin, int width, int height, boolean isEllipse, int shapeEllipseA)
-