Package net.minecraft.world.gen.foliage
Class BlobFoliagePlacer
java.lang.Object
net.minecraft.world.gen.foliage.FoliagePlacer
net.minecraft.world.gen.foliage.BlobFoliagePlacer
- Direct Known Subclasses:
BushFoliagePlacer
,LargeOakFoliagePlacer
public class BlobFoliagePlacer extends FoliagePlacer
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.world.gen.foliage.FoliagePlacer
FoliagePlacer.TreeNode
-
Field Summary
Fields Modifier and Type Field Description static com.mojang.serialization.Codec<BlobFoliagePlacer>
CODEC
protected int
height
Fields inherited from class net.minecraft.world.gen.foliage.FoliagePlacer
offset, radius, TYPE_CODEC
-
Constructor Summary
Constructors Constructor Description BlobFoliagePlacer(UniformIntDistribution radius, UniformIntDistribution offset, int height)
-
Method Summary
Modifier and Type Method Description protected static <P extends BlobFoliagePlacer>
com.mojang.datafixers.Products.P3<com.mojang.serialization.codecs.RecordCodecBuilder.Mu<P>,UniformIntDistribution,UniformIntDistribution,Integer>createCodec(com.mojang.serialization.codecs.RecordCodecBuilder.Instance<P> builder)
protected void
generate(ModifiableTestableWorld world, Random random, TreeFeatureConfig config, int trunkHeight, FoliagePlacer.TreeNode treeNode, int foliageHeight, int radius, Set<BlockPos> leaves, int offset, BlockBox box)
This is the main method used to generate foliage.int
getRandomHeight(Random random, int trunkHeight, TreeFeatureConfig config)
protected FoliagePlacerType<?>
getType()
protected boolean
isInvalidForLeaves(Random random, int baseHeight, int dx, int y, int dz, boolean giantTrunk)
Used to exclude certain positions such as corners when creating a square of leaves.Methods inherited from class net.minecraft.world.gen.foliage.FoliagePlacer
fillFoliagePlacerFields, generate, generateSquare, getRandomRadius, isPositionInvalid
-
Field Details
-
CODEC
-
height
protected final int height
-
-
Constructor Details
-
BlobFoliagePlacer
-
-
Method Details
-
createCodec
protected static <P extends BlobFoliagePlacer> com.mojang.datafixers.Products.P3<com.mojang.serialization.codecs.RecordCodecBuilder.Mu<P>,UniformIntDistribution,UniformIntDistribution,Integer> createCodec(com.mojang.serialization.codecs.RecordCodecBuilder.Instance<P> builder) -
getType
- Specified by:
getType
in classFoliagePlacer
-
generate
protected void generate(ModifiableTestableWorld world, Random random, TreeFeatureConfig config, int trunkHeight, FoliagePlacer.TreeNode treeNode, int foliageHeight, int radius, Set<BlockPos> leaves, int offset, BlockBox box)This is the main method used to generate foliage.- Specified by:
generate
in classFoliagePlacer
-
getRandomHeight
- Specified by:
getRandomHeight
in classFoliagePlacer
-
isInvalidForLeaves
protected boolean isInvalidForLeaves(Random random, int baseHeight, int dx, int y, int dz, boolean giantTrunk)Used to exclude certain positions such as corners when creating a square of leaves.- Specified by:
isInvalidForLeaves
in classFoliagePlacer
-