Êþº¾EÄ  Cnet/minecraft/world/level/levelgen/feature/trunkplacers/TrunkPlacer(III)V   Inet/minecraft/world/level/levelgen/feature/trunkplacers/CherryTrunkPlacer branchCount/Lnet/minecraft/util/valueproviders/IntProvider;   branchHorizontalLength  branchStartOffsetFromTop.Lnet/minecraft/util/valueproviders/UniformInt;  ,net/minecraft/util/valueproviders/UniformInt minInclusive()I   maxInclusive   of2(II)Lnet/minecraft/util/valueproviders/UniformInt; " #secondBranchStartOffsetFromTop % & branchEndOffsetFromTop ()* +,Gnet/minecraft/world/level/levelgen/feature/trunkplacers/TrunkPlacerTypeCHERRY_TRUNK_PLACERILnet/minecraft/world/level/levelgen/feature/trunkplacers/TrunkPlacerType; ./0 12net/minecraft/core/BlockPosbelow()Lnet/minecraft/core/BlockPos; 4 56placeBelowTrunkBlockÁ(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 8 9:sample$(Lnet/minecraft/util/RandomSource;)I <=> ?@java/lang/Mathmax(II)I B8C-net/minecraft/util/valueproviders/IntProvider .E FGabove (I)Lnet/minecraft/core/BlockPos; I JKplaceLogÁ(Lnet/minecraft/world/level/WorldGenLevel;Ljava/util/function/BiConsumer;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/levelgen/feature/TreeFeature;)ZMjava/util/ArrayList LO P()VRYnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacer$FoliageAttachment QT U"(Lnet/minecraft/core/BlockPos;IZ)V WXY Z[java/util/Listadd(Ljava/lang/Object;)Z]+net/minecraft/core/BlockPos$MutableBlockPos \O `ab cd"net/minecraft/core/Direction$Plane HORIZONTAL$Lnet/minecraft/core/Direction$Plane; `f ghgetRandomDirectionA(Lnet/minecraft/util/RandomSource;)Lnet/minecraft/core/Direction;j klapply=(Lnet/minecraft/core/Direction;)Ljava/util/function/Function; n opgenerateBranch†(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/function/Function;Lnet/minecraft/core/Direction;IZLnet/minecraft/core/BlockPos$MutableBlockPos;)Lnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacer$FoliageAttachment; rst uvnet/minecraft/core/Direction getOpposite ()Lnet/minecraft/core/Direction; \x yzsetI(Lnet/minecraft/core/Vec3i;)Lnet/minecraft/core/BlockPos$MutableBlockPos; r| }~UPLnet/minecraft/core/Direction; \€ �‚moveN(Lnet/minecraft/core/Direction;I)Lnet/minecraft/core/BlockPos$MutableBlockPos; .„ …†relative>(Lnet/minecraft/core/Direction;I)Lnet/minecraft/core/BlockPos; \ˆ �‰M(Lnet/minecraft/core/Direction;)Lnet/minecraft/core/BlockPos$MutableBlockPos; ‹ JŒÞ(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 .Ž �getY \Ž r’ “~DOWN \• –— distManhattan(Lnet/minecraft/core/Vec3i;)I <™ š›abs(I)I �žŸ  ¡net/minecraft/util/RandomSource nextFloat()F £¤¥ ¦§java/util/function/Functionidentity()Ljava/util/function/Function; .© F2 «¬­ ®¯2net/minecraft/world/level/block/RotatedPillarBlockAXIS?Lnet/minecraft/world/level/block/state/properties/EnumProperty; r± ²³getAxis%()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; ¿ÀÁ ÂÃ.net/minecraft/util/valueproviders/IntProviderscodec$(II)Lcom/mojang/serialization/Codec;Å branch_count ÇÈÉ ÊËcom/mojang/serialization/CodecfieldOf7(Ljava/lang/String;)Lcom/mojang/serialization/MapCodec;Í k§ ÏÐÑ ÒÓ!com/mojang/serialization/MapCodec forGetterS(Ljava/util/function/Function;)Lcom/mojang/serialization/codecs/RecordCodecBuilder;Õbranch_horizontal_lengthÍ Ø ÙÚBRANCH_START_CODEC Lcom/mojang/serialization/Codec; ¿Ü ÝÞ validateCodecD(IILcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec;àbranch_start_offset_from_topÍãbranch_end_offset_from_topÍ æçè éê;com/mojang/serialization/codecs/RecordCodecBuilder$Instancegroup©(Lcom/mojang/datafixers/kinds/App;Lcom/mojang/datafixers/kinds/App;Lcom/mojang/datafixers/kinds/App;Lcom/mojang/datafixers/kinds/App;)Lcom/mojang/datafixers/Products$P4; ìíî ïð!com/mojang/datafixers/Products$P3andH(Lcom/mojang/datafixers/Products$P4;)Lcom/mojang/datafixers/Products$P7;ò kó(()Lcom/mojang/datafixers/util/Function7; õö÷ kø!com/mojang/datafixers/Products$P7r(Lcom/mojang/datafixers/kinds/Applicative;Lcom/mojang/datafixers/util/Function7;)Lcom/mojang/datafixers/kinds/App;ú ûüget()Ljava/util/function/Supplier; þÿ #com/mojang/serialization/DataResulterrorD(Ljava/util/function/Supplier;)Lcom/mojang/serialization/DataResult; þ success9(Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;KNeed at least 2 blocks variation for the branch starts to fit both branches     MAP_CODEC#Lcom/mojang/serialization/MapCodec; Ï Â"()Lcom/mojang/serialization/Codec;Í Ç validate?(Ljava/util/function/Function;)Lcom/mojang/serialization/Codec;Í  2com/mojang/serialization/codecs/RecordCodecBuildermapCodecB(Ljava/util/function/Function;)Lcom/mojang/serialization/MapCodec;   CODEC SignaturePLcom/mojang/serialization/Codec;pLcom/mojang/serialization/MapCodec;Á(IIILnet/minecraft/util/valueproviders/IntProvider;Lnet/minecraft/util/valueproviders/IntProvider;Lnet/minecraft/util/valueproviders/UniformInt;Lnet/minecraft/util/valueproviders/IntProvider;)VCodeLineNumberTableLocalVariableTablethisKLnet/minecraft/world/level/levelgen/feature/trunkplacers/CherryTrunkPlacer; 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; trunkHeightylevel)Lnet/minecraft/world/level/WorldGenLevel; trunkSetterLjava/util/function/BiConsumer;random!Lnet/minecraft/util/RandomSource; treeHeightoriginLnet/minecraft/core/BlockPos;tree8Lnet/minecraft/world/level/levelgen/feature/TreeFeature;firstBranchOffsetFromOriginsecondBranchOffsetFromOriginhasMiddleBranchZhasBothSideBranches attachmentsLjava/util/List;logPos-Lnet/minecraft/core/BlockPos$MutableBlockPos; treeDirectionsidewaysStateModifierLjava/util/function/Function;LocalVariableTypeTablepLjava/util/function/BiConsumer;mLjava/util/List;ƒLjava/util/function/Function; StackMapTableQ'net/minecraft/world/level/WorldGenLevelSjava/util/function/BiConsumerU6net/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;idistancechanceToGrowVerticallyFgrowVerticallybranchDirectionoffsetFromOriginmiddleContinuesUpwardsbranchEndPosOffsetFromOriginextendBranchAwayFromTrunkdistanceToTrunk branchEndPosstepsHorizontallyverticalDirection=(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/function/Function;Lnet/minecraft/core/Direction;IZLnet/minecraft/core/BlockPos$MutableBlockPos;)Lnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacer$FoliageAttachment;lambda$placeTrunk$0„(Lnet/minecraft/core/Direction;Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/world/level/block/state/BlockState;state2Lnet/minecraft/world/level/block/state/BlockState;lambda$static$2`(Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/kinds/App;=Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;lambda$static$6|(Lnet/minecraft/world/level/levelgen/feature/trunkplacers/CherryTrunkPlacer;)Lnet/minecraft/util/valueproviders/IntProvider;tlambda$static$5{(Lnet/minecraft/world/level/levelgen/feature/trunkplacers/CherryTrunkPlacer;)Lnet/minecraft/util/valueproviders/UniformInt;lambda$static$4lambda$static$3lambda$static$0U(Lnet/minecraft/util/valueproviders/UniformInt;)Lcom/mojang/serialization/DataResult;ulambda$static$1()Ljava/lang/String; SourceFileCherryTrunkPlacer.javaBootstrapMethods~&(Ljava/lang/Object;)Ljava/lang/Object;€ � fgƒf(Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/world/level/block/state/BlockState;… † snn‰ Š rnŒ � pqq� ‘ mn“’(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;• – "˜A(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Lnet/minecraft/util/valueproviders/IntProvider;Lnet/minecraft/util/valueproviders/IntProvider;Lnet/minecraft/util/valueproviders/UniformInt;Lnet/minecraft/util/valueproviders/IntProvider;)Lnet/minecraft/world/level/levelgen/feature/trunkplacers/CherryTrunkPlacer;š()Ljava/lang/Object;œ � wxx  ¡ tuu¤ ¥ jkk¨ ©ª« ¬­"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°Gnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacerFoliageAttachmentMutableBlockPosPlaneµ!net/minecraft/core/Direction$AxisAxisInstance¹com/mojang/datafixers/ProductsP3¼!com/mojang/datafixers/Products$P4P4P7À%java/lang/invoke/MethodHandles$LookupÂjava/lang/invoke/MethodHandlesLookup!ÙÚ  !  #& "#»3*·*µ*µ *µ*¶¶d¸µ!*µ$±$/0 123,425%R3&'3()3*)3+)3 3 33& ,(*+ &-.#.²'°$9% &'/01#K+,-¶-¸3d*´-¶7`¸;6d*´!-¶7`¸;6¡„*´-¹A6   §6  ¡§6  ™ 6 § ™¸;`6 § `6 6   ¢*+,- ¶D¶HW„ §ÿå»LY·N:  ™ »QY ¶D·S¹VW»\Y·^:²_-¶e:ºi: *+,- d¢§¶m¹VW ™1 *+,-¶q d¢§¶m¹VW °$jE P Q3R:S=VIWVXc[h\o]t^‚`ˆc’d£c©g²i·jÏmØnáoêqstHw%Êl2) 2) ‹3) K&'K45K67K89K:)K;<K=> +?)3@)I ) VõAB cèCB ˆÃ2) ²™DE ØsFGájH~êaIJK K6L²™DM êaINOPý=ü@ü @ü üüúü%Wÿ9PR�.TW\r£ WPR�.T£rÿPR�.TW\r£ WPR�.T£rÿ1PR�.TW\r£ WPR�.T£rÿPR�.TW\r£ WPR�.T£r ,468:;=Vop# ¶w²{ ¶Wd*´$-¹A`6  š   ¢§6 *´ -¹A ™§`6¶ƒ ¶D: ™§66¢*+,- ¶‡¶ŠW„§ÿã¶� ¶�¤ ²{§²‘: ¶”6š§Y¶� ¶�d¸˜††n8-¹œ–œ§6 ™§¶‡W*+,- ™ ¸¢§¶ŠW§ÿœ»QY¶¨·S°$V‡‰!‹4ŒK�QŽV�[‘g“q”„“Š—¢š«›°œ³ŸÈ Û¢í£¤ ¦%Þj W)«[X)È>YZÛ+[B&'456789:);<=>IJ\~]) ^B FG !÷_) 4ä`B KÍa)[½b<g±c)¢vd~K6LINO{ü-@ÿPR�.T£r\ÿPR�.T£r\ý.@ýúBrürüü$@ÿ PR�.T£r\.r\ÿPR�.T£r\.r\rÿPR�.T£r\.rPR�\TÿPR�.T£r\.rPR�\T£ø,- 468:;=I\]^Fe fg#C+²ª*¶°¶´Àµ°$o%H~hi jk#²l*¸º*¸¾Ĺƺ̶θ¾Ô¹ÆºÖ¶Îð²×¸Û߹ƺá¶Îð¸¾â¹Æºä¶Î¶å¶ë*ºñ¶ô°$" !"4#J$\ h%k % lWl mn#/*´$°$$% o' pq#/*´°$#% o' rn#/*´ °$"% o' sn#/*´°$!% o' tu#V*¶*¶d¢ ºù¸ý°*¸°$ % vO wx#°$yP#;² ¶ º¹³×º¸³±$  z{|\ §}‚§}„‡§}ˆ‡§}‹Ž§}�‡§’”—§™›ž§}Ÿ¢§}£¦®J Q¯±\.² `r³@´r¶@æ·ì¸º»¸½õ¸¾¿ÁÃ