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 pLevel, RandomSource pRandom, BlockPos pPos, BiConsumer<BlockPos, BlockState> pRootBlockSetter, BiConsumer<BlockPos, BlockState> pTrunkBlockSetter, FoliagePlacer.FoliageSetter pFoliageBlockSetter, TreeConfiguration pConfig) private int
getMaxFreeTreeHeight
(LevelSimulatedReader pLevel, int pTrunkHeight, BlockPos pTopPosition, TreeConfiguration pConfig) static boolean
isAirOrLeaves
(LevelSimulatedReader pLevel, BlockPos pPos) private static boolean
isVine
(LevelSimulatedReader pLevel, BlockPos pPos) final boolean
place
(FeaturePlaceContext<TreeConfiguration> pContext) Places the given feature at the given location.protected void
setBlock
(LevelWriter pLevel, BlockPos pPos, BlockState pState) private static void
setBlockKnownShape
(LevelWriter pLevel, BlockPos pPos, BlockState pState) private static DiscreteVoxelShape
updateLeaves
(LevelAccessor pLevel, BoundingBox pBox, Set<BlockPos> pRootPositions, Set<BlockPos> pTrunkPositions, Set<BlockPos> pFoliagePositions) static boolean
validTreePos
(LevelSimulatedReader pLevel, BlockPos pPos) 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 pLevel, RandomSource pRandom, BlockPos pPos, BiConsumer<BlockPos, BlockState> pRootBlockSetter, BiConsumer<BlockPos, BlockState> pTrunkBlockSetter, FoliagePlacer.FoliageSetter pFoliageBlockSetter, TreeConfiguration pConfig) -
getMaxFreeTreeHeight
private int getMaxFreeTreeHeight(LevelSimulatedReader pLevel, int pTrunkHeight, BlockPos pTopPosition, TreeConfiguration pConfig) -
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:
pContext
- A context object with a reference to the level and the position the feature is being placed at
-
updateLeaves
private static DiscreteVoxelShape updateLeaves(LevelAccessor pLevel, BoundingBox pBox, Set<BlockPos> pRootPositions, Set<BlockPos> pTrunkPositions, Set<BlockPos> pFoliagePositions)
-