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;Lnet/minecraft/class_5819;Lnet/minecraft/class_4643;ILnet/minecraft/class_4647$class_5208;III)V COMMENT This is the main method used to generate foliage. ARG 1 world ARG 2 replacer ARG 3 random ARG 4 config ARG 5 trunkHeight ARG 6 treeNode ARG 7 foliageHeight ARG 8 radius ARG 9 offset METHOD method_23449 generateSquare (Lnet/minecraft/class_3746;Ljava/util/function/BiConsumer;Lnet/minecraft/class_5819;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 1 world ARG 2 replacer ARG 3 random ARG 4 config ARG 5 centerPos ARG 6 radius ARG 7 y ARG 8 giantTrunk METHOD method_23451 isInvalidForLeaves (Lnet/minecraft/class_5819;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 (Lnet/minecraft/class_5819;I)I ARG 1 random ARG 2 baseHeight METHOD method_26989 getRandomHeight (Lnet/minecraft/class_5819;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;Lnet/minecraft/class_5819;Lnet/minecraft/class_4643;ILnet/minecraft/class_4647$class_5208;II)V ARG 1 world ARG 2 replacer ARG 3 random ARG 4 config ARG 5 trunkHeight ARG 6 treeNode ARG 7 foliageHeight ARG 8 radius METHOD method_27386 getRandomOffset (Lnet/minecraft/class_5819;)I ARG 1 random METHOD method_27387 isPositionInvalid (Lnet/minecraft/class_5819;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_30410 (Lnet/minecraft/class_4647;)Lnet/minecraft/class_6017; ARG 0 placer METHOD method_30411 fillFoliagePlacerFields (Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/Products$P2; METHOD method_30412 (Lnet/minecraft/class_4647;)Lnet/minecraft/class_6017; ARG 0 placer METHOD method_34359 placeFoliageBlock (Lnet/minecraft/class_3746;Ljava/util/function/BiConsumer;Lnet/minecraft/class_5819;Lnet/minecraft/class_4643;Lnet/minecraft/class_2338;)V ARG 0 world ARG 1 replacer ARG 2 random ARG 3 config ARG 4 pos METHOD method_42380 (Lnet/minecraft/class_3610;)Z ARG 0 fluidState 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