Class TreeGrower
java.lang.Object
net.minecraft.world.level.block.grower.TreeGrower
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final TreeGrowerstatic final TreeGrowerstatic final TreeGrowerstatic final TreeGrowerstatic final com.mojang.serialization.Codec<TreeGrower> static final TreeGrowerprivate final WeightedList<ResourceKey<Feature>> private static final Map<String, TreeGrower> static final TreeGrowerstatic final TreeGrowerprivate final WeightedList<ResourceKey<Feature>> private final Stringstatic final TreeGrowerstatic final TreeGrowerstatic final TreeGrowerprivate final @Nullable ResourceKey<Feature> static final TreeGrowerprivate final WeightedList<ResourceKey<Feature>> -
Constructor Summary
ConstructorsConstructorDescriptionTreeGrower(String name, WeightedList<ResourceKey<Feature>> trees, WeightedList<ResourceKey<Feature>> megaTrees, WeightedList<ResourceKey<Feature>> flowerTrees, @Nullable ResourceKey<Feature> shortestTreeType) -
Method Summary
Modifier and TypeMethodDescriptionbooleancanGrow(ServerLevel level, BlockPos pos, BlockState state) private static Optional<TreeGrower.TwoByTwoSaplingPos> findTwoByTwoSaplingPos(ServerLevel level, BlockState state, BlockPos pos) private @Nullable ResourceKey<Feature> getConfiguredFeature(RandomSource random, boolean hasFlowers) private @Nullable ResourceKey<Feature> getConfiguredMegaFeature(RandomSource random) getMinimumHeight(ServerLevel level) private static List<com.mojang.datafixers.util.Pair<BlockState, BlockPos>> getSurroundingBlockStates(ServerLevel level, BlockPos pos, int dx, int dz) booleangrowTree(ServerLevel level, ChunkGenerator generator, BlockPos pos, BlockState state, RandomSource random) private booleanhasFlowers(LevelAccessor level, BlockPos pos) private static booleanisTwoByTwoSapling(BlockState state, List<com.mojang.datafixers.util.Pair<BlockState, BlockPos>> surroundingBlocks) private static voidremoveSapling(ServerLevel level, BlockPos saplingPosition) private static voidremoveSaplings(ServerLevel level, List<com.mojang.datafixers.util.Pair<BlockState, BlockPos>> saplingBlocks) private static voidresetSaplings(ServerLevel level, List<com.mojang.datafixers.util.Pair<BlockState, BlockPos>> saplingBlocks)
-
Field Details
-
GROWERS
-
CODEC
-
OAK
-
SPRUCE
-
MANGROVE
-
AZALEA
-
BIRCH
-
JUNGLE
-
ACACIA
-
CHERRY
-
DARK_OAK
-
PALE_OAK
-
POPLAR
-
name
-
trees
-
megaTrees
-
flowerTrees
-
shortestTreeType
-
-
Constructor Details
-
TreeGrower
public TreeGrower(String name, WeightedList<ResourceKey<Feature>> trees, WeightedList<ResourceKey<Feature>> megaTrees, WeightedList<ResourceKey<Feature>> flowerTrees, @Nullable ResourceKey<Feature> shortestTreeType)
-
-
Method Details
-
getConfiguredFeature
private @Nullable ResourceKey<Feature> getConfiguredFeature(RandomSource random, boolean hasFlowers) -
getConfiguredMegaFeature
-
growTree
public boolean growTree(ServerLevel level, ChunkGenerator generator, BlockPos pos, BlockState state, RandomSource random) -
getSurroundingBlockStates
private static List<com.mojang.datafixers.util.Pair<BlockState, BlockPos>> getSurroundingBlockStates(ServerLevel level, BlockPos pos, int dx, int dz) -
removeSaplings
private static void removeSaplings(ServerLevel level, List<com.mojang.datafixers.util.Pair<BlockState, BlockPos>> saplingBlocks) -
removeSapling
-
resetSaplings
private static void resetSaplings(ServerLevel level, List<com.mojang.datafixers.util.Pair<BlockState, BlockPos>> saplingBlocks) -
isTwoByTwoSapling
private static boolean isTwoByTwoSapling(BlockState state, List<com.mojang.datafixers.util.Pair<BlockState, BlockPos>> surroundingBlocks) -
hasFlowers
-
getMinimumHeight
-
canGrow
-
findTwoByTwoSaplingPos
private static Optional<TreeGrower.TwoByTwoSaplingPos> findTwoByTwoSaplingPos(ServerLevel level, BlockState state, BlockPos pos)
-