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 ekk
-
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 dLekk;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 eLekk;e:Lbsd;
-
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 fLekk;f:Lbsd;
-
-
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>Lekk;<init>(Lbsd;Lbsd;)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 bLekk;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 aLekk;a()Lekl;
-
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 aLekk;a(Ldhf;Lekk$b;Lazh;Leju;ILekk$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 aLekk;a(Ldhf;Lekk$b;Lazh;Leju;ILekk$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 aLekk;a(Lazh;ILeju;)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 aLekk;a(Lazh;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 aLekk;a(Lazh;)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 aLekk;a(Lazh;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 bLekk;b(Lazh;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 aLekk;a(Ldhf;Lekk$b;Lazh;Leju;Lji;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 aLekk;a(Ldhf;Lekk$b;Lazh;Leju;Lji;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 aLekk;a(Ldhf;Lekk$b;Lazh;Leju;FLji;Lji$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 aLekk;a(Ldhf;Lekk$b;Lazh;Leju;Lji;)Z
-