Êþº¾E™  java/lang/Record()V   Cnet/minecraft/world/level/levelgen/feature/SpeleothemClusterFeature baseBlock2Lnet/minecraft/world/level/block/state/BlockState;    pointedBlock  replaceableBlocksLnet/minecraft/core/HolderSet;  floorToCeilingSearchRangeI  height/Lnet/minecraft/util/valueproviders/IntProvider;  radius  !!maxStalagmiteStalactiteHeightDiff # $heightDeviation & 'speleothemBlockLayerThickness ) *+density1Lnet/minecraft/util/valueproviders/FloatProvider; - .+wetness 0 12)chanceOfSpeleothemAtMaxDistanceFromCenterF 4 5.maxDistanceFromEdgeAffectingChanceOfSpeleothem 7 8(maxDistanceFromCenterAffectingHeightBias : ;<CODEC#Lcom/mojang/serialization/MapCodec; >?@ AB:net/minecraft/world/level/levelgen/feature/SpeleothemUtilsisEmptyOrWaterI(Lnet/minecraft/world/level/LevelAccessor;Lnet/minecraft/core/BlockPos;)Z DEF GH-net/minecraft/util/valueproviders/IntProvidersample$(Lnet/minecraft/util/RandomSource;)I JKL GM/net/minecraft/util/valueproviders/FloatProvider$(Lnet/minecraft/util/RandomSource;)F O PQ!getChanceOfStalagmiteOrStalactite(IIII)D STU VWnet/minecraft/core/BlockPosoffset"(III)Lnet/minecraft/core/BlockPos; Y Z[ placeColumnp(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;IIFDIF)V] ^_test ()Ljava/util/function/Predicate;] bcd ef)net/minecraft/world/level/levelgen/Columnscan (Lnet/minecraft/world/level/LevelSimulatedReader;Lnet/minecraft/core/BlockPos;ILjava/util/function/Predicate;Ljava/util/function/Predicate;)Ljava/util/Optional; hij kljava/util/OptionalisEmpty()Z hn opget()Ljava/lang/Object; br st getCeiling()Ljava/util/OptionalInt; bv wtgetFloor yizjava/util/OptionalInt |}~ €net/minecraft/util/RandomSource nextFloat()F y‚ ƒl isPresent y… †‡getAsInt()I S‰ Š‹atY (I)Lnet/minecraft/core/BlockPos; � Ž� canPlacePoolI(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/core/BlockPos;)Z y‘ ’“of(I)Ljava/util/OptionalInt; b• –— withFloorD(Ljava/util/OptionalInt;)Lnet/minecraft/world/level/levelgen/Column; ™š› œ�&net/minecraft/world/level/block/BlocksWATER'Lnet/minecraft/world/level/block/Block; Ÿ ¡ ¢£%net/minecraft/world/level/block/BlockdefaultBlockState4()Lnet/minecraft/world/level/block/state/BlockState; ¥¦§ ¨©'net/minecraft/world/level/WorldGenLevelsetBlockS(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;I)Z |« ¬­ nextDouble()D ¯ °±isLavaG(Lnet/minecraft/world/level/LevelReader;Lnet/minecraft/core/BlockPos;)Z ³´µ ¶·net/minecraft/core/DirectionUPLnet/minecraft/core/Direction; ¹ º»replaceBlocksWithBaseBlocksh(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/core/BlockPos;ILnet/minecraft/core/Direction;)V ½¾¿ ÀÁjava/lang/Mathmin(II)I à ÄÅgetSpeleothemHeight((Lnet/minecraft/util/RandomSource;IIFI)I ³Ç È·DOWN ÊËÌ ÍÎnet/minecraft/util/MthrandomBetweenInclusive&(Lnet/minecraft/util/RandomSource;II)I ½Ð ÑÁmax |Ó Ôl nextBoolean bÖ ×t getHeight ÙÚÛ ÜÝ0net/minecraft/world/level/block/state/BlockStategetBlock)()Lnet/minecraft/world/level/block/Block; >ß àágrowSpeleothemÕ(Lnet/minecraft/world/level/LevelAccessor;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/Direction;IZLnet/minecraft/world/level/block/Block;Lnet/minecraft/world/level/block/Block;Lnet/minecraft/core/HolderSet;)V ãäå æç%net/minecraft/world/level/LevelReader getBlockStateQ(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState; ™é ê�LAVA Ùì íîis(Ljava/lang/Object;)Z ½ð ñòabs(I)I@ Êö ÷ø clampedMap(DDDDD)D ú ûürandomBetweenBiased((Lnet/minecraft/util/RandomSource;FFFF)F ¥ä Sÿ above()Lnet/minecraft/core/BlockPos; Ù  getFluidState1()Lnet/minecraft/world/level/material/FluidState;  œ net/minecraft/tags/FluidTagsLnet/minecraft/tags/TagKey;    í-net/minecraft/world/level/material/FluidState(Lnet/minecraft/tags/TagKey;)Z  "net/minecraft/core/Direction$Plane HORIZONTAL$Lnet/minecraft/core/Direction$Plane;  iterator()Ljava/util/Iterator;  ljava/util/IteratorhasNext  !pnext S# $%relative=(Lnet/minecraft/core/Direction;)Lnet/minecraft/core/BlockPos; ' (BcanBeAdjacentToWater S* +below -ä.'net/minecraft/world/level/LevelAccessor 012 3 net/minecraft/tags/BlockTagsBASE_STONE_OVERWORLD Ù S6 78mutable/()Lnet/minecraft/core/BlockPos$MutableBlockPos; >: ;<placeBaseBlockIfPossibleŽ(Lnet/minecraft/world/level/LevelAccessor;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/Block;Lnet/minecraft/core/HolderSet;)Z >?@ AB+net/minecraft/core/BlockPos$MutableBlockPosmoveM(Lnet/minecraft/core/Direction;)Lnet/minecraft/core/BlockPos$MutableBlockPos; ÊD ÷E(FFFFF)F GHI Gü4net/minecraft/util/valueproviders/ClampedNormalFloatK LMtoStringY(Lnet/minecraft/world/level/levelgen/feature/SpeleothemClusterFeature;)Ljava/lang/String;O PQhashCodeH(Lnet/minecraft/world/level/levelgen/feature/SpeleothemClusterFeature;)IS TUequalsZ(Lnet/minecraft/world/level/levelgen/feature/SpeleothemClusterFeature;Ljava/lang/Object;)Z ÙW ;X Lcom/mojang/serialization/Codec;Z base_block \]^ _`com/mojang/serialization/CodecfieldOf7(Ljava/lang/String;)Lcom/mojang/serialization/MapCodec;b cdapply()Ljava/util/function/Function; fgh ij!com/mojang/serialization/MapCodec forGetterS(Ljava/util/function/Function;)Lcom/mojang/serialization/codecs/RecordCodecBuilder;l pointed_blockb opq rs(net/minecraft/core/registries/RegistriesBLOCK%Lnet/minecraft/resources/ResourceKey; uvw xy2net/minecraft/core/registries/codec/RegistryCodecs holderSetG(Lnet/minecraft/resources/ResourceKey;)Lcom/mojang/serialization/Codec;{replaceable_blocksb \~ €intRange$(II)Lcom/mojang/serialization/Codec;‚floor_to_ceiling_search_rangeb …†‡ ˆ€.net/minecraft/util/valueproviders/IntProviderscodecbbŽ%max_stalagmite_stalactite_height_diff b‘height_deviation b” speleothem_block_layer_thickness b —˜™ ˆš0net/minecraft/util/valueproviders/FloatProviders$(FF)Lcom/mojang/serialization/Codec;* b. b \  ¡š floatRange£0chance_of_speleothem_at_max_distance_from_centerb¦5max_distance_from_edge_affecting_chance_of_speleothemb©.max_distance_from_center_affecting_height_biasb ¬­® ¯°;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/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$P14;² c³)()Lcom/mojang/datafixers/util/Function14; µ¶· c¸"com/mojang/datafixers/Products$P14s(Lcom/mojang/datafixers/kinds/Applicative;Lcom/mojang/datafixers/util/Function14;)Lcom/mojang/datafixers/kinds/App;b »¼½ ¾¿2com/mojang/serialization/codecs/RecordCodecBuildermapCodecB(Ljava/util/function/Function;)Lcom/mojang/serialization/MapCodec;Á2net/minecraft/world/level/levelgen/feature/Feature SignatureGLnet/minecraft/core/HolderSet;jLcom/mojang/serialization/MapCodec;z(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/core/HolderSet;ILnet/minecraft/util/valueproviders/IntProvider;Lnet/minecraft/util/valueproviders/IntProvider;IILnet/minecraft/util/valueproviders/IntProvider;Lnet/minecraft/util/valueproviders/FloatProvider;Lnet/minecraft/util/valueproviders/FloatProvider;FII)VCodeLineNumberTableLocalVariableTablethisELnet/minecraft/world/level/levelgen/feature/SpeleothemClusterFeature;LocalVariableTypeTableMethodParameters£(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/core/HolderSet;ILnet/minecraft/util/valueproviders/IntProvider;Lnet/minecraft/util/valueproviders/IntProvider;IILnet/minecraft/util/valueproviders/IntProvider;Lnet/minecraft/util/valueproviders/FloatProvider;Lnet/minecraft/util/valueproviders/FloatProvider;FII)V%()Lcom/mojang/serialization/MapCodec;l()Lcom/mojang/serialization/MapCodec;placeš(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/world/level/chunk/ChunkGenerator;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;)ZchanceOfStalagmiteOrStalactiteDposLnet/minecraft/core/BlockPos;dzdxlevel)Lnet/minecraft/world/level/WorldGenLevel;chunkGenerator0Lnet/minecraft/world/level/chunk/ChunkGenerator;random!Lnet/minecraft/util/RandomSource;originxRadiuszRadius StackMapTableã.net/minecraft/world/level/chunk/ChunkGenerator baseFloorYcolumn+Lnet/minecraft/world/level/levelgen/Column;maxHeightForThisColumnceilingThicknessstalactiteHeightstalagmiteHeightfloorThicknessfloorYceilingYlowestStalactiteBottomhighestStalagmiteTopactualStalactiteBottomactualStalagmiteTopactualStalactiteHeightactualStalagmiteHeight chanceOfWater clusterHeight baseColumnLjava/util/Optional;ceilingLjava/util/OptionalInt; baseFloorwantPoolZfloorwantStalactitewantStalagmite mergeTipsALjava/util/Optional;'Lnet/minecraft/world/level/LevelReader; maxHeightdistanceFromCenter heightMean directionstate)Lnet/minecraft/world/level/LevelAccessor;ifirstPosmaxCount-Lnet/minecraft/core/BlockPos$MutableBlockPos;xDistanceFromEdgezDistanceFromEdgedistanceFromEdge maxExclusivemean deviation()Ljava/lang/String;oLjava/lang/Object; ()Lnet/minecraft/core/HolderSet;I()Lnet/minecraft/core/HolderSet;1()Lnet/minecraft/util/valueproviders/IntProvider;3()Lnet/minecraft/util/valueproviders/FloatProvider;lambda$static$0`(Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/kinds/App;=Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance; SourceFileSpeleothemClusterFeature.javaRecordBootstrapMethodsî$ >% A&5(Lnet/minecraft/world/level/block/state/BlockState;)Z&) >* +&isNeitherEmptyNorWater-2baseBlock;pointedBlock;replaceableBlocks;floorToCeilingSearchRange;height;radius;maxStalagmiteStalactiteHeightDiff;heightDeviation;speleothemBlockLayerThickness;density;wetness;chanceOfSpeleothemAtMaxDistanceFromCenter;maxDistanceFromEdgeAffectingChanceOfSpeleothem;maxDistanceFromCenterAffectingHeightBias "%(,/36=&(Ljava/lang/Object;)Ljava/lang/Object;? @ £By(Lnet/minecraft/world/level/levelgen/feature/SpeleothemClusterFeature;)Lnet/minecraft/world/level/block/state/BlockState;D E £G H Je(Lnet/minecraft/world/level/levelgen/feature/SpeleothemClusterFeature;)Lnet/minecraft/core/HolderSet;L M ‡OZ(Lnet/minecraft/world/level/levelgen/feature/SpeleothemClusterFeature;)Ljava/lang/Integer;Q R Tv(Lnet/minecraft/world/level/levelgen/feature/SpeleothemClusterFeature;)Lnet/minecraft/util/valueproviders/IntProvider;V W Y Z !‡\ ] $‡_ ` 'b c *ex(Lnet/minecraft/world/level/levelgen/feature/SpeleothemClusterFeature;)Lnet/minecraft/util/valueproviders/FloatProvider;g h .j k 1€mX(Lnet/minecraft/world/level/levelgen/feature/SpeleothemClusterFeature;)Ljava/lang/Float;o p 5‡r s 8‡u(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;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;w x Åz((Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/core/HolderSet;Ljava/lang/Integer;Lnet/minecraft/util/valueproviders/IntProvider;Lnet/minecraft/util/valueproviders/IntProvider;Ljava/lang/Integer;Ljava/lang/Integer;Lnet/minecraft/util/valueproviders/IntProvider;Lnet/minecraft/util/valueproviders/FloatProvider;Lnet/minecraft/util/valueproviders/FloatProvider;Ljava/lang/Float;Ljava/lang/Integer;Ljava/lang/Integer;)Lnet/minecraft/world/level/levelgen/feature/SpeleothemClusterFeature;| } € �‚ƒ „…"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; InnerClassesPlaneMutableBlockPosInstance’com/mojang/datafixers/ProductsP14•%java/lang/invoke/MethodHandles$Lookup—java/lang/invoke/MethodHandlesLookup1À  ÂÃ!$'*+.+1258;<ÂÄÅÆV*·*+µ*,µ *-µ*µ*µ*µ*µ*µ"* µ%* µ(* µ,* µ/* µ3*µ6±Ç#ȘVÉÊV V VVVVV!V$V' V*+ V.+ V12 V5 V8Ë VÃÌ9 !$'*.158ÂÍˆÎÆ.²9°ÇFÈ ÉÊÂÏÐÑÆ® ›+¸=š¬*´-¹C6*´,-¹I8*´(-¹I8*´-¹C6*´-¹C6 t6  £I t6   £7*   ¶N9   ¶R:*+-   ¶X„ §ÿÈ„ §ÿ¶¬Ç>K L PR#S/X;YGZS[_\m]y^�[“Z™aÈŽm ÒÓ yÔÕX;Ö LM× ›ÉÊ›ØÙ›ÚÛ›ÜÝ›ÞÕ„#x.2/l*2;`ßGTà á) ÿ@ ¥â|Sü ú:úÌØÚÜÞZ[Æq×+-*´º\º`¸a:  ¶g™± ¶mÀb¶q:  ¶mÀb¶u:  ¶x™  ¶x™±,¹{–œ§6™N ¶�™F*+- ¶„¶ˆ¶Œ™5 ¶„6 ¶mÀbd¸�¶”:+-¶ˆ²˜¶ž¹¤W§  ¶mÀb:¶u:,¹ª˜œ§6 ¶�™k™f*+- ¶„¶ˆ¶®šU*´%,¹C6*+- ¶„¶ˆ²²¶¸¶�™  ¶„¶„d¸¼6§ 6*, ¶Â6§6,¹ª˜œ§6¶�™k™f*+-¶„¶ˆ¶®šU*´%,¹C6*+-¶„¶ˆ²Æ¶¸ ¶�™,*´t*´¸É`¸Ï6§*,  ¶Â6§6 ¶�™k¶�™c ¶„d¶„`£P¶„6 ¶„6d`¸Ï6`d¸¼6,`¸É6d6d6d6§ 66,¹Ò™,ž'ž"¶Õ¶�™`¶Õ¶„ §6 ¶�™++- ¶„d¶ˆ²Æ*´¶Ø*´ ¶Ø*´¸Þ¶�™++-¶„`¶ˆ²²*´¶Ø*´ ¶Ø*´¸Þ±ÇÚ6fghk+l8nHqIt\vzx�y•z©{¬|¶½ƒÐ„î…ú† ˆ‰*‹.�=Ž@�C”V•t–€—“™›š´�߯ ɦì©óªú«¬­"®(¯/°6±9²=³A¶V¹fºv¼~½¦¿®ÀÖÂÈ’(�(ä•åæ'çúCè.ç=é±ê€CëÃêóCìú<í.î ï"ð(ñ/ ò6ó×ÉÊרÙ×ÜÝ×ÔÕ×××Ö×ô2×ÒÓ×õ ×*2 Âö÷ +¬øù 8Ÿúù \{ûü¶!åæ½ýùC”éÐþüÉêV�ÿü=šòA–óvaüË Âö áþühý*yy@üQü büy@þ[üùÿ¥|Shyyby@þ_ÿ¥|Shyybyÿ¥|Shyybyÿ¥|Shyybyûoý1@ü1/Ì% ØÜÔ×ÖôÒõ*°±ÆL+,¹â²è¶ë¬ÇÅÈ ÉÊØÔÕÌ ØÔÄÅÆÊ A+¹{•ž¬¸ï¸ï`6‡*´6‡‡óo¸õ�8+ †*´"†¸ù‹¬ÇÉ ÊÍÐ0ÑÈRAÉÊAÜÝA×AÖA*2A(02áÌÜ×Ö*Ž�ƃ+,¹ýN-²˜¶ëš-*´¶Ø¶ëš-*´ ¶Ø¶ë™¬+,¶þ¹ý¶²¶ ™¬²¶:¹™"¹À³:*+,¶"¶&š¬§ÿÚ*+,¶)¶&¬Ç* ÕÖ.×0ÙFÚHÝfÞtßváyâÈ4f·ƒÉʃØÙƒÔÕ{ áü.Ùü%úÌ ØÔ(BÆ‚%+,¹,N-²/¶4š-¶²¶ ™§¬Ç æçÈ*%ÉÊ%Ø%ÔÕ á üÙ@Ì ØÔº»ÆÄ3,¶5:6¢&+*´¶Ø*´¸9š±¶=W„§ÿÚ±Çëìí#î$ð,ì2òÈH ) 3ÉÊ3ØÙ3 Õ3 3·-Ô á ý >ú ÌØ  PQÆ©-¸ïd6¸ïd6¸¼6† *´3†*´/ ¸C�¯Çö÷øúÈR-ÉÊ-ß-à-×-Ö% Ìßà×Ö ûüÆ\ *%#$¸F®ÇþÈ4 ÜÝ À2 2 2 2ÌÜÀLÆ1*ºJ°Ç#È ÉÊP‡Æ1*ºN¬Ç#È ÉÊTîÆ<*+ºR¬Ç#ÈÉÊÌ £Æ/*´°Ç#È ÉÊ£Æ/*´ °Ç#È ÉÊÆ/*´°Ç#È ÉʇÆ/*´¬Ç#È ÉÊÆ/*´°Ç#È ÉÊÆ/*´°Ç#È ÉÊ!‡Æ/*´¬Ç#È ÉÊ$‡Æ/*´"¬Ç#È ÉÊ'Æ/*´%°Ç#È ÉÊ*Æ/*´(°Ç#È ÉÊ.Æ/*´,°Ç#È ÉÊ1€Æ/*´/®Ç#È ÉÊ5‡Æ/*´3¬Ç#È ÉÊ8‡Æ/*´6¬Ç#È ÉÊ Æ«=*²VY¹[ºa¶e²Vk¹[ºm¶e²n¸tz¹[º|¶e¸}�¹[ºƒ¶e€¸„‰¹[ºжe€¸„‹¹[ºŒ¶e@¸}�¹[º�¶e@¸}�¹[º’¶e€¸„“¹[º•¶e ¸–›¹[ºœ¶e ¸–�¹[ºž¶e ¸Ÿ¢¹[º¤¶e@¸}¥¹[º§¶e@¸}¨¹[ºª¶e¶«*º±¶´°ÇJ345*6A7X8o9…:›;²<Ç=Ü>ñ?@A039B<3È = Æ$ º¹¸º³9±Ç3 ^  ÂÃ!$'*+.+1258!Ú"#'"('†,./0123456789:;<>A<CA<FI<KN<PS<US<XN<[N<^S<ad<fd<il<nN<qNtvy<{~�*³Ž@>S� ¬»�µ‘“”–˜