Package net.minecraft.world.gen.foliage
Class FoliagePlacer
java.lang.Object
net.minecraft.world.gen.foliage.FoliagePlacer
- Direct Known Subclasses:
- AcaciaFoliagePlacer,- BlobFoliagePlacer,- CherryFoliagePlacer,- DarkOakFoliagePlacer,- JungleFoliagePlacer,- MegaPineFoliagePlacer,- PineFoliagePlacer,- RandomSpreadFoliagePlacer,- SpruceFoliagePlacer
- Mappings:
- Namespace - Name - named - net/minecraft/world/gen/foliage/FoliagePlacer- intermediary - net/minecraft/class_4647- official - ejp
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic interfacestatic final classA point on a tree to generate foliage around
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected final IntProviderprotected final IntProviderstatic final com.mojang.serialization.Codec<FoliagePlacer> 
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected static <P extends FoliagePlacer>
 com.mojang.datafixers.Products.P2<com.mojang.serialization.codecs.RecordCodecBuilder.Mu<P>, IntProvider, IntProvider> fillFoliagePlacerFields(com.mojang.serialization.codecs.RecordCodecBuilder.Instance<P> instance) voidgenerate(TestableWorld world, FoliagePlacer.BlockPlacer placer, Random random, TreeFeatureConfig config, int trunkHeight, FoliagePlacer.TreeNode treeNode, int foliageHeight, int radius) protected abstract voidgenerate(TestableWorld world, FoliagePlacer.BlockPlacer placer, Random random, TreeFeatureConfig config, int trunkHeight, FoliagePlacer.TreeNode treeNode, int foliageHeight, int radius, int offset) This is the main method used to generate foliage.protected voidgenerateSquare(TestableWorld world, FoliagePlacer.BlockPlacer placer, Random random, TreeFeatureConfig config, BlockPos centerPos, int radius, int y, boolean giantTrunk) Generates a square of leaves with the given radius.protected final voidgenerateSquareWithHangingLeaves(TestableWorld world, FoliagePlacer.BlockPlacer placer, Random random, TreeFeatureConfig config, BlockPos centerPos, int radius, int y, boolean giantTrunk, float hangingLeavesChance, float hangingLeavesExtensionChance) abstract intgetRandomHeight(Random random, int trunkHeight, TreeFeatureConfig config) private intgetRandomOffset(Random random) intgetRandomRadius(Random random, int baseHeight) protected abstract FoliagePlacerType<?> getType()protected abstract booleanisInvalidForLeaves(Random random, int dx, int y, int dz, int radius, boolean giantTrunk) Used to exclude certain positions such as corners when creating a square of leaves.protected booleanisPositionInvalid(Random random, int dx, int y, int dz, int radius, boolean giantTrunk) Normalizes x and z coords before checking if they are invalid.private static booleanplaceFoliageBlock(TestableWorld world, FoliagePlacer.BlockPlacer placer, Random random, TreeFeatureConfig config, float chance, BlockPos origin, BlockPos.Mutable pos) protected static booleanplaceFoliageBlock(TestableWorld world, FoliagePlacer.BlockPlacer placer, Random random, TreeFeatureConfig config, BlockPos pos) 
- 
Field Details- 
TYPE_CODEC- Mappings:
- Namespace - Name - Mixin selector - named - TYPE_CODEC- Lnet/minecraft/world/gen/foliage/FoliagePlacer;TYPE_CODEC:Lcom/mojang/serialization/Codec;- intermediary - field_24931- Lnet/minecraft/class_4647;field_24931:Lcom/mojang/serialization/Codec;- official - d- Lejp;d:Lcom/mojang/serialization/Codec;
 
- 
radius- Mappings:
- Namespace - Name - Mixin selector - named - radius- Lnet/minecraft/world/gen/foliage/FoliagePlacer;radius:Lnet/minecraft/util/math/intprovider/IntProvider;- intermediary - field_21296- Lnet/minecraft/class_4647;field_21296:Lnet/minecraft/class_6017;- official - e- Lejp;e:Lbrq;
 
