net.minecraft.world.gen.feature

public record TreeFeature

implements Feature

net.minecraft.world.level.levelgen.feature.TreeFeature
net.minecraft.class_2944
net.minecraft.world.gen.feature.TreeFeature

Field summary

Modifier and TypeField
private final BlockStateProvider
trunkProvider
comp_1_967
trunkProvider
private final TrunkPlacer
trunkPlacer
comp_1_966
trunkPlacer
private final BlockStateProvider
foliageProvider
comp_1_962
foliageProvider
private final FoliagePlacer
foliagePlacer
comp_1_961
foliagePlacer
private final Optional<RootPlacer>
rootPlacer
comp_1_965
rootPlacer
private final FeatureSize
minimumSize
comp_1_964
minimumSize
private final List<TreeDecorator>
decorators
comp_1_960
decorators
private final boolean
ignoreVines
comp_1_963
ignoreVines
private final BlockStateProvider
belowTrunkProvider
comp_1_959
belowTrunkProvider
public static final BlockPredicate
CAN_PLACE_BELOW_TREE_TRUNKS
field_1_7611
CAN_REPLACE_BELOW_TREE_TRUNK
public static final com.mojang.serialization.MapCodec<TreeFeature>
CODEC
field_1_7612
CODEC
private static final int
BLOCK_UPDATE_FLAGS
field_31519
FORCE_STATE_AND_NOTIFY_ALL

Constructor summary

ModifierConstructor
public (BlockStateProvider trunkProvider, TrunkPlacer trunkPlacer, BlockStateProvider foliageProvider, FoliagePlacer foliagePlacer, Optional<RootPlacer> rootPlacer, FeatureSize minimumSize, List<TreeDecorator> decorators, boolean ignoreVines, BlockStateProvider belowTrunkProvider)

Method summary

