Êþº¾Eï applyF(Lcom/mojang/datafixers/util/Function10;)Ljava/util/function/Function;  2com/mojang/serialization/codecs/RecordCodecBuildermapCodecB(Ljava/util/function/Function;)Lcom/mojang/serialization/MapCodec;  java/lang/Object()V  Anet/minecraft/world/level/levelgen/feature/VegetationPatchFeature replaceableLnet/minecraft/core/HolderSet;   groundStateLnet/minecraft/core/Holder;  vegetationFeature  !surface:Lnet/minecraft/world/level/levelgen/placement/CaveSurface; # $%depth/Lnet/minecraft/util/valueproviders/IntProvider; ' ()extraBottomBlockChanceF + ,- verticalRangeI / 0)vegetationChance 2 3%xzRadius 5 6)extraEdgeColumnChance 8 9:CODEC#Lcom/mojang/serialization/MapCodec; <=> ?@-net/minecraft/util/valueproviders/IntProvidersample$(Lnet/minecraft/util/RandomSource;)IB CDtestc(Lnet/minecraft/world/level/levelgen/feature/VegetationPatchFeature;)Ljava/util/function/Predicate; F GHplaceGroundPatch˜(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;Ljava/util/function/Predicate;II)Ljava/util/Set; J KLdistributeVegetationŒ(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/world/level/chunk/ChunkGenerator;Lnet/minecraft/util/RandomSource;Ljava/util/Set;)V NOP QR java/util/SetisEmpty()Z TUV WXnet/minecraft/core/BlockPosmutable/()Lnet/minecraft/core/BlockPos$MutableBlockPos; ZU[+net/minecraft/core/BlockPos$MutableBlockPos ]^_ `a8net/minecraft/world/level/levelgen/placement/CaveSurface getDirection ()Lnet/minecraft/core/Direction; cde fanet/minecraft/core/Direction getOppositehjava/util/HashSet g klm nonet/minecraft/util/RandomSource nextFloat()F Zq rs setWithOffsetL(Lnet/minecraft/core/Vec3i;III)Lnet/minecraft/core/BlockPos$MutableBlockPos;u Cv ()Ljava/util/function/Predicate; xyz {|'net/minecraft/world/level/WorldGenLevelisStateAtPosition>(Lnet/minecraft/core/BlockPos;Ljava/util/function/Predicate;)Z Z~ €moveM(Lnet/minecraft/core/Direction;)Lnet/minecraft/core/BlockPos$MutableBlockPos;u Zƒ r„g(Lnet/minecraft/core/Vec3i;Lnet/minecraft/core/Direction;)Lnet/minecraft/core/BlockPos$MutableBlockPos; x† ‡ˆ getBlockStateQ(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState; xŠ ‹Œ isEmptyBlock (Lnet/minecraft/core/BlockPos;)Z Ž�� ‘’0net/minecraft/world/level/block/state/BlockState isFaceSturdye(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/Direction;)Z Z” •– immutable()Lnet/minecraft/core/BlockPos; ˜ ™š placeGround™(Lnet/minecraft/world/level/WorldGenLevel;Ljava/util/function/Predicate;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos$MutableBlockPos;I)Z Nœ �žadd(Ljava/lang/Object;)Z N  ¡¢iterator()Ljava/util/Iterator; ¤¥¦ §Rjava/util/IteratorhasNext ¤© ª«next()Ljava/lang/Object; ­ ®¯placeVegetationš(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/world/level/chunk/ChunkGenerator;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;)Z ±²³ ´«net/minecraft/core/Holdervalue¶:net/minecraft/world/level/levelgen/placement/PlacedFeature T¸ ¹ºrelative=(Lnet/minecraft/core/Direction;)Lnet/minecraft/core/BlockPos; µ¼ ½¯place¿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; ŽÅ ÆÇgetBlock)()Lnet/minecraft/world/level/block/Block; ŽÉ Êžis ÌÍÎ Cžjava/util/function/PredicateÐ%net/minecraft/world/level/block/Block xÒ ÓÔsetBlockS(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;I)Z ŽÖ ×RisAir ŽÙ ÊÚ!(Lnet/minecraft/core/HolderSet;)Z ÜÝÞ ßà(net/minecraft/core/registries/RegistriesBLOCK%Lnet/minecraft/resources/ResourceKey; âãä åæ2net/minecraft/core/registries/codec/RegistryCodecs holderSetG(Lnet/minecraft/resources/ResourceKey;)Lcom/mojang/serialization/Codec; éêë ìícom/mojang/serialization/CodecfieldOf7(Ljava/lang/String;)Lcom/mojang/serialization/MapCodec;ï ð()Ljava/util/function/Function; òóô õö!com/mojang/serialization/MapCodec forGetterS(Ljava/util/function/Function;)Lcom/mojang/serialization/codecs/RecordCodecBuilder; ¾ø 9ù Lcom/mojang/serialization/Codec;û ground_stateï µøÿvegetation_featureï ]ø ï   .net/minecraft/util/valueproviders/IntProviderscodec$(II)Lcom/mojang/serialization/Codec;$ï é  floatRange$(FF)Lcom/mojang/serialization/Codec;extra_bottom_block_chance ï é  intRangevertical_range ïvegetation_chance ï ø xz_radius ï!extra_edge_column_chance ï $%& '(;com/mojang/serialization/codecs/RecordCodecBuilder$Instancegroupp(Lcom/mojang/datafixers/kinds/App;Lcom/mojang/datafixers/kinds/App;Lcom/mojang/datafixers/kinds/App;Lcom/mojang/datafixers/kinds/App;Lcom/mojang/datafixers/kinds/App;Lcom/mojang/datafixers/kinds/App;Lcom/mojang/datafixers/kinds/App;Lcom/mojang/datafixers/kinds/App;Lcom/mojang/datafixers/kinds/App;Lcom/mojang/datafixers/kinds/App;)Lcom/mojang/datafixers/Products$P10; *+, -"com/mojang/datafixers/Products$P10s(Lcom/mojang/datafixers/kinds/Applicative;Lcom/mojang/datafixers/util/Function10;)Lcom/mojang/datafixers/kinds/App; /01 23java/lang/FloatvalueOf(F)Ljava/lang/Float; 567 28java/lang/Integer(I)Ljava/lang/Integer;: ;)()Lcom/mojang/datafixers/util/Function10; = >? makeCodecL(Lcom/mojang/datafixers/util/Function10;)Lcom/mojang/serialization/MapCodec;A2net/minecraft/world/level/levelgen/feature/Feature SignaturehLcom/mojang/serialization/MapCodec;GLnet/minecraft/core/HolderSet;kLnet/minecraft/core/Holder;YLnet/minecraft/core/Holder;CodeLineNumberTableLocalVariableTable constructor'Lcom/mojang/datafixers/util/Function10;LocalVariableTypeTableLcom/mojang/datafixers/util/Function10;Lnet/minecraft/core/Holder;Lnet/minecraft/core/Holder;Lnet/minecraft/world/level/levelgen/placement/CaveSurface;Lnet/minecraft/util/valueproviders/IntProvider;Ljava/lang/Float;Ljava/lang/Integer;Ljava/lang/Float;Lnet/minecraft/util/valueproviders/IntProvider;Ljava/lang/Float;TT;>;MethodParameters†(Lcom/mojang/datafixers/util/Function10;Lnet/minecraft/core/Holder;Lnet/minecraft/core/Holder;Lnet/minecraft/world/level/levelgen/placement/CaveSurface;Lnet/minecraft/util/valueproviders/IntProvider;Ljava/lang/Float;Ljava/lang/Integer;Ljava/lang/Float;Lnet/minecraft/util/valueproviders/IntProvider;Ljava/lang/Float;TT;>;)Lcom/mojang/serialization/MapCodec;ó(Lnet/minecraft/core/HolderSet;Lnet/minecraft/core/Holder;Lnet/minecraft/core/Holder;Lnet/minecraft/world/level/levelgen/placement/CaveSurface;Lnet/minecraft/util/valueproviders/IntProvider;FIFLnet/minecraft/util/valueproviders/IntProvider;F)VthisCLnet/minecraft/world/level/levelgen/feature/VegetationPatchFeature;ª(Lnet/minecraft/core/HolderSet;Lnet/minecraft/core/Holder;Lnet/minecraft/core/Holder;Lnet/minecraft/world/level/levelgen/placement/CaveSurface;Lnet/minecraft/util/valueproviders/IntProvider;FIFLnet/minecraft/util/valueproviders/IntProvider;F)V%()Lcom/mojang/serialization/MapCodec;k()Lcom/mojang/serialization/MapCodec<+Lnet/minecraft/world/level/levelgen/feature/VegetationPatchFeature;>;level)Lnet/minecraft/world/level/WorldGenLevel;chunkGenerator0Lnet/minecraft/world/level/chunk/ChunkGenerator;random!Lnet/minecraft/util/RandomSource;originLnet/minecraft/core/BlockPos;xRadiuszRadiusLjava/util/Set;.Ljava/util/Set; StackMapTable groundPos groundPlacedZisZEdgeisEdgeisCornerisEdgeButNotCorneroffset belowState2Lnet/minecraft/world/level/block/state/BlockState;dzisXEdgedxLjava/util/function/Predicate;pos-Lnet/minecraft/core/BlockPos$MutableBlockPos;belowPosinwardsLnet/minecraft/core/Direction;outwardsRLjava/util/function/Predicate;ë(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;Ljava/util/function/Predicate;II)Ljava/util/Set; surfacePos generator«(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/world/level/chunk/ChunkGenerator;Lnet/minecraft/util/RandomSource;Ljava/util/Set;)V vegetationPos stateToPlaceiÍ(Lnet/minecraft/world/level/WorldGenLevel;Ljava/util/function/Predicate;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos$MutableBlockPos;I)Zlambda$placeGroundPatch$05(Lnet/minecraft/world/level/block/state/BlockState;)Zslambda$place$0lambda$makeCodec$0‡(Lcom/mojang/datafixers/util/Function10;Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/kinds/App;=Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;lambda$makeCodec$10V(Lnet/minecraft/world/level/levelgen/feature/VegetationPatchFeature;)Ljava/lang/Float;flambda$makeCodec$9t(Lnet/minecraft/world/level/levelgen/feature/VegetationPatchFeature;)Lnet/minecraft/util/valueproviders/IntProvider;lambda$makeCodec$8lambda$makeCodec$7X(Lnet/minecraft/world/level/levelgen/feature/VegetationPatchFeature;)Ljava/lang/Integer;lambda$makeCodec$6lambda$makeCodec$5lambda$makeCodec$4(Lnet/minecraft/world/level/levelgen/feature/VegetationPatchFeature;)Lnet/minecraft/world/level/levelgen/placement/CaveSurface;lambda$makeCodec$3`(Lnet/minecraft/world/level/levelgen/feature/VegetationPatchFeature;)Lnet/minecraft/core/Holder;lambda$makeCodec$2lambda$makeCodec$1c(Lnet/minecraft/world/level/levelgen/feature/VegetationPatchFeature;)Lnet/minecraft/core/HolderSet; SourceFileVegetationPatchFeature.javaBootstrapMethods�&(Ljava/lang/Object;)Ljava/lang/Object;Ÿ   „…¢`(Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/kinds/App;ž¥ ¦ ƒ��© ªÖ«Cnet/minecraft/world/level/block/state/BlockBehaviour$BlockStateBase­ ® €�° ± –——´ µ •””¸ ¹ “”» ¼ ‘’’¿ À �‹‹à Ä �ˆˆÇ È �ŽŽË Ì ŒˆÎ Ï Š‹Ñ Ò ‡ˆÔÈ(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;Ö × PÙw(Lnet/minecraft/core/HolderSet;Lnet/minecraft/core/Holder;Lnet/minecraft/core/Holder;Lnet/minecraft/world/level/levelgen/placement/CaveSurface;Lnet/minecraft/util/valueproviders/IntProvider;Ljava/lang/Float;Ljava/lang/Integer;Ljava/lang/Float;Lnet/minecraft/util/valueproviders/IntProvider;Ljava/lang/Float;)Lnet/minecraft/world/level/levelgen/feature/VegetationPatchFeature;Û ÜÝÞ ßà"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; InnerClassesMutableBlockPosInstanceåcom/mojang/datafixers/ProductsP10è4net/minecraft/world/level/block/state/BlockBehaviourBlockStateBaseë%java/lang/invoke/MethodHandles$Lookupíjava/lang/invoke/MethodHandlesLookup! @ 9:BCBDBEBF !$%(),-0)3%6) >?GF *º¸°HI  JKL  JMNJBOPG >*· *+µ*,µ*-µ*µ*µ"*µ&*µ**µ.* µ1* µ4±H2 EF GHIJK%L+M1N7O=PIp >QR>>>> !>$%>()>,->0)>3% >6) L >D>E>FN)  $(,036BSTG.²7°HTI QRBU½¯GíI*´1-¹;`6*´1-¹;`6*+-*ºA¶E:*+,-¶I¹Mš§¬HYZ\0]9_IRIQRIVWIXYIZ[I\];^--_-0 `L 0 ab þGN@NVXZ\GHGX¶-¶S:¶Y:*´¶\:  ¶b: »gY·i: t6  £„ tŸ   §6 t6£\tŸ  §6 š™§6 ™ ™§6™ š§6š™*´4 •™ú,¹j*´4•ž§é- ¶pW6+ºt¹w™*´*¢ ¶}W„§ÿÜ6+º�¹w™*´*¢ ¶}W„§ÿÜ*´¶\¶‚W+¹…:+¹‰™e+*´¶\¶b¶�™P*´",¹;*´& •ž,¹j*´&–œ§`6¶“:*+,¶—6™  ¹›W„§þ£„ §þ{ °HŠ"cd efg&h2iHjTkjl{mŒn�o¾pÁrÍsÐtéuñv÷xúyz{!~0:€Z�ƒ‚Šƒ˜„�…§j­h³ŠIòƒ$$-Šc]˜dej=fe{,geŒhe� ieÐ×j-:mklM`m-Hene +ˆo- ¶QR¶VW¶Z[¶\]¶p¶^-¶_-°qr ©sr tu ™vu &� ` L¶w&� a bìÿ+ xkTÌZZccN@ý@ü @ü@ü@ü%ü&&ÿ]xkTÌZZccNŽÿxkTÌZZccNŽÿ&xkTÌZZccNùúNVZ\^_BxKLGÔD¹Ÿ:¹£™3¹¨ÀT:*´. •ž-¹j*´.–œ *+,-¶¬W§ÿɱHŽ�6�@’C“I>!y]DQRDVWDzYDZ[D `L D ab ü ¤6úNVzZ B{®¯Gt"*´¹°Àµ+,-*´¶\¶b¶·¶»¬H–I4"QR"VW"zY"Z["|]NVzZ|™šGE r6¢i*´¹°À¾+-¹À:+¹…:¶Ä¶È™§2,¹Ë𙧬+¹ÑW*´¶\¶}W„§ÿ–¬H. š ›!œ+�8ž;¡F¢Q¥]¦jšp¨I\ !I}l+?klm~-rQRrVWrprZ[rsrr$-L rwbüý7ŽŽ@ùúNVZs$B €�GB *¶Õš§¬HyI  ‚lb @ƒ�G= +*´¶Ø¬H\I QR ‚l „…G> Ö+²Û¸áç¹èºî¶ñ²÷ú¹èºü¶ñ²ýþ¹èº¶ñ²¹èº¶ñ€¸ ¹èº ¶ñ ¸ ¹èº¶ñ¸¹èº¶ñ ¸ ¹èº¶ñ²¹èº¶ñ ¸  ¹èº"¶ñ¶#+*¶)°H: -!@"Q#f$}%’&«'º(ÍÒ)ÕIÖJKÖ~† ‡ˆG2*´4¸.°H(I ‰R Š‹G/*´1°H'I ‰R ŒˆG2*´.¸.°H&I ‰R �ŽG2*´*¸4°H%I ‰R �ˆG2*´&¸.°H$I ‰R �‹G/*´"°H#I ‰R ‘’G/*´°H"I ‰R “”G/*´°H!I ‰R •”G/*´°H I ‰R –—G/*´°HI ‰R˜G$ º9¸<³7±H,™š›˜Úœž¡Ú£¤§Ú£¨§Ú£¬§Úœ¯²Úœ³¶Úœ·¶Úœº½Úœ¾ÁÚœÂÅÚœÆÉÚœÊÅÚœÍÁÚœÐÅÚÓÕØá*ZTâ $ã*äæªçé êìî