- 
offset- Mappings:
- Namespace - Name - Mixin selector - named - offset- Lnet/minecraft/world/gen/foliage/FoliagePlacer;offset:Lnet/minecraft/util/math/intprovider/IntProvider;- intermediary - field_23753- Lnet/minecraft/class_4647;field_23753:Lnet/minecraft/class_6017;- official - f- Lejp;f:Lbrq;
 
 
- 
- 
Constructor Details- 
FoliagePlacer- Mappings:
- Namespace - Name - Mixin selector - named - <init>- Lnet/minecraft/world/gen/foliage/FoliagePlacer;<init>(Lnet/minecraft/util/math/intprovider/IntProvider;Lnet/minecraft/util/math/intprovider/IntProvider;)V- intermediary - <init>- Lnet/minecraft/class_4647;<init>(Lnet/minecraft/class_6017;Lnet/minecraft/class_6017;)V- official - <init>- Lejp;<init>(Lbrq;Lbrq;)V
 
 
- 
- 
Method Details- 
fillFoliagePlacerFieldsprotected static <P extends FoliagePlacer> com.mojang.datafixers.Products.P2<com.mojang.serialization.codecs.RecordCodecBuilder.Mu<P>,IntProvider, fillFoliagePlacerFieldsIntProvider> (com.mojang.serialization.codecs.RecordCodecBuilder.Instance<P> instance) - Mappings:
- Namespace - Name - Mixin selector - named - fillFoliagePlacerFields- Lnet/minecraft/world/gen/foliage/FoliagePlacer;fillFoliagePlacerFields(Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/Products$P2;- intermediary - method_30411- Lnet/minecraft/class_4647;method_30411(Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/Products$P2;- official - b- Lejp;b(Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/Products$P2;
 
- 
getType- Mappings:
- Namespace - Name - Mixin selector - named - getType- Lnet/minecraft/world/gen/foliage/FoliagePlacer;getType()Lnet/minecraft/world/gen/foliage/FoliagePlacerType;- intermediary - method_28843- Lnet/minecraft/class_4647;method_28843()Lnet/minecraft/class_4648;- official - a- Lejp;a()Lejq;
 
- 
generatepublic void generate(TestableWorld world, FoliagePlacer.BlockPlacer placer, Random random, TreeFeatureConfig config, int trunkHeight, FoliagePlacer.TreeNode treeNode, int foliageHeight, int radius) - Mappings:
- Namespace - Name - Mixin selector - named - generate- Lnet/minecraft/world/gen/foliage/FoliagePlacer;generate(Lnet/minecraft/world/TestableWorld;Lnet/minecraft/world/gen/foliage/FoliagePlacer$BlockPlacer;Lnet/minecraft/util/math/random/Random;Lnet/minecraft/world/gen/feature/TreeFeatureConfig;ILnet/minecraft/world/gen/foliage/FoliagePlacer$TreeNode;II)V- intermediary - method_27385- Lnet/minecraft/class_4647;method_27385(Lnet/minecraft/class_3746;Lnet/minecraft/class_4647$class_8179;Lnet/minecraft/class_5819;Lnet/minecraft/class_4643;ILnet/minecraft/class_4647$class_5208;II)V- official - a- Lejp;a(Ldgp;Lejp$b;Lazh;Leiz;ILejp$a;II)V
 
- 
generateprotected abstract void generate(TestableWorld world, FoliagePlacer.BlockPlacer placer, Random random, TreeFeatureConfig config, int trunkHeight, FoliagePlacer.TreeNode treeNode, int foliageHeight, int radius, int offset) This is the main method used to generate foliage.- Mappings:
- Namespace - Name - Mixin selector - named - generate- Lnet/minecraft/world/gen/foliage/FoliagePlacer;generate(Lnet/minecraft/world/TestableWorld;Lnet/minecraft/world/gen/foliage/FoliagePlacer$BlockPlacer;Lnet/minecraft/util/math/random/Random;Lnet/minecraft/world/gen/feature/TreeFeatureConfig;ILnet/minecraft/world/gen/foliage/FoliagePlacer$TreeNode;III)V- intermediary - method_23448- Lnet/minecraft/class_4647;method_23448(Lnet/minecraft/class_3746;Lnet/minecraft/class_4647$class_8179;Lnet/minecraft/class_5819;Lnet/minecraft/class_4643;ILnet/minecraft/class_4647$class_5208;III)V- official - a- Lejp;a(Ldgp;Lejp$b;Lazh;Leiz;ILejp$a;III)V
 
- 
getRandomHeight- Mappings:
- Namespace - Name - Mixin selector - named - getRandomHeight- Lnet/minecraft/world/gen/foliage/FoliagePlacer;getRandomHeight(Lnet/minecraft/util/math/random/Random;ILnet/minecraft/world/gen/feature/TreeFeatureConfig;)I- intermediary - method_26989- Lnet/minecraft/class_4647;method_26989(Lnet/minecraft/class_5819;ILnet/minecraft/class_4643;)I- official - a- Lejp;a(Lazh;ILeiz;)I
 
- 
getRandomRadius- Mappings:
- Namespace - Name - Mixin selector - named - getRandomRadius- Lnet/minecraft/world/gen/foliage/FoliagePlacer;getRandomRadius(Lnet/minecraft/util/math/random/Random;I)I- intermediary - method_23452- Lnet/minecraft/class_4647;method_23452(Lnet/minecraft/class_5819;I)I- official - a- Lejp;a(Lazh;I)I
 
- 
getRandomOffset- Mappings:
- Namespace - Name - Mixin selector - named - getRandomOffset- Lnet/minecraft/world/gen/foliage/FoliagePlacer;getRandomOffset(Lnet/minecraft/util/math/random/Random;)I- intermediary - method_27386- Lnet/minecraft/class_4647;method_27386(Lnet/minecraft/class_5819;)I- official - a- Lejp;a(Lazh;)I
 
- 
isInvalidForLeavesprotected abstract boolean isInvalidForLeaves(Random random, int dx, int y, int dz, int radius, boolean giantTrunk) Used to exclude certain positions such as corners when creating a square of leaves.- Mappings:
- Namespace - Name - Mixin selector - named - isInvalidForLeaves- Lnet/minecraft/world/gen/foliage/FoliagePlacer;isInvalidForLeaves(Lnet/minecraft/util/math/random/Random;IIIIZ)Z- intermediary - method_23451- Lnet/minecraft/class_4647;method_23451(Lnet/minecraft/class_5819;IIIIZ)Z- official - a- Lejp;a(Lazh;IIIIZ)Z
 
- 
isPositionInvalidprotected boolean isPositionInvalid(Random random, int dx, int y, int dz, int radius, boolean giantTrunk) Normalizes x and z coords before checking if they are invalid.- Mappings:
- Namespace - Name - Mixin selector - named - isPositionInvalid- Lnet/minecraft/world/gen/foliage/FoliagePlacer;isPositionInvalid(Lnet/minecraft/util/math/random/Random;IIIIZ)Z- intermediary - method_27387- Lnet/minecraft/class_4647;method_27387(Lnet/minecraft/class_5819;IIIIZ)Z- official - b- Lejp;b(Lazh;IIIIZ)Z
 
- 
generateSquareprotected void generateSquare(TestableWorld world, FoliagePlacer.BlockPlacer placer, Random random, TreeFeatureConfig config, BlockPos centerPos, int radius, int y, boolean giantTrunk) Generates a square of leaves with the given radius. Sub-classes can use the methodisInvalidForLeavesto exclude certain positions, such as corners.- Mappings:
- Namespace - Name - Mixin selector - named - generateSquare- Lnet/minecraft/world/gen/foliage/FoliagePlacer;generateSquare(Lnet/minecraft/world/TestableWorld;Lnet/minecraft/world/gen/foliage/FoliagePlacer$BlockPlacer;Lnet/minecraft/util/math/random/Random;Lnet/minecraft/world/gen/feature/TreeFeatureConfig;Lnet/minecraft/util/math/BlockPos;IIZ)V- intermediary - method_23449- Lnet/minecraft/class_4647;method_23449(Lnet/minecraft/class_3746;Lnet/minecraft/class_4647$class_8179;Lnet/minecraft/class_5819;Lnet/minecraft/class_4643;Lnet/minecraft/class_2338;IIZ)V- official - a- Lejp;a(Ldgp;Lejp$b;Lazh;Leiz;Lji;IIZ)V
 
- 
generateSquareWithHangingLeavesprotected final void generateSquareWithHangingLeaves(TestableWorld world, FoliagePlacer.BlockPlacer placer, Random random, TreeFeatureConfig config, BlockPos centerPos, int radius, int y, boolean giantTrunk, float hangingLeavesChance, float hangingLeavesExtensionChance) - Mappings:
- Namespace - Name - Mixin selector - named - generateSquareWithHangingLeaves- Lnet/minecraft/world/gen/foliage/FoliagePlacer;generateSquareWithHangingLeaves(Lnet/minecraft/world/TestableWorld;Lnet/minecraft/world/gen/foliage/FoliagePlacer$BlockPlacer;Lnet/minecraft/util/math/random/Random;Lnet/minecraft/world/gen/feature/TreeFeatureConfig;Lnet/minecraft/util/math/BlockPos;IIZFF)V- intermediary - method_49247- Lnet/minecraft/class_4647;method_49247(Lnet/minecraft/class_3746;Lnet/minecraft/class_4647$class_8179;Lnet/minecraft/class_5819;Lnet/minecraft/class_4643;Lnet/minecraft/class_2338;IIZFF)V- official - a- Lejp;a(Ldgp;Lejp$b;Lazh;Leiz;Lji;IIZFF)V
 
- 
placeFoliageBlockprivate static boolean placeFoliageBlock(TestableWorld world, FoliagePlacer.BlockPlacer placer, Random random, TreeFeatureConfig config, float chance, BlockPos origin, BlockPos.Mutable pos) - Mappings:
- Namespace - Name - Mixin selector - named - placeFoliageBlock- Lnet/minecraft/world/gen/foliage/FoliagePlacer;placeFoliageBlock(Lnet/minecraft/world/TestableWorld;Lnet/minecraft/world/gen/foliage/FoliagePlacer$BlockPlacer;Lnet/minecraft/util/math/random/Random;Lnet/minecraft/world/gen/feature/TreeFeatureConfig;FLnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/BlockPos$Mutable;)Z- intermediary - method_49884- Lnet/minecraft/class_4647;method_49884(Lnet/minecraft/class_3746;Lnet/minecraft/class_4647$class_8179;Lnet/minecraft/class_5819;Lnet/minecraft/class_4643;FLnet/minecraft/class_2338;Lnet/minecraft/class_2338$class_2339;)Z- official - a- Lejp;a(Ldgp;Lejp$b;Lazh;Leiz;FLji;Lji$a;)Z
 
- 
placeFoliageBlockprotected static boolean placeFoliageBlock(TestableWorld world, FoliagePlacer.BlockPlacer placer, Random random, TreeFeatureConfig config, BlockPos pos) - Mappings:
- Namespace - Name - Mixin selector - named - placeFoliageBlock- Lnet/minecraft/world/gen/foliage/FoliagePlacer;placeFoliageBlock(Lnet/minecraft/world/TestableWorld;Lnet/minecraft/world/gen/foliage/FoliagePlacer$BlockPlacer;Lnet/minecraft/util/math/random/Random;Lnet/minecraft/world/gen/feature/TreeFeatureConfig;Lnet/minecraft/util/math/BlockPos;)Z- intermediary - method_34359- Lnet/minecraft/class_4647;method_34359(Lnet/minecraft/class_3746;Lnet/minecraft/class_4647$class_8179;Lnet/minecraft/class_5819;Lnet/minecraft/class_4643;Lnet/minecraft/class_2338;)Z- official - a- Lejp;a(Ldgp;Lejp$b;Lazh;Leiz;Lji;)Z
 
 
-