Modifier and TypeMethod
public com.mojang.serialization.MapCodec<TreeFeature>
codec()
method_1_6879()
getCodec()
public static BlockStateProvider
defaultPlaceBelowTreeTrunkProvider(HolderGetter<Biome> biomes)
method_1_7034(class_7871<class_1959> arg0)
replaceWithDirt(RegistryEntryLookup<Biome> biome)
public static boolean
isVine(LevelSimulatedReader level, BlockPos pos)
method_16416(class_3746 arg0, class_2338 arg1)
isVine(TestableWorld world, BlockPos pos)
public static boolean
isAirOrLeaves(LevelSimulatedReader level, BlockPos pos)
method_16420(class_3746 arg0, class_2338 arg1)
isAirOrLeaves(TestableWorld world, BlockPos pos)
private static void
setBlockKnownShape(LevelWriter level, BlockPos pos, BlockState blockState)
method_12774(class_1945 arg0, class_2338 arg1, class_2680 arg2)
setBlockStateWithoutUpdatingNeighbors(ModifiableWorld world, BlockPos pos, BlockState state)
public static boolean
validTreePos(LevelSimulatedReader level, BlockPos pos)
method_27371(class_3746 arg0, class_2338 arg1)
canReplace(TestableWorld world, BlockPos pos)
private boolean
doPlace(WorldGenLevel level, RandomSource random, BlockPos origin, BiConsumer<BlockPos, BlockState> rootSetter, BiConsumer<BlockPos, BlockState> trunkSetter, FoliagePlacer$FoliageSetter foliageSetter)
method_12775(class_5281 arg0, class_5819 arg1, class_2338 arg2, BiConsumer<class_2338, class_2680> arg3, BiConsumer<class_2338, class_2680> arg4, class_4647$class_8179 arg5)
generate(StructureWorldAccess world, Random random, BlockPos pos, BiConsumer<BlockPos, BlockState> rootPlacerReplacer, BiConsumer<BlockPos, BlockState> trunkPlacerReplacer, FoliagePlacer$BlockPlacer blockPlacer)
private int
getMaxFreeTreeHeight(WorldGenLevel level, int maxTreeHeight, BlockPos treePos)
method_29963(class_5281 arg0, int arg1, class_2338 arg2)
getTopPosition(StructureWorldAccess world, int height, BlockPos pos)
public void
setBlock(LevelWriter level, BlockPos pos, BlockState blockState)
method_13153(class_1945 arg0, class_2338 arg1, class_2680 arg2)
setBlockState(ModifiableWorld arg0, BlockPos arg1, BlockState arg2)
public boolean
place(WorldGenLevel level, ChunkGenerator chunkGenerator, RandomSource random, BlockPos origin)
method_13151(class_5281 arg0, class_2794 arg1, class_5819 arg2, class_2338 arg3)
generate(StructureWorldAccess arg0, ChunkGenerator arg1, Random arg2, BlockPos arg3)
private static VoxelSet
updateLeaves(LevelAccessor level, BoundingBox bounds, Set<BlockPos> logs, Set<BlockPos> decorationSet, Set<BlockPos> rootPositions)
method_23380(class_1936 arg0, class_3341 arg1, Set<class_2338> arg2, Set<class_2338> arg3, Set<class_2338> arg4)
placeLogsAndLeaves(WorldAccess world, BlockBox box, Set<BlockPos> trunkPositions, Set<BlockPos> decorationPositions, Set<BlockPos> rootPositions)
public static List<BlockPos>
getLowestTrunkOrRootOfTree(TreeDecorator$Context context)
method_66482(class_4662$class_7402 arg0)
getLeafLitterPositions(TreeDecorator$Generator decoratorGenerator)
public BlockStateProvider
trunkProvider()
comp_1_967()
trunkProvider()
public TrunkPlacer
trunkPlacer()
comp_1_966()
trunkPlacer()
public BlockStateProvider
foliageProvider()
comp_1_962()
foliageProvider()
public FoliagePlacer
foliagePlacer()
comp_1_961()
foliagePlacer()
public Optional<RootPlacer>
rootPlacer()
comp_1_965()
rootPlacer()
public FeatureSize
minimumSize()
comp_1_964()
minimumSize()
public List<TreeDecorator>
decorators()
comp_1_960()
decorators()
public boolean
ignoreVines()
comp_1_963()
ignoreVines()
public BlockStateProvider
belowTrunkProvider()
comp_1_959()
belowTrunkProvider()
private static Boolean
lambda$place$4(WorldGenLevel arg0, Set arg1, Set arg2, Set arg3, BoundingBox arg4)
method_35363(class_5281 arg0, Set arg1, Set arg2, Set arg3, class_3341 arg4)
method_35363(StructureWorldAccess arg0, Set arg1, Set arg2, Set arg3, BlockBox box)
private static void
lambda$place$3(TreeDecorator$Context arg0, TreeDecorator arg1)
method_23381(class_4662$class_7402 arg0, class_4662 arg1)
method_23381(TreeDecorator$Generator arg0, TreeDecorator decorator)
private static void
lambda$place$2(Set arg0, WorldGenLevel arg1, BlockPos arg2, BlockState arg3)
method_49238(Set arg0, class_5281 arg1, class_2338 arg2, class_2680 arg3)
method_49238(Set arg0, StructureWorldAccess arg1, BlockPos pos, BlockState state)
private static void
lambda$place$1(Set arg0, WorldGenLevel arg1, BlockPos arg2, BlockState arg3)
method_43162(Set arg0, class_5281 arg1, class_2338 arg2, class_2680 arg3)
method_43162(Set arg0, StructureWorldAccess arg1, BlockPos pos, BlockState state)
private static void
lambda$place$0(Set arg0, WorldGenLevel arg1, BlockPos arg2, BlockState arg3)
method_35364(Set arg0, class_5281 arg1, class_2338 arg2, class_2680 arg3)
method_35364(Set arg0, StructureWorldAccess arg1, BlockPos pos, BlockState state)
private void
lambda$doPlace$1(WorldGenLevel arg0, FoliagePlacer$FoliageSetter arg1, RandomSource arg2, int arg3, int arg4, int arg5, FoliagePlacer$FoliageAttachment arg6)
method_27372(class_5281 arg0, class_4647$class_8179 arg1, class_5819 arg2, int arg3, int arg4, int arg5, class_4647$class_5208 arg6)
method_27372(StructureWorldAccess arg0, FoliagePlacer$BlockPlacer arg1, Random arg2, int arg3, int arg4, int arg5, FoliagePlacer$TreeNode node)
private static BlockPos
lambda$doPlace$0(BlockPos arg0, RandomSource arg1, RootPlacer arg2)
method_43293(class_2338 arg0, class_5819 arg1, class_7387 arg2)
method_43293(BlockPos arg0, Random arg1, RootPlacer rootPlacer)
private static boolean
lambda$validTreePos$0(BlockState arg0)
method_51179(class_2680 arg0)
method_51179(BlockState state)
private static boolean
lambda$isAirOrLeaves$0(BlockState arg0)
method_16417(class_2680 arg0)
method_16417(BlockState state)
private static boolean
lambda$isVine$0(BlockState arg0)
method_23384(class_2680 arg0)
method_23384(BlockState state)
private static com.mojang.datafixers.kinds.App
lambda$static$0(com.mojang.serialization.codecs.RecordCodecBuilder$Instance arg0)
method_1_7035(com.mojang.serialization.codecs.RecordCodecBuilder$Instance arg0)
method_1_7035(com.mojang.serialization.codecs.RecordCodecBuilder$Instance instance)