Class TreeFeature
java.lang.Object
net.minecraft.world.level.levelgen.feature.Feature<TreeConfiguration>
net.minecraft.world.level.levelgen.feature.TreeFeature
-
Field Summary
FieldsFields inherited from class net.minecraft.world.level.levelgen.feature.Feature
BAMBOO, BASALT_COLUMNS, BASALT_PILLAR, 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, FILL_LAYER, FLOWER, FOREST_ROCK, FOSSIL, FREEZE_TOP_LAYER, GEODE, GLOWSTONE_BLOB, HUGE_BROWN_MUSHROOM, HUGE_FUNGUS, HUGE_RED_MUSHROOM, ICE_SPIKE, ICEBERG, KELP, LAKE, LARGE_DRIPSTONE, MONSTER_ROOM, MULTIFACE_GROWTH, NETHER_FOREST_VEGETATION, NO_BONEMEAL_FLOWER, NO_OP, ORE, POINTED_DRIPSTONE, RANDOM_BOOLEAN_SELECTOR, RANDOM_PATCH, RANDOM_SELECTOR, REPLACE_BLOBS, REPLACE_SINGLE_BLOCK, ROOT_SYSTEM, SCATTERED_ORE, SCULK_PATCH, SEA_PICKLE, SEAGRASS, SIMPLE_BLOCK, SIMPLE_RANDOM_SELECTOR, 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 boolean
doPlace
(WorldGenLevel level, RandomSource random, BlockPos pos, BiConsumer<BlockPos, BlockState> rootBlockSetter, BiConsumer<BlockPos, BlockState> trunkBlockSetter, FoliagePlacer.FoliageSetter foliageBlockSetter, TreeConfiguration config) private int
getMaxFreeTreeHeight
(LevelSimulatedReader level, int trunkHeight, BlockPos topPosition, TreeConfiguration config) static boolean
isAirOrLeaves
(LevelSimulatedReader level, BlockPos pos) private static boolean
isVine
(LevelSimulatedReader level, BlockPos pos) final boolean
place
(FeaturePlaceContext<TreeConfiguration> context) Places the given feature at the given location.protected void
setBlock
(LevelWriter level, BlockPos pos, BlockState state) private static void
setBlockKnownShape
(LevelWriter level, BlockPos pos, BlockState state) private static DiscreteVoxelShape
updateLeaves
(LevelAccessor level, BoundingBox box, Set<BlockPos> rootPositions, Set<BlockPos> trunkPositions, Set<BlockPos> foliagePositions) static boolean
validTreePos
(LevelSimulatedReader level, BlockPos pos) Methods inherited from class net.minecraft.world.level.levelgen.feature.Feature
checkNeighbors, configuredCodec, isAdjacentToAir, isDirt, isGrassOrDirt, isReplaceable, isStone, markAboveForPostProcessing, place, safeSetBlock
-
Field Details
-
BLOCK_UPDATE_FLAGS
private static final int BLOCK_UPDATE_FLAGS- See Also:
-
-
Constructor Details
-
TreeFeature
-
-
Method Details
-
isVine
-
isAirOrLeaves
-
setBlockKnownShape
-
validTreePos
-
doPlace
private boolean doPlace(WorldGenLevel level, RandomSource random, BlockPos pos, BiConsumer<BlockPos, BlockState> rootBlockSetter, BiConsumer<BlockPos, BlockState> trunkBlockSetter, FoliagePlacer.FoliageSetter foliageBlockSetter, TreeConfiguration config) -
getMaxFreeTreeHeight
private int getMaxFreeTreeHeight(LevelSimulatedReader level, int trunkHeight, BlockPos topPosition, TreeConfiguration config) -
setBlock
- Overrides:
setBlock
in classFeature<TreeConfiguration>
-
place
Places the given feature at the given location. During world generation, features are provided with a 3x3 region of chunks, centered on the chunk being generated, that they can safely generate into.- Specified by:
place
in classFeature<TreeConfiguration>
- Parameters:
context
- A context object with a reference to the level and the position the feature is being placed at
-
updateLeaves
private static DiscreteVoxelShape updateLeaves(LevelAccessor level, BoundingBox box, Set<BlockPos> rootPositions, Set<BlockPos> trunkPositions, Set<BlockPos> foliagePositions)
-