Êþº¾Eúnet/minecraft/core/SectionPosjava/lang/Integer  java/lang/Object()V +net/minecraft/core/BlockPos$MutableBlockPos   7net/minecraft/world/level/lighting/ChunkSkyLightSources mutablePos1-Lnet/minecraft/core/BlockPos$MutableBlockPos;   mutablePos2  -net/minecraft/world/level/LevelHeightAccessorgetMinY()I   minYI " #getMaxY %&' ()net/minecraft/util/Mthceillog2(I)I+#net/minecraft/util/SimpleBitStorage *- .(II)V 0 12 heightmapLnet/minecraft/util/BitStorage; 456 7+net/minecraft/world/level/chunk/ChunkAccessgetHighestFilledSectionIndex 9 :;fill(I)V = >?findLowestSourceY3(Lnet/minecraft/world/level/chunk/ChunkAccess;III)I ABC DEjava/lang/Mathmax(II)I G HEindex J K.set 4M N)getSectionYFromSectionIndex P Q)sectionToBlockCoord S KT2(III)Lnet/minecraft/core/BlockPos$MutableBlockPos; VWX YZnet/minecraft/core/DirectionDOWNLnet/minecraft/core/Direction; \ ]^ setWithOffsetg(Lnet/minecraft/core/Vec3i;Lnet/minecraft/core/Direction;)Lnet/minecraft/core/BlockPos$MutableBlockPos; `ab cd&net/minecraft/world/level/block/BlocksAIR'Lnet/minecraft/world/level/block/Block; fgh ij%net/minecraft/world/level/block/BlockdefaultBlockState4()Lnet/minecraft/world/level/block/state/BlockState; 4l mn getSection6(I)Lnet/minecraft/world/level/chunk/LevelChunkSection; pqr st1net/minecraft/world/level/chunk/LevelChunkSection hasOnlyAir()Z v wxsetY0(I)Lnet/minecraft/core/BlockPos$MutableBlockPos; z {getY p} ~ getBlockState7(III)Lnet/minecraft/world/level/block/state/BlockState; � ‚ƒisEdgeOccludedg(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/block/state/BlockState;)Z … K†I(Lnet/minecraft/core/Vec3i;)Lnet/minecraft/core/BlockPos$MutableBlockPos; ˆ ‰ŠmoveM(Lnet/minecraft/core/Direction;)Lnet/minecraft/core/BlockPos$MutableBlockPos; Œ �)get ��‘ ~’%net/minecraft/world/level/BlockGetterQ(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState; ” •– updateEdgeÊ(Lnet/minecraft/world/level/BlockGetter;IILnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)Z ˜z™net/minecraft/core/BlockPos › œ�findLowestSourceBelowy(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)I Ÿ ¡ ¢0net/minecraft/world/level/block/state/BlockStategetLightDampening ¤¥¦ §¨.net/minecraft/world/level/lighting/LightEnginegetOcclusionShape~(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/core/Direction;)Lnet/minecraft/world/phys/shapes/VoxelShape; Vª «ZUP ­®¯ °±&net/minecraft/world/phys/shapes/ShapesfaceShapeOccludes[(Lnet/minecraft/world/phys/shapes/VoxelShape;Lnet/minecraft/world/phys/shapes/VoxelShape;)Z ³ ´)extendSourcesBelowWorld€ ·¸¹ ºnet/minecraft/util/BitStoragegetSize ·Œ ·JSIZE ConstantValueNEGATIVE_INFINITY2(Lnet/minecraft/world/level/LevelHeightAccessor;)VCodeLineNumberTableLocalVariableTablethis9Lnet/minecraft/world/level/lighting/ChunkSkyLightSources;level/Lnet/minecraft/world/level/LevelHeightAccessor;maxYbitsMethodParametersfillFrom0(Lnet/minecraft/world/level/chunk/ChunkAccess;)V initialEdgeYxzchunk-Lnet/minecraft/world/level/chunk/ChunkAccess;maxSectionIndex StackMapTablesectionY bottomState2Lnet/minecraft/world/level/block/state/BlockState;ysection3Lnet/minecraft/world/level/chunk/LevelChunkSection; sectionIndextopSectionIndextopYtopPos bottomPostopStateupdate-(Lnet/minecraft/world/level/BlockGetter;III)Z'Lnet/minecraft/world/level/BlockGetter; upperEdgeYcurrentLowestSourceYLnet/minecraft/core/BlockPos; middlePos middleState oldTopEdgeY checkedEdgeYstartPos startStatetopShape,Lnet/minecraft/world/phys/shapes/VoxelShape; bottomShapegetLowestSourceYvaluegetHighestLowestSourceYimaxValue lowestSourceY SourceFileChunkSkyLightSources.java InnerClassesMutableBlockPos!½ ¾¿À ¾µ 12 Á¯K*·*» Y· µ*» Y· µ*+¹dµ+¹!`=*´d`¸$>*»*Y·,µ/±Ã"& /!;"J#Ä*KÅÆKÇÈ/É ;Ê ËÇÌÍÂîP+¶3=  **´¶8±>¢76¢'*+¶<*´¸@6*¸F¶I„§ÿØ„§ÿɱÃ. &' (),-%.7/C-I,O2Ä>7 Î +Ï :Ð PÅÆPÑÒKÓ Ôüüüú*úËÑ>?Â÷ ¾+¶L`¸O6*´¶R:*´²U¶[:²_¶e:6  ›„+ ¶k:  ¶o™.²_¶e:+ ¶L6  ¸O¶uW¶yd¶uW§C6  ›:  ¶|:  ¸€™ ¶y¬ :¶„W²U¶‡W„ ÿ§ÿÇ„ ÿ§ÿ}*´¬ÃZ5 78(:0<8=@>H@PAXBcCpDsF|GˆH’I˜KœL¤M­F³<¹QÄŽXÕ ˆ%Ö× w<Ø @sÙÚ 3†Û ¾ÅƾÑÒ¾Ü ¾Ï ¾Ð  ²Ý ¤Þ(–ß0Žà×Ô3ÿ3 4  Ÿü?püü ŸøúËÑÜÏÐáâœ�`6¸F6*¶‹6¢¬*´`¶R:+¹Ž: *´¶R: + ¹Ž: *+   ¶“™¬*´d¶R: + ¹Ž: *+    ¶“¬Ã:VX YZ[^-_7`DaNbbcdfsg}hÄŽ�ÅÆ�Çã�Ï �Ø �Ð Šä  ‚H zå -bÞæ7Xà× DKçæ NAè× sßæ }Ö× Ô'þÿE �˜Ÿ˜ŸËÇÏØÐ•–Âß 8¶—6¸€™¤"*¶I¬ **+¶š¶I¬¬Ã& lmnop s&t4u6xÄ\ 8ÅÆ8Çã8H 8é 8Þæ8à×8ßæ8Ö×1ê Ôü ËÇHéÞàßÖœ�Â]*´,¶„:*´,²U¶[:-:¶y*´¡5+¹Ž:¸€™ ¶y¬:¶„W²U¶‡W§ÿÅ*´¬Ã2 | }~&€0�:‚@„D…L†U‡XˆÄR0%Ö×]ÅÆ]Çã]ëæ]ì× SÞFßCà×Ôþ  Ÿü%ŸúË Çëì ‚ƒ€+¶ž™¬*²U¸£M+²©¸£N,-¸¬¬ÃŒ� ��‘Ä*à×Ö×íîïîÔ Ë àÖðEÂ\*¸F¶‹>*¶²¬à • –Ä*ÅÆÏ Ð  ñ Ë ÏÐò¦5µ<=*´/¹¶¢*´/¹»>¤<„§ÿÞ**´`¶²¬Ãš›œ�"ž$›*¡Ä*ñ %ó 5ÅÆ2ô Ô ýú:;Â�(*´d=>*´/¹¶¢*´/¹¼„§ÿå±Ã¥¦§!¦'©Ä* ó (ÅÆ(õ !ñ Ô ý úËõK.ÂS*´/*´d¹¼±à ¬­Ä ÅÆH ñ Ë Hñ�)ÂD*´/¹»*´`¬Ã°ÄÅÆH ËH´)ÂR *´ µ¬¬Ã´µ ·Ä ÅÆ ñ Ô Ëñ HEÂ;h`¬Ã»ÄÏ Ð Ë ÏÐö÷ø  ˜ù