Êþº¾Eß  java/lang/Object()V   Onet/minecraft/world/level/levelgen/feature/LargeDripstoneFeature$LargeDripstonerootLnet/minecraft/core/BlockPos;   pointingUpZ  radiusI   bluntnessD  scale  getHeightAtRadius(F)I !"# $%net/minecraft/core/BlockPosmutable/()Lnet/minecraft/core/BlockPos$MutableBlockPos; ' () getHeight()I +,- ./java/lang/Mathmin(II)I 123 45'net/minecraft/world/level/WorldGenLevel getBlockStateQ(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState; 789 :;&net/minecraft/world/level/block/BlocksLAVA'Lnet/minecraft/world/level/block/Block; =>? @A0net/minecraft/world/level/block/state/BlockStateis(Ljava/lang/Object;)Z CDE FGNnet/minecraft/world/level/levelgen/feature/LargeDripstoneFeature$WindOffsetteroffset<(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/core/BlockPos; IJK LM:net/minecraft/world/level/levelgen/feature/SpeleothemUtilsisCircleMostlyEmbeddedInStoneJ(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/core/BlockPos;I)Z OPQ RSnet/minecraft/core/DirectionDOWNLnet/minecraft/core/Direction; OU VSUP XYZ [\+net/minecraft/core/BlockPos$MutableBlockPosmoveM(Lnet/minecraft/core/Direction;)Lnet/minecraft/core/BlockPos$MutableBlockPos; I^ _`getSpeleothemHeight(DDDD)D bcd efnet/minecraft/util/Mthsqrt(F)F hij klnet/minecraft/util/RandomSource nextFloat()F?É™™™™™š?LÌÍ bq rs randomBetween&(Lnet/minecraft/util/RandomSource;FF)F !u Fv"(III)Lnet/minecraft/core/BlockPos; xyz {|2net/minecraft/world/level/levelgen/Heightmap$TypesWORLD_SURFACE_WG4Lnet/minecraft/world/level/levelgen/Heightmap$Types; X~ )getX X� ‚)getZ 1„ (…9(Lnet/minecraft/world/level/levelgen/Heightmap$Types;II)I‡java/lang/Integerÿÿÿ XŠ ‹)getY I� Ž�isEmptyOrWaterOrLavaI(Lnet/minecraft/world/level/LevelAccessor;Lnet/minecraft/core/BlockPos;)Z ‘’“ ”net/minecraft/SharedConstantsDEBUG_LARGE_DRIPSTONE 7– —;GLASS 7™ š;DRIPSTONE_BLOCK œ�ž Ÿ %net/minecraft/world/level/block/BlockdefaultBlockState4()Lnet/minecraft/world/level/block/state/BlockState; 1¢ £¤setBlockS(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;I)Z ¦§¨ ©ªnet/minecraft/tags/BlockTagsBASE_STONE_OVERWORLDLnet/minecraft/tags/TagKey; =¬ @­(Lnet/minecraft/tags/TagKey;)Z$(Lnet/minecraft/core/BlockPos;ZIDD)VCodeLineNumberTableLocalVariableTablethisQLnet/minecraft/world/level/levelgen/feature/LargeDripstoneFeature$LargeDripstone;MethodParameters8moveBackUntilBaseIsInsideStoneAndShrinkRadiusIfNecessary|(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/world/level/levelgen/feature/LargeDripstoneFeature$WindOffsetter;)ZinewRoot-Lnet/minecraft/core/BlockPos$MutableBlockPos;maxTrieslevel)Lnet/minecraft/world/level/WorldGenLevel;windPLnet/minecraft/world/level/levelgen/feature/LargeDripstoneFeature$WindOffsetter; StackMapTable checkRadiusF placeBlocks�(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/util/RandomSource;Lnet/minecraft/world/level/levelgen/feature/LargeDripstoneFeature$WindOffsetter;)VblockwindAdjustedPos currentRadiusheightposhasBeenOutOfStonemaxYdzdxrandom!Lnet/minecraft/util/RandomSource;isSuitableForWind(IF)ZminRadiusForWindminBluntnessForWind SourceFileLargeDripstoneFeature.javaNestHost×@net/minecraft/world/level/levelgen/feature/LargeDripstoneFeature InnerClassesLargeDripstoneMutableBlockPos WindOffsetterÝ,net/minecraft/world/level/levelgen/HeightmapTypes0 ®¯” *·*+µ*µ *µ*µ*µ±°�� ‘’“”•±> ²³     ´ ()¯0* ¶¬°˜± ²³µ¶¯@x*´¤q*´¶ N *¶&¸*66¢G+-¹0²6¶<™¬+,-¶B*´¸H™ *-µ¬-*´ ™ ²N§²T¶WW„§ÿ¸*Y´lµ§ÿ�¬°:œ�žŸ% 5¡7£G¤L¥N§cŸi©sªv«±>K·c¸¹Xºx²³x»¼x½¾¿2þXMXÿ1CXXOú ù ´ »½¯H#�*´‡*´*´¸]ެ°¯±²³ÀÁ´ÀÂïÁ0*´t6*´£"*´t6*´£ hh`†¸a8*´†•ž§ç*¶6�§×,¹g�m˜œ†,o ¸pj‹6*´¶t¶ :6 *´ ™+²w¶}¶€¹ƒ§ˆ6 6  ¢|¶‰ ¡§o-¶B: + ¸Œ™)6 ²�™ ²•§²˜: +  ¶›¹¡W§ ™+ ¹0²¥¶«™§*´ ™ ²T§²N¶WW„ §ÿƒ„§þñ„§þÛ±°r³´ µ1¶<·?ºG»L¼O¾]ÀkÃ|ÄƠǪȴɷ˿ÌÈÍËÎÜÏëÐÑÓÇ#´)³/رŽÜÄ; ¿^Å £€· 1òÆÁGÜÇ|§È¹¤É  ƒÊ Ë(Ì0²³0»¼0ÍÎ0½¾¿süüü'üý0XAýü!BœNXÿ 1hCX!XOÿ 1hCúú´ »Í½ÏЯa*´¡*´$�—›§¬°ݱ ²³ÑÒÁ¿@´ ÑÒÓÔÕÖØ"ÖÙX!Ú CÖÛxÜÞ@