Êþº¾E�  Cnet/minecraft/world/level/levelgen/feature/trunkplacers/TrunkPlacer(III)V   Gnet/minecraft/world/level/levelgen/feature/trunkplacers/TrunkPlacerTypeFANCY_TRUNK_PLACERILnet/minecraft/world/level/levelgen/feature/trunkplacers/TrunkPlacerType;Hnet/minecraft/world/level/levelgen/feature/trunkplacers/FancyTrunkPlacer?ãÆ§ï�²-  net/minecraft/util/Mthfloor(D)I  net/minecraft/core/BlockPosbelow()Lnet/minecraft/core/BlockPos;   placeBelowTrunkBlockÁ(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?ö¬1&é@*@ ()* +,java/lang/Mathpow(DD)D (. /0min(II)I 2 34getY()I 678 9:com/google/common/collect/Lists newArrayList()Ljava/util/ArrayList;<Vnet/minecraft/world/level/levelgen/feature/trunkplacers/FancyTrunkPlacer$FoliageCoords > ?@above (I)Lnet/minecraft/core/BlockPos; ;B C!(Lnet/minecraft/core/BlockPos;I)V EFG HIjava/util/Listadd(Ljava/lang/Object;)Z K LM treeShape(II)F OPQ RSnet/minecraft/util/RandomSource nextFloat()F?Ôýó¶E¡Ë@ !ûTD- (Y Z[sin(D)D?à (_ `[cos b cdoffset"(III)Lnet/minecraft/core/BlockPos; f ghmakeLimbß(Lnet/minecraft/world/level/WorldGenLevel;Ljava/util/function/BiConsumer;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/BlockPos;ZLnet/minecraft/world/level/levelgen/feature/TreeFeature;)Z j k4getX m n4getZ (p q[sqrt?ØbMÒñ©ü  v wx makeBranchesÒ(Lnet/minecraft/world/level/WorldGenLevel;Ljava/util/function/BiConsumer;Lnet/minecraft/util/RandomSource;ILnet/minecraft/core/BlockPos;Ljava/util/List;Lnet/minecraft/world/level/levelgen/feature/TreeFeature;)V Ez {|iterator()Ljava/util/Iterator; ~€ �‚java/util/IteratorhasNext()Z ~„ …†next()Ljava/lang/Object; ;ˆ ‰4 getBranchBase ‹ Œ� trimBranches(II)Z ;� �‘ attachment[Lnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacer$FoliageAttachment; “”• –—java/util/Objectsequals'(Ljava/lang/Object;Ljava/lang/Object;)Z ™ š›getSteps (Lnet/minecraft/core/BlockPos;)I? ž Ÿ(F)I¡ ¢£apply£(Lnet/minecraft/world/level/levelgen/feature/trunkplacers/FancyTrunkPlacer;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/BlockPos;)Ljava/util/function/Function; ¥ ¦§placeLogÞ(Lnet/minecraft/world/level/WorldGenLevel;Ljava/util/function/BiConsumer;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/levelgen/feature/TreeFeature;Ljava/util/function/Function;)Z © ª«isFreeI(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/core/BlockPos;)Z ­ ®¯abs(I)I (± ²0max ´µ¶ ·¸!net/minecraft/core/Direction$AxisY#Lnet/minecraft/core/Direction$Axis; (­ ´» ¼¸X ´¾ ¿¸Z?É™™™™™š ÃÄÅ ÆYnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacer$FoliageAttachmentpos È –I>™™š¿€ Ì qÍ(F)F (Ï ®Í ÑÒÓ ÔÕ2net/minecraft/world/level/block/RotatedPillarBlockAXIS?Lnet/minecraft/world/level/block/state/properties/EnumProperty; × ØÙ getLogAxis_(Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/BlockPos;)Lnet/minecraft/core/Direction$Axis; ÛÜÝ Þß0net/minecraft/world/level/block/state/BlockState trySetValuee(Lnet/minecraft/world/level/block/state/properties/Property;Ljava/lang/Comparable;)Ljava/lang/Object; á âãtrunkPlacerPartsb(Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/Products$P3;å ¢æ(()Lcom/mojang/datafixers/util/Function3; èéê ¢ë!com/mojang/datafixers/Products$P3r(Lcom/mojang/datafixers/kinds/Applicative;Lcom/mojang/datafixers/util/Function3;)Lcom/mojang/datafixers/kinds/App;í ¢î()Ljava/util/function/Function; ðñò óô2com/mojang/serialization/codecs/RecordCodecBuildermapCodecB(Ljava/util/function/Function;)Lcom/mojang/serialization/MapCodec; ö ÷øCODEC#Lcom/mojang/serialization/MapCodec; SignatureoLcom/mojang/serialization/MapCodec;TRUNK_HEIGHT_SCALED ConstantValueCLUSTER_DENSITY_MAGIC BRANCH_SLOPEBRANCH_LENGTH_MAGICCodeLineNumberTableLocalVariableTablethisJLnet/minecraft/world/level/levelgen/feature/trunkplacers/FancyTrunkPlacer; baseHeightI heightRandA heightRandBMethodParameterstypeK()Lnet/minecraft/world/level/levelgen/feature/trunkplacers/TrunkPlacerType;N()Lnet/minecraft/world/level/levelgen/feature/trunkplacers/TrunkPlacerType<*>; placeTrunkÑ(Lnet/minecraft/world/level/WorldGenLevel;Ljava/util/function/BiConsumer;Lnet/minecraft/util/RandomSource;ILnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/levelgen/feature/TreeFeature;)Ljava/util/List;dxdz branchHeight branchTopcheckBranchBaseLnet/minecraft/core/BlockPos; widthScaleradiusanglexz checkStartcheckEndiF foliageCoordXLnet/minecraft/world/level/levelgen/feature/trunkplacers/FancyTrunkPlacer$FoliageCoords;level)Lnet/minecraft/world/level/WorldGenLevel; trunkSetterLjava/util/function/BiConsumer;random!Lnet/minecraft/util/RandomSource; treeHeightorigintree8Lnet/minecraft/world/level/levelgen/feature/TreeFeature;assumedFoliageHeightheight trunkHeightfoliageDensity clustersPerYtrunkTop relativeY foliageCoordsLjava/util/List; attachmentsLocalVariableTypeTablepLjava/util/function/BiConsumer;jLjava/util/List;mLjava/util/List; StackMapTable;'net/minecraft/world/level/WorldGenLevel=java/util/function/BiConsumer?6net/minecraft/world/level/levelgen/feature/TreeFeature(Lnet/minecraft/world/level/WorldGenLevel;Ljava/util/function/BiConsumer;Lnet/minecraft/util/RandomSource;ILnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/levelgen/feature/TreeFeature;)Ljava/util/List;blockPosstartPosendPosdoPlacedeltastepsdy0(Lnet/minecraft/world/level/WorldGenLevel;Ljava/util/function/BiConsumer;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/BlockPos;ZLnet/minecraft/world/level/levelgen/feature/TreeFeature;)ZabsXabsYabsZaxisxdiffzdiffmaxdifflocalY branchBase baseCoordendCoord}(Lnet/minecraft/world/level/WorldGenLevel;Ljava/util/function/BiConsumer;Lnet/minecraft/util/RandomSource;ILnet/minecraft/core/BlockPos;Ljava/util/List;Lnet/minecraft/world/level/levelgen/feature/TreeFeature;)Vyadjacentdistancelambda$makeLimb$0 (Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/world/level/block/state/BlockState;state2Lnet/minecraft/world/level/block/state/BlockState;lambda$static$0`(Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/kinds/App;=Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;()V SourceFileFancyTrunkPlacer.java NestMembersBootstrapMethodsf&(Ljava/lang/Object;)Ljava/lang/Object;h i XYkf(Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/world/level/block/state/BlockState;mJ(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;o q…(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;)Lnet/minecraft/world/level/levelgen/feature/trunkplacers/FancyTrunkPlacer;s t \]]w xyz {|"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 FoliageCoords€Gnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacerFoliageAttachmentƒnet/minecraft/core/DirectionAxis†;com/mojang/serialization/codecs/RecordCodecBuilder$InstanceInstance‰com/mojang/datafixers/ProductsP3Œ%java/lang/invoke/MethodHandles$LookupŽjava/lang/invoke/MethodHandlesLookup! ÷øùúûüýþüý!ÿüýrüýT T*·± *     .²°" ù ·$þ6`6‡k¸6 +,-¶¸9 !‡k#o%¸'c¸¸-6 ¶1 `6 d6¸5:»;Y¶= ·A¹DW› ¸J8 –œ§6 ¢ý9�k-¹N�Tck9-¹N j�Vk9¸Xk\c9¸^k\c9¸d¸¶a:¶=:*+,-¶e™ˆ¶i¶id6¶l¶ld6¶1‡hh`‡¸orkg9   ‡—ž § Ž6"»Y¶i"¶l·t:#*+,-#¶e™»;Y#¶1·A¹DW„§ÿ„ÿ§þá*+,- ¶=¶eW*+,-¶u¸5:¹y:¹}™3¹ƒÀ;:*¶‡¶1d¶Š™´Ž¹DW§ÿɰ¢('( )+".%/A1K2Q4V5n7s8|9ƒ:†=�>“?¦@µBÃCÑEæFîIÿK LN5OHP]SnU„=Š7�Z¤[³]¸^×_ë`øbûc8 xk5Oü H<"]'#“ñü¦ÞüµÏüÃÁüѳüæžî–‰|L×! þþ!"þ#$þ%&þ'þ(þ)*û+ õ,é- %Ù.ü A½/ K³0 Q­1V¨23¸F435 þ#6V¨27¸F489› ÿn :<O>Eüüÿ¹ :<O>EBÿ= :<O>Eùý0E~6ú !#%'()ù@gh÷ ½š¸’™¬¶it¶1t¶lt¶a:*¶˜6 ¶i† †n8 ¶1† †n8 ¶l† †n8 6   £^œ † jb¸�œ † jb¸�œ † jb¸�¶a:™*+,-*º ¶¤W§*+¶¨š¬„ §ÿ¡¬>hil*n2p>qJrVt`u‹v�w©z³{µt»˜‹*AYb ½½!"½#$½%&½B½C½D¿½)**“E2‹F > JsG Vg 5 ½#694ÿG :<O>üOú ú !#%BCD)ùHš›‚$+¶i¸¬=+¶1¸¬>+¶l¸¬6¸°¸°¬ƒ„…‡4$$ÆIJ K ÆØÙçB²³N,¶i+¶id¸¹6,¶l+¶ld¸¹6¸°6ž  ²ºN§²½N-°& ‹Œ� Ž)�.‘5’<”@—HBBBBA>L¸0M "N)O9ÿ< ´ BAŒ�[‡‡Àk—›§¬› ,P9@ ,PwxK u¹y:¹}™d¹ƒÀ;:  ¶‡6 »Y¶i ¶l·t:   ´Ž¶Â¶Çš)* ¶1d¶Š™*+,-  ´Ž¶Â¶eW§ÿ˜±Ÿ &¡;£\¤q¦t§p &KQ ;6R RS uu!"u#$u%&u,u(u23u)*5u#6u279ü ~ûgú !#%,(2)ùT LMÇA††Éj–œÊ®† nE$†fF$$j%%jf¸Ë8% •š $8§%¸Î$•› ®œj®* « ¬¯°²$³*´0µ9¶;¹4A,AU.)V$W9 þ!  ,UXYY-²Ð*+,¶Ö¶ÚÀÛ°w*BAZ[ \]8*¸à*ºä¶ç° ^_`$ ºì¸ï³õ±abc;d vegjvlnpveru}2; ~ Ã�´‚„@…ð‡èˆŠ‹��