Êþº¾Eö()V   trunkProviderLnet/minecraft/core/Holder;   logLength/Lnet/minecraft/util/valueproviders/IntProvider;  stumpDecoratorsLjava/util/List;   logDecorators  CODEC#Lcom/mojang/serialization/MapCodec;  placeFallenTreej(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/util/RandomSource;)V !"# $%net/minecraft/core/BlockPosmutable/()Lnet/minecraft/core/BlockPos$MutableBlockPos; ' () placeStumpz(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos$MutableBlockPos;)V +,- ./"net/minecraft/core/Direction$Plane HORIZONTAL$Lnet/minecraft/core/Direction$Plane; +1 23getRandomDirectionA(Lnet/minecraft/util/RandomSource;)Lnet/minecraft/core/Direction; 567 89-net/minecraft/util/valueproviders/IntProvidersample$(Lnet/minecraft/util/RandomSource;)I ;<= >?net/minecraft/util/RandomSourcenextInt(I)I !A BCrelative>(Lnet/minecraft/core/Direction;I)Lnet/minecraft/core/BlockPos; E FG#setGroundHeightForFallenLogStartPosY(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/core/BlockPos$MutableBlockPos;)V I JKcanPlaceEntireFallenLogx(Lnet/minecraft/world/level/WorldGenLevel;ILnet/minecraft/core/BlockPos$MutableBlockPos;Lnet/minecraft/core/Direction;)Z M NOplaceFallenLog™(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/util/RandomSource;ILnet/minecraft/core/BlockPos$MutableBlockPos;Lnet/minecraft/core/Direction;)V QRS TUnet/minecraft/core/DirectionUPLnet/minecraft/core/Direction; WXY Z[+net/minecraft/core/BlockPos$MutableBlockPosmoveN(Lnet/minecraft/core/Direction;I)Lnet/minecraft/core/BlockPos$MutableBlockPos; ] ^_ mayPlaceOnI(Lnet/minecraft/world/level/LevelAccessor;Lnet/minecraft/core/BlockPos;)Z Qa bUDOWN Wd ZeM(Lnet/minecraft/core/Direction;)Lnet/minecraft/core/BlockPos$MutableBlockPos; ghi jkjava/util/function/Functionidentity()Ljava/util/function/Function; m no placeLogBlock³(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos$MutableBlockPos;Ljava/util/function/Function;)Lnet/minecraft/core/BlockPos; qrs tu java/util/Setof#(Ljava/lang/Object;)Ljava/util/Set; w xy decorateLogsl(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/util/RandomSource;Ljava/util/Set;Ljava/util/List;)V {|} ~6net/minecraft/world/level/levelgen/feature/TreeFeature validTreePosP(Lnet/minecraft/world/level/LevelSimulatedReader;Lnet/minecraft/core/BlockPos;)Z � ‚_isOverSolidGround Q„ …† getOpposite ()Lnet/minecraft/core/Direction;ˆjava/util/HashSet ‡ ‹ Œ�getSidewaysStateModifier=(Lnet/minecraft/core/Direction;)Ljava/util/function/Function; q� �‘add(Ljava/lang/Object;)Z !“ ”•below()Lnet/minecraft/core/BlockPos; —˜™ š›'net/minecraft/world/level/LevelAccessor getBlockStateQ(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState; �žŸ  ¡0net/minecraft/world/level/block/state/BlockState isFaceSturdye(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/Direction;)Z £¤¥ ¦§net/minecraft/core/Holdervalue()Ljava/lang/Object;©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; g¯ °±apply&(Ljava/lang/Object;)Ljava/lang/Object; ³´µ ¶·'net/minecraft/world/level/WorldGenLevelsetBlockAndUpdateR(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)Z ¹ º»markAboveForPostProcessingI(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/core/BlockPos;)V W½ ¾• immutable ÀÁ ÃÄjava/util/ListisEmpty()ZÆOnet/minecraft/world/level/levelgen/feature/treedecorators/TreeDecorator$Context È ÉÊgetDecorationSetterJ(Lnet/minecraft/world/level/WorldGenLevel;)Ljava/util/function/BiConsumer; qÌ tÍ()Ljava/util/Set; ÅÏ Ð™(Lnet/minecraft/world/level/WorldGenLevel;Ljava/util/function/BiConsumer;Lnet/minecraft/util/RandomSource;Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;)VÒ ÓÔacceptp(Lnet/minecraft/world/level/levelgen/feature/treedecorators/TreeDecorator$Context;)Ljava/util/function/Consumer; ÀÖ ×ØforEach (Ljava/util/function/Consumer;)VÚ ÓÊÜ °�ÞDnet/minecraft/world/level/levelgen/feature/FallenTreeFeature$Builder Ýà á€(Lnet/minecraft/world/level/levelgen/feature/stateproviders/BlockStateProvider;Lnet/minecraft/util/valueproviders/IntProvider;)Vã äåtoStringR(Lnet/minecraft/world/level/levelgen/feature/FallenTreeFeature;)Ljava/lang/String;ç èéhashCodeA(Lnet/minecraft/world/level/levelgen/feature/FallenTreeFeature;)Ië ìíequalsS(Lnet/minecraft/world/level/levelgen/feature/FallenTreeFeature;Ljava/lang/Object;)Z ïðñ òó2net/minecraft/world/level/block/RotatedPillarBlockAXIS?Lnet/minecraft/world/level/block/state/properties/EnumProperty; Qõ ö÷getAxis%()Lnet/minecraft/core/Direction$Axis; �ù úû trySetValuee(Lnet/minecraft/world/level/block/state/properties/Property;Ljava/lang/Comparable;)Ljava/lang/Object;ý%net/minecraft/world/level/block/Block ³ÿ setBlockS(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;I)Z  Gnet/minecraft/world/level/levelgen/feature/treedecorators/TreeDecoratorplaceT(Lnet/minecraft/world/level/levelgen/feature/treedecorators/TreeDecorator$Context;)V ¨   Lcom/mojang/serialization/Codec; trunk_provider  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;   .net/minecraft/util/valueproviders/IntProviderscodec$(II)Lcom/mojang/serialization/Codec;" log_length  & '(listOf"()Lcom/mojang/serialization/Codec;*stump_decorators-log_decorators 012 34;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;6 °7(()Lcom/mojang/datafixers/util/Function4; 9:; °<!com/mojang/datafixers/Products$P4r(Lcom/mojang/datafixers/kinds/Applicative;Lcom/mojang/datafixers/util/Function4;)Lcom/mojang/datafixers/kinds/App;  ?@A BC2com/mojang/serialization/codecs/RecordCodecBuildermapCodecB(Ljava/util/function/Function;)Lcom/mojang/serialization/MapCodec;E2net/minecraft/world/level/levelgen/feature/Feature SignaturekLnet/minecraft/core/Holder;[Ljava/util/List; STUMP_HEIGHTI ConstantValueSTUMP_HEIGHT_PLUS_EMPTY_SPACE$FALLEN_LOG_MAX_FALL_HEIGHT_TO_GROUNDFALLEN_LOG_MAX_GROUND_GAPFALLEN_LOG_MAX_SPACE_FROM_STUMPcLcom/mojang/serialization/MapCodec;m(Lnet/minecraft/core/Holder;Lnet/minecraft/util/valueproviders/IntProvider;Ljava/util/List;Ljava/util/List;)VCodeLineNumberTableLocalVariableTablethis>Lnet/minecraft/world/level/levelgen/feature/FallenTreeFeature;LocalVariableTypeTableMethodParametersS(Lnet/minecraft/core/Holder;Lnet/minecraft/util/valueproviders/IntProvider;Ljava/util/List;Ljava/util/List;)V%()Lcom/mojang/serialization/MapCodec;e()Lcom/mojang/serialization/MapCodec;š(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/world/level/chunk/ChunkGenerator;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;)Zlevel)Lnet/minecraft/world/level/WorldGenLevel;chunkGenerator0Lnet/minecraft/world/level/chunk/ChunkGenerator;random!Lnet/minecraft/util/RandomSource;originLnet/minecraft/core/BlockPos; direction logStartPos-Lnet/minecraft/core/BlockPos$MutableBlockPos; StackMapTableistumpPosstump gapInGround fallenLogLjava/util/Set;.Ljava/util/Set;)Lnet/minecraft/world/level/LevelAccessor;blockPossidewaysStateModifierLjava/util/function/Function;ƒLjava/util/function/Function;(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos$MutableBlockPos;Ljava/util/function/Function;)Lnet/minecraft/core/BlockPos;decoratorContextQLnet/minecraft/world/level/levelgen/feature/treedecorators/TreeDecorator$Context;logs decoratorsÖ(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/util/RandomSource;Ljava/util/Set;Ljava/util/List;)V›(Lnet/minecraft/world/level/WorldGenLevel;)Ljava/util/function/BiConsumer;£(Lnet/minecraft/core/Direction;)Ljava/util/function/Function;builderÅ(Lnet/minecraft/world/level/levelgen/feature/stateproviders/BlockStateProvider;Lnet/minecraft/util/valueproviders/IntProvider;)Lnet/minecraft/world/level/levelgen/feature/FallenTreeFeature$Builder;NLnet/minecraft/world/level/levelgen/feature/stateproviders/BlockStateProvider;()Ljava/lang/String;()IoLjava/lang/Object;()Lnet/minecraft/core/Holder;m()Lnet/minecraft/core/Holder;1()Lnet/minecraft/util/valueproviders/IntProvider;()Ljava/util/List;]()Ljava/util/List;!lambda$getSidewaysStateModifier$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$getDecorationSetter$0{(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)Vposlambda$decorateLogs$0�(Lnet/minecraft/world/level/levelgen/feature/treedecorators/TreeDecorator$Context;Lnet/minecraft/world/level/levelgen/feature/treedecorators/TreeDecorator;)V decoratorILnet/minecraft/world/level/levelgen/feature/treedecorators/TreeDecorator;lambda$static$0`(Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/kinds/App;=Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance; SourceFileFallenTreeFeature.java NestMembersRecordBootstrapMethods¡(Ljava/lang/Object;)V£ ¤ “”¦L(Lnet/minecraft/world/level/levelgen/feature/treedecorators/TreeDecorator;)V¨'(Ljava/lang/Object;Ljava/lang/Object;)Vª « �‘­R(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)V±° ± Œ�³f(Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/world/level/block/state/BlockState;µ5trunkProvider;logLength;stumpDecorators;logDecorators  » ¼ ‡¾[(Lnet/minecraft/world/level/levelgen/feature/FallenTreeFeature;)Lnet/minecraft/core/Holder;À Á ‰Ão(Lnet/minecraft/world/level/levelgen/feature/FallenTreeFeature;)Lnet/minecraft/util/valueproviders/IntProvider;Å Æ ŠÈP(Lnet/minecraft/world/level/levelgen/feature/FallenTreeFeature;)Ljava/util/List;Ê Ë ŠÍ\(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;Ï Ð TÒª(Lnet/minecraft/core/Holder;Lnet/minecraft/util/valueproviders/IntProvider;Ljava/util/List;Ljava/util/List;)Lnet/minecraft/world/level/levelgen/feature/FallenTreeFeature;Ô Õ —˜˜Ø ÙÚÛ ÜÝ"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;ß àáâ ãäjava/lang/runtime/ObjectMethods bootstrap±(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/TypeDescriptor;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/invoke/MethodHandle;)Ljava/lang/Object; InnerClassesMutableBlockPosPlaneContextBuilderë!net/minecraft/core/Direction$AxisAxisInstanceïcom/mojang/datafixers/ProductsP4ò%java/lang/invoke/MethodHandles$Lookupôjava/lang/invoke/MethodHandlesLookup1D  FGFHFHIJKLMJKNOJKPQJKNRJKNFSTU’*·*+µ *,µ *-µ*µ±VW4XY Z  GHH[ F\]U.²°V+W XYF^_U` *+-¶¬V 01W4 XY `a bc de fg[`bdfUëW*,-+¶ ¶&²*-¶0:*´ -¹4d6+-¹:`¶@¶ :*,¶D*,¶H™*,-¶L±V"5 78!95:<;J<V>WHWXYWfgW`aWdeDhU!6J5"ijk þVQW[ f`dFGUš*,²P¶VW>¢*+,¶\™±,²`¶cW„§ÿå±VA BCDF#B)HW* lJ*XY*`a*ijk ü ú [ `i()Uv*+,-¸f¶l:*+,¸p*´¶v±VK LMW4XY`ademj ng[ `dmJKUðG66¢1+-¸zš¬*+-¶€š„¤¬6-¶cW„§ÿÏ-¶ƒ¶VW¬V6 PQ RSVW"X(Y*\-_4Q:aEbWH4lJGXYG`aGJGijGhUDoJk ýú [`ihNOUîB»‡Y·‰:6¢&*+,¸Š¶l¹ŽW¶cW„§ÿÚ*+,*´¶v±Vf gh'i/g5lAmWR )lJBXYB`aBdeBJBijBhU 9pqZ  9prk ý qú([`dih^_U`+,¸z™*+,¶€™§¬VpW XY`stgk@[ `t‚_UQ+,¶’¹–+,²P¶œ¬VtW XY`stg[ `tnoU�1+-*´ ¹¢À¨+,-¹ª¹®À�¹²W*+-¶¸-¶¼°Vx&y,zW41XY1`a1de1tj1uvZ 1uw[`dtuFxxyU½0¹¿š(»ÅY+*+¶Ç,-¸Ë¸Ë·Î:ºÑ¹Õ±V~ !€/‚W>!yz0XY0`a0de0{q0|Z0{r0|Hk/[`d{|F}ÉÊU;+ºÙ°V…WXY`a[`F~ Œ�U1*ºÛ°V‰W hU[hF €�U> »ÝY*+·ß°V�W ‚ [  äƒU1*ºâ°VW XYè„U1*ºæ¬VW XYì‘U<*+ºê¬VWXY…†[… ‡U/*´ °VW XYFˆ‰U/*´ °VW XYŠU/*´°VW XYF‹ŠU/*´°VW XYF‹ Œ�UC+²î*¶ô¶øÀ�°V‰WhUŽ� �‘UJ *+,¹þW±V…W  `a ’g Ž� “”U:+*¶±V€Wyz•– —˜U­g*² ¹ º¶¸!¹ º#¶²$¹%)¹ º+¶²$¹%,¹ º.¶¶/*º5¶8°V""#$-%E&Z"c'f"W gl™šU$ º=¸>³±V"›œ�Ýž2 FGFHFHŸl × ¢¥×§©¬×®¯²Þ´¶·¸¹×®º½×®¿Â×®ÄÇ×®ÉÇ×ÌÎÑ×®ÓÖåBW!æ +Qç@ÅèÝé êQì@0?í9îðñóõ