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/FoliagePlacerintermediary net/minecraft/class_4647official efu
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfacestatic final classA point on a tree to generate foliage around -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final IntProviderprotected final IntProviderstatic final com.mojang.serialization.Codec<FoliagePlacer> -
Constructor Summary
Constructors -
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) 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_CODECLnet/minecraft/world/gen/foliage/FoliagePlacer;TYPE_CODEC:Lcom/mojang/serialization/Codec;intermediary field_24931Lnet/minecraft/class_4647;field_24931:Lcom/mojang/serialization/Codec;official dLefu;d:Lcom/mojang/serialization/Codec;
-
radius
- Mappings:
Namespace Name Mixin selector named radiusLnet/minecraft/world/gen/foliage/FoliagePlacer;radius:Lnet/minecraft/util/math/intprovider/IntProvider;intermediary field_21296Lnet/minecraft/class_4647;field_21296:Lnet/minecraft/class_6017;official eLefu;e:Lbpw;
-
offset
- Mappings:
Namespace Name Mixin selector named offsetLnet/minecraft/world/gen/foliage/FoliagePlacer;offset:Lnet/minecraft/util/math/intprovider/IntProvider;intermediary field_23753Lnet/minecraft/class_4647;field_23753:Lnet/minecraft/class_6017;official fLefu;f:Lbpw;
-
-
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;)Vintermediary <init>Lnet/minecraft/class_4647;<init>(Lnet/minecraft/class_6017;Lnet/minecraft/class_6017;)Vofficial <init>Lefu;<init>(Lbpw;Lbpw;)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 fillFoliagePlacerFieldsLnet/minecraft/world/gen/foliage/FoliagePlacer;fillFoliagePlacerFields(Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/Products$P2;intermediary method_30411Lnet/minecraft/class_4647;method_30411(Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/Products$P2;official bLefu;b(Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/Products$P2;
-
getType
- Mappings:
Namespace Name Mixin selector named getTypeLnet/minecraft/world/gen/foliage/FoliagePlacer;getType()Lnet/minecraft/world/gen/foliage/FoliagePlacerType;intermediary method_28843Lnet/minecraft/class_4647;method_28843()Lnet/minecraft/class_4648;official aLefu;a()Lefv;
-
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 generateLnet/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)Vintermediary method_27385Lnet/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)Vofficial aLefu;a(Lddc;Lefu$b;Layw;Lefe;ILefu$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 generateLnet/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)Vintermediary method_23448Lnet/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)Vofficial aLefu;a(Lddc;Lefu$b;Layw;Lefe;ILefu$a;III)V
-
getRandomHeight
- Mappings:
Namespace Name Mixin selector named getRandomHeightLnet/minecraft/world/gen/foliage/FoliagePlacer;getRandomHeight(Lnet/minecraft/util/math/random/Random;ILnet/minecraft/world/gen/feature/TreeFeatureConfig;)Iintermediary method_26989Lnet/minecraft/class_4647;method_26989(Lnet/minecraft/class_5819;ILnet/minecraft/class_4643;)Iofficial aLefu;a(Layw;ILefe;)I
-
getRandomRadius
- Mappings:
Namespace Name Mixin selector named getRandomRadiusLnet/minecraft/world/gen/foliage/FoliagePlacer;getRandomRadius(Lnet/minecraft/util/math/random/Random;I)Iintermediary method_23452Lnet/minecraft/class_4647;method_23452(Lnet/minecraft/class_5819;I)Iofficial aLefu;a(Layw;I)I
-
getRandomOffset
- Mappings:
Namespace Name Mixin selector named getRandomOffsetLnet/minecraft/world/gen/foliage/FoliagePlacer;getRandomOffset(Lnet/minecraft/util/math/random/Random;)Iintermediary method_27386Lnet/minecraft/class_4647;method_27386(Lnet/minecraft/class_5819;)Iofficial aLefu;a(Layw;)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 isInvalidForLeavesLnet/minecraft/world/gen/foliage/FoliagePlacer;isInvalidForLeaves(Lnet/minecraft/util/math/random/Random;IIIIZ)Zintermediary method_23451Lnet/minecraft/class_4647;method_23451(Lnet/minecraft/class_5819;IIIIZ)Zofficial aLefu;a(Layw;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 isPositionInvalidLnet/minecraft/world/gen/foliage/FoliagePlacer;isPositionInvalid(Lnet/minecraft/util/math/random/Random;IIIIZ)Zintermediary method_27387Lnet/minecraft/class_4647;method_27387(Lnet/minecraft/class_5819;IIIIZ)Zofficial bLefu;b(Layw;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 methodisInvalidForLeavesto exclude certain positions, such as corners.- Mappings:
Namespace Name Mixin selector named generateSquareLnet/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)Vintermediary method_23449Lnet/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)Vofficial aLefu;a(Lddc;Lefu$b;Layw;Lefe;Ljd;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 generateSquareWithHangingLeavesLnet/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)Vintermediary method_49247Lnet/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)Vofficial aLefu;a(Lddc;Lefu$b;Layw;Lefe;Ljd;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 placeFoliageBlockLnet/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;)Zintermediary method_49884Lnet/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;)Zofficial aLefu;a(Lddc;Lefu$b;Layw;Lefe;FLjd;Ljd$a;)Z
-
placeFoliageBlock
protected static boolean placeFoliageBlock(TestableWorld world, FoliagePlacer.BlockPlacer placer, Random random, TreeFeatureConfig config, BlockPos pos) - Mappings:
Namespace Name Mixin selector named placeFoliageBlockLnet/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;)Zintermediary method_34359Lnet/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;)Zofficial aLefu;a(Lddc;Lefu$b;Layw;Lefe;Ljd;)Z
-