Êþº¾E£  .net/minecraft/util/valueproviders/IntProviderscodec$(II)Lcom/mojang/serialization/Codec;radius  com/mojang/serialization/CodecfieldOf7(Ljava/lang/String;)Lcom/mojang/serialization/MapCodec; apply()Ljava/util/function/Function;  !com/mojang/serialization/MapCodec forGetterS(Ljava/util/function/Function;)Lcom/mojang/serialization/codecs/RecordCodecBuilder;offset  !;com/mojang/serialization/codecs/RecordCodecBuilder$Instancegroupg(Lcom/mojang/datafixers/kinds/App;Lcom/mojang/datafixers/kinds/App;)Lcom/mojang/datafixers/Products$P2; #$% &'java/lang/Object()V )*+ ,Gnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacer/Lnet/minecraft/util/valueproviders/IntProvider; ). , )0 1$(Lnet/minecraft/util/RandomSource;)I )3 45 createFoliage;(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacer$FoliageSetter;Lnet/minecraft/util/RandomSource;Lnet/minecraft/world/level/levelgen/feature/TreeFeature;ILnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacer$FoliageAttachment;III)V 789 :1-net/minecraft/util/valueproviders/IntProvidersample <=> ?@java/lang/Mathabs(I)I <B CDmin(II)I )F GHshouldSkipLocation)(Lnet/minecraft/util/RandomSource;IIIIZ)ZJ+net/minecraft/core/BlockPos$MutableBlockPos I$ )M NHshouldSkipLocationSigned IP QR setWithOffsetL(Lnet/minecraft/core/Vec3i;III)Lnet/minecraft/core/BlockPos$MutableBlockPos; )T UV tryPlaceLeafù(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacer$FoliageSetter;Lnet/minecraft/util/RandomSource;Lnet/minecraft/world/level/levelgen/feature/TreeFeature;Lnet/minecraft/core/BlockPos;)Z )X YZplaceLeavesRowü(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacer$FoliageSetter;Lnet/minecraft/util/RandomSource;Lnet/minecraft/world/level/levelgen/feature/TreeFeature;Lnet/minecraft/core/BlockPos;IIZ)V \]^ _`net/minecraft/core/BlockPosbelow()Lnet/minecraft/core/BlockPos; bcd ef"net/minecraft/core/Direction$Plane HORIZONTAL$Lnet/minecraft/core/Direction$Plane; bh ijiterator()Ljava/util/Iterator; lmn opjava/util/IteratorhasNext()Z lr stnext()Ljava/lang/Object;vnet/minecraft/core/Direction ux yz getClockWise ()Lnet/minecraft/core/Direction; u| }~getAxisDirection.()Lnet/minecraft/core/Direction$AxisDirection; €�‚ ƒ„*net/minecraft/core/Direction$AxisDirectionPOSITIVE,Lnet/minecraft/core/Direction$AxisDirection; I† ‡ˆmoveN(Lnet/minecraft/core/Direction;I)Lnet/minecraft/core/BlockPos$MutableBlockPos; uŠ ‹ŒUPLnet/minecraft/core/Direction; IŽ ‡�M(Lnet/minecraft/core/Direction;)Lnet/minecraft/core/BlockPos$MutableBlockPos; ‘’“ ”•Unet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacer$FoliageSetterisSet (Lnet/minecraft/core/BlockPos;)Z u— ˜ŒDOWN )š ›œtryPlaceExtension'(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacer$FoliageSetter;Lnet/minecraft/util/RandomSource;Lnet/minecraft/world/level/levelgen/feature/TreeFeature;FLnet/minecraft/core/BlockPos;Lnet/minecraft/core/BlockPos$MutableBlockPos;)Z Iž Ÿ  distManhattan(Lnet/minecraft/core/Vec3i;)I¢+net/minecraft/world/level/block/LeavesBlock ¤¥¦ §¨net/minecraft/util/RandomSource nextFloat()Fª «¬test ()Ljava/util/function/Predicate; ®¯° ±²'net/minecraft/world/level/WorldGenLevelisStateAtPosition>(Lnet/minecraft/core/BlockPos;Ljava/util/function/Predicate;)Z ´µ¶ ·¸6net/minecraft/world/level/levelgen/feature/TreeFeature validTreePosP(Lnet/minecraft/world/level/LevelSimulatedReader;Lnet/minecraft/core/BlockPos;)Z ´º »¼foliageProvider()Lnet/minecraft/core/Holder; ¾¿À Átnet/minecraft/core/HoldervalueÃLnet/minecraft/world/level/levelgen/feature/stateproviders/BlockStateProvider ÂÅ ÆÇgetState›(Lnet/minecraft/world/level/LevelAccessor;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState; ÉÊË ÌÍEnet/minecraft/world/level/block/state/properties/BlockStateProperties WATERLOGGEDBLnet/minecraft/world/level/block/state/properties/BooleanProperty; ÏÐÑ ÒÓ0net/minecraft/world/level/block/state/BlockState hasProperty>(Lnet/minecraft/world/level/block/state/properties/Property;)Zª ®Ö ײisFluidAtPosition ÙÚÛ ÜÝjava/lang/BooleanvalueOf(Z)Ljava/lang/Boolean; Ïß àásetValuee(Lnet/minecraft/world/level/block/state/properties/Property;Ljava/lang/Comparable;)Ljava/lang/Object; ‘ã äåsetR(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)V çèé êë)net/minecraft/world/level/material/FluidsWATER1Lnet/minecraft/world/level/material/FlowingFluid; íîï ðñ-net/minecraft/world/level/material/FluidStateisSourceOfType-(Lnet/minecraft/world/level/material/Fluid;)Z Éó ôÍ PERSISTENT Ïö ÷øgetValueOrElsei(Lnet/minecraft/world/level/block/state/properties/Property;Ljava/lang/Comparable;)Ljava/lang/Comparable; Ùú ûp booleanValue ýþÿ /net/minecraft/core/registries/BuiltInRegistriesFOLIAGE_PLACER_TYPELnet/minecraft/core/Registry;  net/minecraft/core/Registry byNameCodec"()Lcom/mojang/serialization/Codec;    dispatch\(Ljava/util/function/Function;Ljava/util/function/Function;)Lcom/mojang/serialization/Codec; ) CODEC Lcom/mojang/serialization/Codec; SignaturekLcom/mojang/serialization/Codec;foliagePlacerPartsb(Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/Products$P2;CodeLineNumberTableLocalVariableTableinstance=Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;LocalVariableTypeTableBLcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;MethodParametersP(Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/Products$P2;Lnet/minecraft/util/valueproviders/IntProvider;Lnet/minecraft/util/valueproviders/IntProvider;>;a(Lnet/minecraft/util/valueproviders/IntProvider;Lnet/minecraft/util/valueproviders/IntProvider;)VthisILnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacer;typeO()Lnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacerType;R()Lnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacerType<*>;:(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacer$FoliageSetter;Lnet/minecraft/util/RandomSource;Lnet/minecraft/world/level/levelgen/feature/TreeFeature;ILnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacer$FoliageAttachment;II)Vlevel)Lnet/minecraft/world/level/WorldGenLevel; foliageSetterWLnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacer$FoliageSetter;random!Lnet/minecraft/util/RandomSource;tree8Lnet/minecraft/world/level/levelgen/feature/TreeFeature; treeHeightIfoliageAttachment[Lnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacer$FoliageAttachment; foliageHeight leafRadius](Lnet/minecraft/util/RandomSource;ILnet/minecraft/world/level/levelgen/feature/TreeFeature;)I foliageRadius%(Lnet/minecraft/util/RandomSource;I)I trunkHeightdxydz currentRadius doubleTrunkminDxminDzZ StackMapTableoriginLnet/minecraft/core/BlockPos;pos-Lnet/minecraft/core/BlockPos$MutableBlockPos;$placeLeavesRowWithHangingLeavesBelowþ(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacer$FoliageSetter;Lnet/minecraft/util/RandomSource;Lnet/minecraft/world/level/levelgen/feature/TreeFeature;Lnet/minecraft/core/BlockPos;IIZFF)V leavesAboveoffsetAlongEdgetoEdge offsetToEdge alongEdgehangingLeavesChanceFhangingLeavesExtensionChancelogPoschance isPersistent foliageState2Lnet/minecraft/world/level/block/state/BlockState;lambda$tryPlaceLeaf$12(Lnet/minecraft/world/level/material/FluidState;)Z fluidState/Lnet/minecraft/world/level/material/FluidState;lambda$tryPlaceLeaf$05(Lnet/minecraft/world/level/block/state/BlockState;)Zstatelambda$foliagePlacerParts$1z(Lnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacer;)Lnet/minecraft/util/valueproviders/IntProvider;plambda$foliagePlacerParts$0 SourceFileFoliagePlacer.java NestMembersdYnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacer$FoliageAttachmentBootstrapMethodsg&(Ljava/lang/Object;)Ljava/lang/Object;i )j ^\\m )n [\p(Ljava/lang/Object;)Zr )s XYYv )w TUUz ){ "#}˜(Lnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacer;)Lnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacerType; €�‚ ƒKnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacerType%()Lcom/mojang/serialization/MapCodec;…r(Lnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacerType;)Lcom/mojang/serialization/MapCodec;‡ ˆ‰Š ‹Œ"java/lang/invoke/LambdaMetafactory metafactoryÌ(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; InnerClasses�2com/mojang/serialization/codecs/RecordCodecBuilderInstance’!com/mojang/datafixers/Products$P2”com/mojang/datafixers/ProductsP2 FoliageSetterFoliageAttachmentMutableBlockPosPlane AxisDirectionœ5com/mojang/serialization/codecs/RecordCodecBuilder$MuMuŸ%java/lang/invoke/MethodHandles$Lookup¡java/lang/invoke/MethodHandlesLookup!)#,, w/*¸¹ º¶¸¹ º¶¶°+ / /&Y*·"*+µ(*,µ-±&' ()  !,, "#$4%• *+,-*-¶/¶2± ./\  !&'()*+,-./012/3/!&(*,.02345% &(*,.02324 *.,56I *´(+¹6¬6   ! *+ 7/ *71? *´-+¹6¬:  ! *+*GH*89:;<NHô D™&¸;d¸;¸A6¸;d¸;¸A6§¸;6¸;6*+¶E¬BEF(J.K5Mp =/%>/D !D*+D8/D9/D:/D;/D<?.=/5>/@(ý *89:;<YZW n™§6 »IY·K: t6   `£Lt6   `£7*-  ¶L™§   ¶OW+,- ¸SW„ §ÿÅ„ §ÿ°±. Q RS$T3UEVHXVYaTgSm\„ )>:/ S8/ n !n&'n()n*+n,-nABn;/n9/n<? b/ YCD @ @þIüúú!&(*,A;9<EF© ý*+,-¶W™§6 ¶[: »IY·K: ²a¶g:¹k™À¹qÀu:¶w:¶{²¦  `§6 d¶O¶…t¶…Wt6 `¢g, ²‰¶�¹�6 ²–¶�Wš§8+,-   ¸™š§$ ²–¶�W+,-   ¸™W ²‰¶�W„ ¶�W§ÿ•§ÿ<±^`bc$d-eKfRgiizj‚k†m•p¥q®s³t¶vÇwÊyÓzâ{ëmù}ü~À¥FG?‹nH/R§IŒi�J/K®KŒý !ý&'ý()ý*+ý,-ýABý;/ý9/ý<?ýLM ýNM à/ $ÙOB -ÐCD @p @ÿ)®‘¤´\\Ilý/uuAý#ü*ú ÿ )®‘¤´\\Ilú) &(*,A;9<LN ›œ¦&¶�¡¬,¹£•ž¬*+,-¸S¬� ‚„…‡H&&'&()&*+&,-&PM&OB&CD@ &(*,POC UVÿj*º©¹­6š *¸³š¬-¶¹¹½ÀÂ*,¹Ä:²È¶Î™ ²È*ºÔ¹Õ¸Ø¶ÞÀÏ:+¹â¬"‹Œ��6�A‘^“h”Hj&'j()j*+j,-jCB[Q?64RS@ üü>Ï&(*,C TU2*²æ¶ì¬‘ VW XY<*²ò¸Ø¶õÀÙ¶ù¬‹ ZS [\/*´-° ]! ^\/*´(° ]!_'3²ü¹ºº ¹ ³±`abc‘e>†fhk†flk†oqt†oux†fy|†f~„�J Ž�‘“•‘)– c)—I\˜ bu™@€uš@›Ž�ž ¢