Êþº¾Et  Anet/minecraft/world/level/levelgen/feature/rootplacers/RootPlacera(Lnet/minecraft/util/valueproviders/IntProvider;Lnet/minecraft/core/Holder;Ljava/util/Optional;)V   Inet/minecraft/world/level/levelgen/feature/rootplacers/MangroveRootPlacermangroveRootPlacementNLnet/minecraft/world/level/levelgen/feature/rootplacers/MangroveRootPlacement;  com/google/common/collect/Lists newArrayList()Ljava/util/ArrayList;  net/minecraft/core/BlockPosmutable/()Lnet/minecraft/core/BlockPos$MutableBlockPos;  +net/minecraft/core/BlockPos$MutableBlockPosgetY()I  ! "# canPlaceRootP(Lnet/minecraft/world/level/LevelSimulatedReader;Lnet/minecraft/core/BlockPos;)Z %&' ()net/minecraft/core/DirectionUPLnet/minecraft/core/Direction; + ,-moveM(Lnet/minecraft/core/Direction;)Lnet/minecraft/core/BlockPos$MutableBlockPos; / 01below()Lnet/minecraft/core/BlockPos; 345 67java/util/Listadd(Ljava/lang/Object;)Z 9:; <="net/minecraft/core/Direction$Plane HORIZONTAL$Lnet/minecraft/core/Direction$Plane; 9? @Aiterator()Ljava/util/Iterator; CDE FGjava/util/IteratorhasNext()Z CI JKnext()Ljava/lang/Object; M NOrelative=(Lnet/minecraft/core/Direction;)Lnet/minecraft/core/BlockPos; Q RS simulateRoots½(Lnet/minecraft/world/level/LevelSimulatedReader;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/Direction;Lnet/minecraft/core/BlockPos;Ljava/util/List;I)Z 3U VWaddAll(Ljava/util/Collection;)Z 3? Z [\ placeRootÁ(Lnet/minecraft/world/level/WorldGenLevel;Ljava/util/function/BiConsumer;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/levelgen/feature/TreeFeature;)V ^_` aLnet/minecraft/world/level/levelgen/feature/rootplacers/MangroveRootPlacement maxRootLength 3c dsize f ghpotentialRootPositions‹(Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/Direction;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;)Ljava/util/List; j kl distManhattan(Lnet/minecraft/core/Vec3i;)I ^n o maxRootWidth ^q rsrandomSkewChance()F uvw xsnet/minecraft/util/RandomSource nextFloat 3z {|of6(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List; 3~ {$(Ljava/lang/Object;)Ljava/util/List; u� ‚G nextBoolean !… †‡testk(Lnet/minecraft/world/level/levelgen/feature/rootplacers/MangroveRootPlacer;)Ljava/util/function/Predicate; ‰Š‹ Œ�.net/minecraft/world/level/LevelSimulatedReaderisStateAtPosition>(Lnet/minecraft/core/BlockPos;Ljava/util/function/Predicate;)Z… �Š‘'net/minecraft/world/level/WorldGenLevel ^“ ”•muddyRootsProvider()Lnet/minecraft/core/Holder; —˜™ šKnet/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; ¢ £¤getPotentiallyWaterloggedState³(Lnet/minecraft/world/level/LevelSimulatedReader;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/world/level/block/state/BlockState; ¦§¨ ©ªjava/util/function/BiConsumeraccept'(Ljava/lang/Object;Ljava/lang/Object;)V Z ­®¯ °±Enet/minecraft/world/level/levelgen/feature/rootplacers/RootPlacerTypeMANGROVE_ROOT_PLACERGLnet/minecraft/world/level/levelgen/feature/rootplacers/RootPlacerType; ^³ ´µ muddyRootsIn ()Lnet/minecraft/core/HolderSet; ·¸¹ º»0net/minecraft/world/level/block/state/BlockStateis!(Lnet/minecraft/core/HolderSet;)Z ^½ ¾µcanGrowThrough À ÁÂrootPlacerPartsb(Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/Products$P3; ^Ä ÅÆCODEC Lcom/mojang/serialization/Codec;Èmangrove_root_placement ÊËÌ ÍÎ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; ÚÛÜ ÝÞ!com/mojang/datafixers/Products$P3andF(Lcom/mojang/datafixers/kinds/App;)Lcom/mojang/datafixers/Products$P4;à Ñá(()Lcom/mojang/datafixers/util/Function4; ãäå Ñæ!com/mojang/datafixers/Products$P4r(Lcom/mojang/datafixers/kinds/Applicative;Lcom/mojang/datafixers/util/Function4;)Lcom/mojang/datafixers/kinds/App;Ð éêë ìí2com/mojang/serialization/codecs/RecordCodecBuildermapCodecB(Ljava/util/function/Function;)Lcom/mojang/serialization/MapCodec; ï Åð#Lcom/mojang/serialization/MapCodec;ROOT_WIDTH_LIMITI ConstantValueROOT_LENGTH_LIMIT SignaturepLcom/mojang/serialization/MapCodec;¯(Lnet/minecraft/util/valueproviders/IntProvider;Lnet/minecraft/core/Holder;Ljava/util/Optional;Lnet/minecraft/world/level/levelgen/feature/rootplacers/MangroveRootPlacement;)VCodeLineNumberTableLocalVariableTablethisKLnet/minecraft/world/level/levelgen/feature/rootplacers/MangroveRootPlacer; trunkOffsetY/Lnet/minecraft/util/valueproviders/IntProvider; rootProviderLnet/minecraft/core/Holder;aboveRootPlacementLjava/util/Optional;LocalVariableTypeTablekLnet/minecraft/core/Holder;aLjava/util/Optional;MethodParametersL(Lnet/minecraft/util/valueproviders/IntProvider;Lnet/minecraft/core/Holder;Ljava/util/Optional;Lnet/minecraft/world/level/levelgen/feature/rootplacers/MangroveRootPlacement;)V placeRootsÞ(Lnet/minecraft/world/level/WorldGenLevel;Ljava/util/function/BiConsumer;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/levelgen/feature/TreeFeature;)ZposLnet/minecraft/core/BlockPos;positionsInDirectionLjava/util/List;dirrootPoslevel)Lnet/minecraft/world/level/WorldGenLevel; rootSetterLjava/util/function/BiConsumer;random!Lnet/minecraft/util/RandomSource;origin trunkOrigintree8Lnet/minecraft/world/level/levelgen/feature/TreeFeature; rootPositions columnPos-Lnet/minecraft/core/BlockPos$MutableBlockPos;/Ljava/util/List;pLjava/util/function/BiConsumer; StackMapTable#6net/minecraft/world/level/levelgen/feature/TreeFeature/(Lnet/minecraft/world/level/WorldGenLevel;Ljava/util/function/BiConsumer;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/levelgen/feature/TreeFeature;)Z0Lnet/minecraft/world/level/LevelSimulatedReader; rootOriginlayerÜ(Lnet/minecraft/world/level/LevelSimulatedReader;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/Direction;Lnet/minecraft/core/BlockPos;Ljava/util/List;I)ZprevDirnextTowidthFª(Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/Direction;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;)Ljava/util/List; muddyRoots2Lnet/minecraft/world/level/block/state/BlockState;(Lnet/minecraft/world/level/WorldGenLevel;Ljava/util/function/BiConsumer;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/levelgen/feature/TreeFeature;)VtypeI()Lnet/minecraft/world/level/levelgen/feature/rootplacers/RootPlacerType;L()Lnet/minecraft/world/level/levelgen/feature/rootplacers/RootPlacerType<*>;lambda$placeRoot$05(Lnet/minecraft/world/level/block/state/BlockState;)Zslambda$canPlaceRoot$0statelambda$static$0`(Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/kinds/App;i=Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;lambda$static$1›(Lnet/minecraft/world/level/levelgen/feature/rootplacers/MangroveRootPlacer;)Lnet/minecraft/world/level/levelgen/feature/rootplacers/MangroveRootPlacement;c()V SourceFileMangroveRootPlacer.javaBootstrapMethods7G H 755K L 45N&(Ljava/lang/Object;)Ljava/lang/Object;P Q =>>T\(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;V W ùYù(Lnet/minecraft/util/valueproviders/IntProvider;Lnet/minecraft/core/Holder;Ljava/util/Optional;Lnet/minecraft/world/level/levelgen/feature/rootplacers/MangroveRootPlacement;)Lnet/minecraft/world/level/levelgen/feature/rootplacers/MangroveRootPlacer;[ \ 9::_ `ab cd"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; InnerClassesMutableBlockPosPlanei;com/mojang/serialization/codecs/RecordCodecBuilder$InstanceInstancelcom/mojang/datafixers/ProductsP3P4p%java/lang/invoke/MethodHandles$Lookuprjava/lang/invoke/MethodHandlesLookup!ñòóôõòóöÅð÷ø ùú„*+,-·*µ±û"# $ü4ýþÿ ÿ ÷   ú) ɸ :¶:¶¶¢*+¶ š¬²$¶*W§ÿÞ¶.¹2W²8¶>:  ¹B™M ¹HÀ%:  ¶L: ¸ : *+-   ¶P𬠹TW ¶L¹2W§ÿ¯¹X:  ¹B™ ¹HÀ: *+,- ¶Y§ÿ߬ûN(* +,#-%/12>5\6e7j9|:~=ˆ>—?šA¹BÄCÇEü„ e2  j- \;) ¹  ÉýþÉÉÉÉ É ÉÄ ½ j- É Ä!Jý 3 üCþ7%3ÿ �¦u"3üCú#÷$RSúg y*´¶]6Ÿ¹b¤¬*-,¶e:  ¹X:  ¹B™= ¹HÀ: *+ ¶ ™$ ¹2W*+, `¶Pš¬§ÿ¿¬û. J KLN*OIPSQ]RrStVwXüp I+  yýþy%yy y)y& yy'ò paò*Og y*Og !üý3Cû@ú&'÷(ghúo Œ+¶.:+,¶L:+¶i6*´¶m6*´¶p8 d¤)£"-¹t –œ¶.¸y§¸}°¤ ¸}°-¹t –œ ¸}°-¹€™ ¸}§¸}°û2 \] ^_`'c7dVh]icmonuqüf ŒýþŒ  Œ))ŒŒ& †0  * w+ònoò'er, !-ÿP %uD3 D3 )&÷-"#úi*+,·ƒš+,*º„¹ˆ™§¬ûvü ýþ%  !@  [\úáK+*ºŽ¹�™1*´¶’¹–À›+-¹�:,*+¶¡¹¥§*+,-·«±û{|+}<~?J�üH+./KýþKKKK  K K !?  ÷012ú.²¬°û…ü ýþ÷345ú@ +*´¶²¶¶¬û{ü ýþ 6/75ú@ +*´¶¼¶¶¬ûvü ýþ 8/ 9:ú]#*¸¿²Ãǹɺ϶ӶÙ*ºß¶â°û "ü #;< =>ú/*´°ûü ?þ@Aú$ ºç¸è³î±ûBCD4^EFI^EJI^MOR^SUX^MZ]e2f 9%g@héjÚkmãknoqs