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 ekl
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
static final class
A point on a tree to generate foliage around -
Field Summary
Modifier and TypeFieldDescriptionprotected final IntProvider
protected final IntProvider
static final com.mojang.serialization.Codec
<FoliagePlacer> -
Constructor Summary
-
Method Summary
Modifier 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) void
generate
(TestableWorld world, FoliagePlacer.BlockPlacer placer, Random random, TreeFeatureConfig config, int trunkHeight, FoliagePlacer.TreeNode treeNode, int foliageHeight, int radius) protected 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.protected 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.protected final void
generateSquareWithHangingLeaves
(TestableWorld world, FoliagePlacer.BlockPlacer placer, Random random, TreeFeatureConfig config, BlockPos centerPos, int radius, int y, boolean giantTrunk, float hangingLeavesChance, float hangingLeavesExtensionChance) abstract int
getRandomHeight
(Random random, int trunkHeight, TreeFeatureConfig config) private int
getRandomOffset
(Random random) int
getRandomRadius
(Random random, int baseHeight) protected abstract FoliagePlacerType
<?> getType()
protected 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.protected 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.private static boolean
placeFoliageBlock
(TestableWorld world, FoliagePlacer.BlockPlacer placer, Random random, TreeFeatureConfig config, float chance, BlockPos origin, BlockPos.Mutable pos) protected static boolean
placeFoliageBlock
(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
Lekl;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
Lekl;e:Lbsn;
-
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
Lekl;f:Lbsn;
-
-
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>
Lekl;<init>(Lbsn;Lbsn;)V
-
-
Method Details
-
fillFoliagePlacerFields
protected 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
Lekl;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
Lekl;a()Lekm;
-
generate
public 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
Lekl;a(Ldhn;Lekl$b;Lbam;Lejv;ILekl$a;II)V
-
generate
protected 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
Lekl;a(Ldhn;Lekl$b;Lbam;Lejv;ILekl$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
Lekl;a(Lbam;ILejv;)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
Lekl;a(Lbam;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
Lekl;a(Lbam;)I
-
isInvalidForLeaves
protected 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
Lekl;a(Lbam;IIIIZ)Z
-
isPositionInvalid
protected 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
Lekl;b(Lbam;IIIIZ)Z
-
generateSquare
protected 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 methodisInvalidForLeaves
to 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
Lekl;a(Ldhn;Lekl$b;Lbam;Lejv;Ljh;IIZ)V
-
generateSquareWithHangingLeaves
protected 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
Lekl;a(Ldhn;Lekl$b;Lbam;Lejv;Ljh;IIZFF)V
-
placeFoliageBlock
private 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
Lekl;a(Ldhn;Lekl$b;Lbam;Lejv;FLjh;Ljh$a;)Z
-
placeFoliageBlock
protected 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
Lekl;a(Ldhn;Lekl$b;Lbam;Lejv;Ljh;)Z
-