类 FoliagePlacer
- java.lang.Object
-
- net.minecraft.world.gen.foliage.FoliagePlacer
-
- 直接已知子类:
AcaciaFoliagePlacer,BlobFoliagePlacer,DarkOakFoliagePlacer,JungleFoliagePlacer,MegaPineFoliagePlacer,PineFoliagePlacer,RandomSpreadFoliagePlacer,SpruceFoliagePlacer
public abstract class FoliagePlacer extends Object
- Mappings:
Namespace Name official cvwintermediary net/minecraft/class_4647named net/minecraft/world/gen/foliage/FoliagePlacer
-
-
嵌套类概要
嵌套类 修饰符和类型 类 说明 static classFoliagePlacer.TreeNodeA point on a tree to generate foliage around
-
字段概要
字段 修饰符和类型 字段 说明 protected IntProvideroffsetprotected IntProviderradiusstatic com.mojang.serialization.Codec<FoliagePlacer>TYPE_CODEC
-
构造器概要
构造器 构造器 说明 FoliagePlacer(IntProvider radius, IntProvider offset)
-
方法概要
所有方法 静态方法 实例方法 抽象方法 具体方法 修饰符和类型 方法 说明 protected 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 testableWorld, BiConsumer<BlockPos,BlockState> biConsumer, Random random, TreeFeatureConfig treeFeatureConfig, int int2, FoliagePlacer.TreeNode treeNode, int int3, int int4)protected abstract voidgenerate(TestableWorld testableWorld, BiConsumer<BlockPos,BlockState> biConsumer, Random random, TreeFeatureConfig treeFeatureConfig, int int2, FoliagePlacer.TreeNode treeNode, int radius, int int3, int offset)This is the main method used to generate foliage.protected voidgenerateSquare(TestableWorld testableWorld, BiConsumer<BlockPos,BlockState> biConsumer, Random random, TreeFeatureConfig treeFeatureConfig, BlockPos blockPos, int int2, int y, boolean giantTrunk)Generates a square of leaves with the given radius.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.protected static voidplaceFoliageBlock(TestableWorld testableWorld, BiConsumer<BlockPos,BlockState> biConsumer, Random random, TreeFeatureConfig config, BlockPos blockPos)
-
-
-
字段详细资料
-
TYPE_CODEC
public static final com.mojang.serialization.Codec<FoliagePlacer> TYPE_CODEC
- Mappings:
Namespace Name Mixin selector official dLcvw;d:Lcom/mojang/serialization/Codec;intermediary field_24931Lnet/minecraft/class_4647;field_24931:Lcom/mojang/serialization/Codec;named TYPE_CODECLnet/minecraft/world/gen/foliage/FoliagePlacer;TYPE_CODEC:Lcom/mojang/serialization/Codec;
-
radius
protected final IntProvider radius
- Mappings:
Namespace Name Mixin selector official eLcvw;e:Laqo;intermediary field_21296Lnet/minecraft/class_4647;field_21296:Lnet/minecraft/class_6017;named radiusLnet/minecraft/world/gen/foliage/FoliagePlacer;radius:Lnet/minecraft/util/math/intprovider/IntProvider;
-
offset
protected final IntProvider offset
- Mappings:
Namespace Name Mixin selector official fLcvw;f:Laqo;intermediary field_23753Lnet/minecraft/class_4647;field_23753:Lnet/minecraft/class_6017;named offsetLnet/minecraft/world/gen/foliage/FoliagePlacer;offset:Lnet/minecraft/util/math/intprovider/IntProvider;
-
-
构造器详细资料
-
FoliagePlacer
public FoliagePlacer(IntProvider radius, IntProvider offset)
- Mappings:
Namespace Name Mixin selector official <init>Lcvw;<init>(Laqo;Laqo;)Vintermediary <init>Lnet/minecraft/class_4647;<init>(Lnet/minecraft/class_6017;Lnet/minecraft/class_6017;)Vnamed <init>Lnet/minecraft/world/gen/foliage/FoliagePlacer;<init>(Lnet/minecraft/util/math/intprovider/IntProvider;Lnet/minecraft/util/math/intprovider/IntProvider;)V
-
-
方法详细资料
-
fillFoliagePlacerFields
protected 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)
- Mappings:
Namespace Name Mixin selector official bLcvw;b(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;named fillFoliagePlacerFieldsLnet/minecraft/world/gen/foliage/FoliagePlacer;fillFoliagePlacerFields(Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/Products$P2;
-
getType
protected abstract FoliagePlacerType<?> getType()
- Mappings:
Namespace Name Mixin selector official aLcvw;a()Lcvx;intermediary method_28843Lnet/minecraft/class_4647;method_28843()Lnet/minecraft/class_4648;named getTypeLnet/minecraft/world/gen/foliage/FoliagePlacer;getType()Lnet/minecraft/world/gen/foliage/FoliagePlacerType;
-
generate
public void generate(TestableWorld testableWorld, BiConsumer<BlockPos,BlockState> biConsumer, Random random, TreeFeatureConfig treeFeatureConfig, int int2, FoliagePlacer.TreeNode treeNode, int int3, int int4)
- Mappings:
Namespace Name Mixin selector official aLcvw;a(Lbvx;Ljava/util/function/BiConsumer;Ljava/util/Random;Lcvi;ILcvw$a;II)Vintermediary method_27385Lnet/minecraft/class_4647;method_27385(Lnet/minecraft/class_3746;Ljava/util/function/BiConsumer;Ljava/util/Random;Lnet/minecraft/class_4643;ILnet/minecraft/class_4647$class_5208;II)Vnamed generateLnet/minecraft/world/gen/foliage/FoliagePlacer;generate(Lnet/minecraft/world/TestableWorld;Ljava/util/function/BiConsumer;Ljava/util/Random;Lnet/minecraft/world/gen/feature/TreeFeatureConfig;ILnet/minecraft/world/gen/foliage/FoliagePlacer$TreeNode;II)V
-
generate
protected abstract void generate(TestableWorld testableWorld, BiConsumer<BlockPos,BlockState> biConsumer, Random random, TreeFeatureConfig treeFeatureConfig, int int2, FoliagePlacer.TreeNode treeNode, int radius, int int3, int offset)
This is the main method used to generate foliage.- Mappings:
Namespace Name Mixin selector official aLcvw;a(Lbvx;Ljava/util/function/BiConsumer;Ljava/util/Random;Lcvi;ILcvw$a;III)Vintermediary method_23448Lnet/minecraft/class_4647;method_23448(Lnet/minecraft/class_3746;Ljava/util/function/BiConsumer;Ljava/util/Random;Lnet/minecraft/class_4643;ILnet/minecraft/class_4647$class_5208;III)Vnamed generateLnet/minecraft/world/gen/foliage/FoliagePlacer;generate(Lnet/minecraft/world/TestableWorld;Ljava/util/function/BiConsumer;Ljava/util/Random;Lnet/minecraft/world/gen/feature/TreeFeatureConfig;ILnet/minecraft/world/gen/foliage/FoliagePlacer$TreeNode;III)V
-
getRandomHeight
public abstract int getRandomHeight(Random random, int trunkHeight, TreeFeatureConfig config)
- Mappings:
Namespace Name Mixin selector official aLcvw;a(Ljava/util/Random;ILcvi;)Iintermediary method_26989Lnet/minecraft/class_4647;method_26989(Ljava/util/Random;ILnet/minecraft/class_4643;)Inamed getRandomHeightLnet/minecraft/world/gen/foliage/FoliagePlacer;getRandomHeight(Ljava/util/Random;ILnet/minecraft/world/gen/feature/TreeFeatureConfig;)I
-
getRandomRadius
public int getRandomRadius(Random random, int baseHeight)
- Mappings:
Namespace Name Mixin selector official aLcvw;a(Ljava/util/Random;I)Iintermediary method_23452Lnet/minecraft/class_4647;method_23452(Ljava/util/Random;I)Inamed getRandomRadiusLnet/minecraft/world/gen/foliage/FoliagePlacer;getRandomRadius(Ljava/util/Random;I)I
-
getRandomOffset
private int getRandomOffset(Random random)
- Mappings:
Namespace Name Mixin selector official aLcvw;a(Ljava/util/Random;)Iintermediary method_27386Lnet/minecraft/class_4647;method_27386(Ljava/util/Random;)Inamed getRandomOffsetLnet/minecraft/world/gen/foliage/FoliagePlacer;getRandomOffset(Ljava/util/Random;)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 official aLcvw;a(Ljava/util/Random;IIIIZ)Zintermediary method_23451Lnet/minecraft/class_4647;method_23451(Ljava/util/Random;IIIIZ)Znamed isInvalidForLeavesLnet/minecraft/world/gen/foliage/FoliagePlacer;isInvalidForLeaves(Ljava/util/Random;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 official bLcvw;b(Ljava/util/Random;IIIIZ)Zintermediary method_27387Lnet/minecraft/class_4647;method_27387(Ljava/util/Random;IIIIZ)Znamed isPositionInvalidLnet/minecraft/world/gen/foliage/FoliagePlacer;isPositionInvalid(Ljava/util/Random;IIIIZ)Z
-
generateSquare
protected void generateSquare(TestableWorld testableWorld, BiConsumer<BlockPos,BlockState> biConsumer, Random random, TreeFeatureConfig treeFeatureConfig, BlockPos blockPos, int int2, 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 official aLcvw;a(Lbvx;Ljava/util/function/BiConsumer;Ljava/util/Random;Lcvi;Lgb;IIZ)Vintermediary method_23449Lnet/minecraft/class_4647;method_23449(Lnet/minecraft/class_3746;Ljava/util/function/BiConsumer;Ljava/util/Random;Lnet/minecraft/class_4643;Lnet/minecraft/class_2338;IIZ)Vnamed generateSquareLnet/minecraft/world/gen/foliage/FoliagePlacer;generateSquare(Lnet/minecraft/world/TestableWorld;Ljava/util/function/BiConsumer;Ljava/util/Random;Lnet/minecraft/world/gen/feature/TreeFeatureConfig;Lnet/minecraft/util/math/BlockPos;IIZ)V
-
placeFoliageBlock
protected static void placeFoliageBlock(TestableWorld testableWorld, BiConsumer<BlockPos,BlockState> biConsumer, Random random, TreeFeatureConfig config, BlockPos blockPos)
- Mappings:
Namespace Name Mixin selector official aLcvw;a(Lbvx;Ljava/util/function/BiConsumer;Ljava/util/Random;Lcvi;Lgb;)Vintermediary method_34359Lnet/minecraft/class_4647;method_34359(Lnet/minecraft/class_3746;Ljava/util/function/BiConsumer;Ljava/util/Random;Lnet/minecraft/class_4643;Lnet/minecraft/class_2338;)Vnamed placeFoliageBlockLnet/minecraft/world/gen/foliage/FoliagePlacer;placeFoliageBlock(Lnet/minecraft/world/TestableWorld;Ljava/util/function/BiConsumer;Ljava/util/Random;Lnet/minecraft/world/gen/feature/TreeFeatureConfig;Lnet/minecraft/util/math/BlockPos;)V
-
-