net.minecraft.world.gen.feature

public record TreeFeature

implements Feature

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

Field summary

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

Constructor summary

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

Method summary

Modifier and TypeMethod
public com.mojang.serialization.MapCodec<TreeFeature>
codec()
codec()
method_1_6879()
getCodec()
public static boolean
isVine(LevelSimulatedReader level, BlockPos pos)
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)
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)
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)
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)
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)
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)
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)
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)
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)
getLowestTrunkOrRootOfTree(TreeDecorator$Context context)
method_66482(class_4662$class_7402 arg0)
getLeafLitterPositions(TreeDecorator$Generator decoratorGenerator)
public RegistryEntry<BlockStateProvider>
trunkProvider()
trunkProvider()
comp_1_967()
trunkProvider()
public TrunkPlacer
trunkPlacer()
trunkPlacer()
comp_1_966()
trunkPlacer()
public RegistryEntry<BlockStateProvider>
foliageProvider()
foliageProvider()
comp_1_962()
foliageProvider()
public FoliagePlacer
foliagePlacer()
foliagePlacer()
comp_1_961()
foliagePlacer()
public Optional<RootPlacer>
rootPlacer()
rootPlacer()
comp_1_965()
rootPlacer()
public FeatureSize
minimumSize()
minimumSize()
comp_1_964()
minimumSize()
public List<TreeDecorator>
decorators()
decorators()
comp_1_960()
decorators()
public boolean
ignoreVines()
ignoreVines()
comp_1_963()
ignoreVines()
public RegistryEntry<BlockStateProvider>
belowTrunkProvider()
belowTrunkProvider()
comp_1_959()
belowTrunkProvider()