CLASS net/minecraft/class_4647 net/minecraft/world/gen/foliage/FoliagePlacer FIELD field_21296 radius Lnet/minecraft/class_6017; FIELD field_23753 offset Lnet/minecraft/class_6017; FIELD field_24931 TYPE_CODEC Lcom/mojang/serialization/Codec; METHOD (Lnet/minecraft/class_6017;Lnet/minecraft/class_6017;)V ARG 1 radius ARG 2 offset METHOD method_23448 generate (Lnet/minecraft/class_3746;Ljava/util/function/BiConsumer;Ljava/util/Random;Lnet/minecraft/class_4643;ILnet/minecraft/class_4647$class_5208;III)V COMMENT This is the main method used to generate foliage. ARG 7 radius ARG 9 offset METHOD method_23449 generateSquare (Lnet/minecraft/class_3746;Ljava/util/function/BiConsumer;Ljava/util/Random;Lnet/minecraft/class_4643;Lnet/minecraft/class_2338;IIZ)V COMMENT Generates a square of leaves with the given radius. Sub-classes can use the method {@code isInvalidForLeaves} to exclude certain positions, such as corners. ARG 7 y ARG 8 giantTrunk METHOD method_23451 isInvalidForLeaves (Ljava/util/Random;IIIIZ)Z COMMENT Used to exclude certain positions such as corners when creating a square of leaves. ARG 1 random ARG 2 dx ARG 3 y ARG 4 dz ARG 5 radius ARG 6 giantTrunk METHOD method_23452 getRandomRadius (Ljava/util/Random;I)I ARG 1 random ARG 2 baseHeight METHOD method_26989 getRandomHeight (Ljava/util/Random;ILnet/minecraft/class_4643;)I ARG 1 random ARG 2 trunkHeight ARG 3 config METHOD method_27385 generate (Lnet/minecraft/class_3746;Ljava/util/function/BiConsumer;Ljava/util/Random;Lnet/minecraft/class_4643;ILnet/minecraft/class_4647$class_5208;II)V METHOD method_27386 getRandomOffset (Ljava/util/Random;)I ARG 1 random METHOD method_27387 isPositionInvalid (Ljava/util/Random;IIIIZ)Z COMMENT Normalizes x and z coords before checking if they are invalid. ARG 1 random ARG 2 dx ARG 3 y ARG 4 dz ARG 5 radius ARG 6 giantTrunk METHOD method_28843 getType ()Lnet/minecraft/class_4648; METHOD method_30411 fillFoliagePlacerFields (Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/Products$P2; METHOD method_34359 placeFoliageBlock (Lnet/minecraft/class_3746;Ljava/util/function/BiConsumer;Ljava/util/Random;Lnet/minecraft/class_4643;Lnet/minecraft/class_2338;)V ARG 2 random ARG 3 config CLASS class_5208 TreeNode COMMENT A point on a tree to generate foliage around FIELD field_24158 center Lnet/minecraft/class_2338; FIELD field_24159 foliageRadius I FIELD field_24160 giantTrunk Z METHOD (Lnet/minecraft/class_2338;IZ)V ARG 1 center ARG 2 foliageRadius ARG 3 giantTrunk METHOD method_27388 getCenter ()Lnet/minecraft/class_2338; METHOD method_27389 getFoliageRadius ()I METHOD method_27390 isGiantTrunk ()Z COMMENT Whether this node is the top of a giant (2x2 block) trunk