Êþº¾Eõ  java/lang/Record()V   :net/minecraft/world/level/levelgen/feature/EndSpikeFeaturespikesLjava/util/List;  crystalInvulnerableZ  crystalBeamTargetLjava/util/Optional;  'net/minecraft/world/level/WorldGenLevelgetSeed()J   net/minecraft/util/RandomSourcecreateThreadLocalInstance$(J)Lnet/minecraft/util/RandomSource; " #nextLongÿÿ ' () SPIKE_CACHE&Lcom/google/common/cache/LoadingCache; +,- ./java/lang/LongvalueOf(J)Ljava/lang/Long; 123 45$com/google/common/cache/LoadingCache getUnchecked&(Ljava/lang/Object;)Ljava/lang/Object;7java/util/List 9 :;CODEC#Lcom/mojang/serialization/MapCodec; 6= >?isEmpty()Z A BCgetSpikesForLevel;(Lnet/minecraft/world/level/WorldGenLevel;)Ljava/util/List; 6E FGiterator()Ljava/util/Iterator; IJK L?java/util/IteratorhasNext IN OPnext()Ljava/lang/Object;RCnet/minecraft/world/level/levelgen/feature/EndSpikeFeature$EndSpike QT UVisCenterWithinChunk (Lnet/minecraft/core/BlockPos;)Z X YZ placeSpike˜(Lnet/minecraft/world/level/ServerLevelAccessor;Lnet/minecraft/util/RandomSource;Lnet/minecraft/world/level/levelgen/feature/EndSpikeFeature$EndSpike;)V Q\ ]^ getRadius()I`net/minecraft/core/BlockPos Qb c^ getCenterX efg h^-net/minecraft/world/level/ServerLevelAccessorgetMinY Qj k^ getCenterZ _m n(III)V Qp q^ getHeight _s tu betweenClosedP(Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/BlockPos;)Ljava/lang/Iterable; wExjava/lang/Iterable _z {^getY _} ~distToLowCornerSqr(DDD)D �‚ƒ „…&net/minecraft/world/level/block/BlocksOBSIDIAN'Lnet/minecraft/world/level/block/Block; ‡ˆ‰ Š‹%net/minecraft/world/level/block/BlockdefaultBlockState4()Lnet/minecraft/world/level/block/state/BlockState; � Ž�setBlocky(Lnet/minecraft/world/level/LevelWriter;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)V �‘ ’…AIR Q” •? isGuarded—+net/minecraft/core/BlockPos$MutableBlockPos – š›œ �žnet/minecraft/util/Mthabs(I)I �  ¡… IRON_BARS £¤¥ ¦§-net/minecraft/world/level/block/IronBarsBlockNORTHBLnet/minecraft/world/level/block/state/properties/BooleanProperty; ©ª« .¬java/lang/Boolean(Z)Ljava/lang/Boolean; ®¯° ±²0net/minecraft/world/level/block/state/BlockStatesetValuee(Lnet/minecraft/world/level/block/state/properties/Property;Ljava/lang/Comparable;)Ljava/lang/Object; £´ µ§SOUTH £· ¸§WEST £º »§EAST –½ ¾¿set2(III)Lnet/minecraft/core/BlockPos$MutableBlockPos; ÁÂà ÄÅ&net/minecraft/world/entity/EntityTypes END_CRYSTAL'Lnet/minecraft/world/entity/EntityType; eÇ ÈÉgetLevel*()Lnet/minecraft/server/level/ServerLevel; ËÌÍ ÎÏ,net/minecraft/world/entity/EntitySpawnReason STRUCTURE.Lnet/minecraft/world/entity/EntitySpawnReason; ÑÒÓ ÔÕ%net/minecraft/world/entity/EntityTypecreatet(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/EntitySpawnReason;)Lnet/minecraft/world/entity/Entity;×6net/minecraft/world/entity/boss/enderdragon/EndCrystal ÙÚÛ Ü5java/util/OptionalorElse ÖÞ ßà setBeamTarget (Lnet/minecraft/core/BlockPos;)V Öâ ãäsetPermanentlyInvulnerable(Z)V?à è éê nextFloat()FC´ Öí îïsnapTo(DDDFF)V eñ òóaddFreshEntity&(Lnet/minecraft/world/entity/Entity;)Z Öõ ö÷ blockPosition()Lnet/minecraft/core/BlockPos; _ù ú÷below �ü ý…BEDROCK ÿ )net/minecraft/world/level/block/FireBlockgetStatex(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState; toStringP(Lnet/minecraft/world/level/levelgen/feature/EndSpikeFeature;)Ljava/lang/String;   hashCode?(Lnet/minecraft/world/level/levelgen/feature/EndSpikeFeature;)I equalsQ(Lnet/minecraft/world/level/levelgen/feature/EndSpikeFeature;Ljava/lang/Object;)Z Q : Lcom/mojang/serialization/Codec;  com/mojang/serialization/CodeclistOf"()Lcom/mojang/serialization/Codec;  fieldOf7(Ljava/lang/String;)Lcom/mojang/serialization/MapCodec;  !apply()Ljava/util/function/Function; #$% &'!com/mojang/serialization/MapCodec forGetterS(Ljava/util/function/Function;)Lcom/mojang/serialization/codecs/RecordCodecBuilder; ) *+BOOL0Lcom/mojang/serialization/codecs/PrimitiveCodec;-crystal_invulnerable /01 23.com/mojang/serialization/codecs/PrimitiveCodecoptionalFieldOfI(Ljava/lang/String;Ljava/lang/Object;)Lcom/mojang/serialization/MapCodec; _7crystal_beam_target 9 2 <=> ?@;com/mojang/serialization/codecs/RecordCodecBuilder$Instancegroupˆ(Lcom/mojang/datafixers/kinds/App;Lcom/mojang/datafixers/kinds/App;Lcom/mojang/datafixers/kinds/App;)Lcom/mojang/datafixers/Products$P3;B  C(()Lcom/mojang/datafixers/util/Function3; EFG  H!com/mojang/datafixers/Products$P3r(Lcom/mojang/datafixers/kinds/Applicative;Lcom/mojang/datafixers/util/Function3;)Lcom/mojang/datafixers/kinds/App; JKL MN$com/google/common/cache/CacheBuilder newBuilder(()Lcom/google/common/cache/CacheBuilder; RST UVjava/util/concurrent/TimeUnitMINUTESLjava/util/concurrent/TimeUnit; JX YZexpireAfterWriteH(JLjava/util/concurrent/TimeUnit;)Lcom/google/common/cache/CacheBuilder;\Knet/minecraft/world/level/levelgen/feature/EndSpikeFeature$SpikeCacheLoader [ J_ `abuildM(Lcom/google/common/cache/CacheLoader;)Lcom/google/common/cache/LoadingCache; def gh2com/mojang/serialization/codecs/RecordCodecBuildermapCodecB(Ljava/util/function/Function;)Lcom/mojang/serialization/MapCodec;j2net/minecraft/world/level/levelgen/feature/Feature SignatureWLjava/util/List;3Ljava/util/Optional;NUMBER_OF_SPIKESI ConstantValue SPIKE_DISTANCE*�Lcom/google/common/cache/LoadingCache;>;aLcom/mojang/serialization/MapCodec;((Ljava/util/List;ZLjava/util/Optional;)VCodeLineNumberTableLocalVariableTablethis;ZLjava/util/Optional;)Vlevel)Lnet/minecraft/world/level/WorldGenLevel;random!Lnet/minecraft/util/RandomSource;keyJ‚(Lnet/minecraft/world/level/WorldGenLevel;)Ljava/util/List;codec%()Lcom/mojang/serialization/MapCodec;c()Lcom/mojang/serialization/MapCodec;placeš(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/world/level/chunk/ChunkGenerator;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;)ZspikeELnet/minecraft/world/level/levelgen/feature/EndSpikeFeature$EndSpike;chunkGenerator0Lnet/minecraft/world/level/chunk/ChunkGenerator;originLnet/minecraft/core/BlockPos; StackMapTableposxEdgezEdgestate2Lnet/minecraft/world/level/block/state/BlockState;isXSideisZSidetopdydzdxstartendyEnd-Lnet/minecraft/core/BlockPos$MutableBlockPos; crystalPos/Lnet/minecraft/world/level/ServerLevelAccessor;radius endCrystal8Lnet/minecraft/world/entity/boss/enderdragon/EndCrystal;§@net/minecraft/world/level/block/state/properties/BooleanProperty()Ljava/lang/String;(Ljava/lang/Object;)ZoLjava/lang/Object;()Ljava/util/List;Y()Ljava/util/List;()Ljava/util/Optional;5()Ljava/util/Optional;lambda$static$0`(Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/kinds/App;i=Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance; SourceFileEndSpikeFeature.java NestMembersRecordBootstrapMethods»,spikes;crystalInvulnerable;crystalBeamTarget 5Á  ¬ÄN(Lnet/minecraft/world/level/levelgen/feature/EndSpikeFeature;)Ljava/util/List;Æ Ç ?ÉQ(Lnet/minecraft/world/level/levelgen/feature/EndSpikeFeature;)Ljava/lang/Boolean;Ë Ì ®ÎR(Lnet/minecraft/world/level/levelgen/feature/EndSpikeFeature;)Ljava/util/Optional;ÐJ(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;Ò Ó vÕu(Ljava/util/List;Ljava/lang/Boolean;Ljava/util/Optional;)Lnet/minecraft/world/level/levelgen/feature/EndSpikeFeature;× Ø °±±Û ÜÝÞ ßà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;â ãäå æç"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; InnerClassesEndSpikeMutableBlockPosInstanceícom/mojang/datafixers/ProductsP3SpikeCacheLoaderñ%java/lang/invoke/MethodHandles$Lookupójava/lang/invoke/MethodHandlesLookup1i klkmnopqrops()kt:;ku vwx*·*+µ*µ *-µ±x"y*z{ | lm}  k~ BCwk%*¹¸L+¹!$A²& ¸*¹0À6°x/ 01y %€ �‚ƒ„}k…†‡w.²8°x6y z{kˆ‰ŠwøL*´:¹<™ +¸@:¹D:¹H™$¹MÀQ:¶S™ *+-¶W§ÿجx";<=@5A?BGDJFyH5‹ŒLz{L€L�ŽL�‚L��F | F l‘ü6üI'ú}���YZwù Ž-¶[6»_Y-¶ad+¹d-¶id·l»_Y-¶a`-¶o `-¶i`·l¸r¹v:¹H™f¹MÀ_:-¶a‡¶y‡-¶i‡¶|h`‡˜�¶y-¶o¢*+²€¶†¶Œ§¶yA¤*+²�¶†¶Œ§ÿ–-¶“™Nþ666»–Y·˜:þ6  £1þ6  £!6  £ ¸™ §6  ¸™ §6   §6 š  š™Ð þŸ Ÿ™§6 þŸ Ÿ™§6²Ÿ¶†²¢™ þŸ§¸¨¶­À®²³™  Ÿ§¸¨¶­À®²¶™ þŸ§¸¨¶­À®²¹™  Ÿ§¸¨¶­À®:*+-¶a `-¶o `-¶i `¶¼¶Œ„ §þî„ §þß„ §þϲÀ+¹Æ²Ê¶ÐÀÖ:Æq*´¶ØÀ_¶Ý*´ ¶á-¶a‡åc-¶o`‡-¶i‡åc,¹çëj ¶ì+¹ðW¶ô:*+¶ø²û¶†¶Œ*++¸þ¶Œ±x¢(JK]LŠMšN¤O±Q´S»T¿UÂVÅXÎYØZâ[ë\û] ^`'a@bYdse�f¬gÈhÓjô[úZYqrs/t8u`vixpy€z�|yÔ]T’�@´“Y›”Ó!•–ûù—  é˜ Ü™åšo Ü$›o Ò4œo ¿G�oÂDžoÅAŸoÎ8’ p¡�Žz{Ž¢Ž�‚Ž‹Œˆ£ot¤¥‘×!ýGIüR_úúÿ eQ–ü ü@ü@ü @ü@ü@ÿeQ–®¦ÿeQ–®¦ÿeQ–®¦ÿeQ–®¦ÿeQ–®¦ÿeQ–®¦ÿeQ–®¦ÿeQ–®¦ÿ+ eQ–úúÿeQü†Ö} �‹¨w1*º°x"y z{ ^w1*º¬x"y z{©w<*+º ¬x"yz{ª«}ª ¬w/*´°x"y z{k­?w/*´ ¬x"y z{®w/*´°x"y z{k¯ °±w’P*²¹¹º¶"²(,¸¨¹.º4¶"²56¹8º:¶"¶;*ºA¶D°x'( )6*C'L+O'y P²³´wA%¸IO²Q¶W»[Y·]¶^³&ºb¸c³8±x %'µ¶·[Q¸$ klkm¹BÚº¼½¾á¿ÀÃá¿ÅÈá¿ÊÍáÏÑÔá¿ÖÙè2Qé –_ê <dëEìî[ï ðòô