CLASS net/minecraft/class_3560 net/minecraft/world/chunk/light/LightStorage COMMENT LightStorage handles the access, storage and propagation of a specific kind of light within the world. COMMENT For example, separate instances will be used to store block light as opposed to sky light. COMMENT COMMENT

The smallest unit within LightStorage is the section. Sections represent a cube of 16x16x16 blocks and their lighting data. COMMENT In turn, 16 sections stacked on top of each other form a column, which are analogous to the standard 16x256x16 world chunks. COMMENT COMMENT

To avoid allocations, LightStorage packs all the coordinate arguments into single long values. Extra care should be taken COMMENT to ensure that the relevant types are being used where appropriate. COMMENT COMMENT @see SkyLightStorage COMMENT @see BlockLightStorage FIELD field_15796 storage Lnet/minecraft/class_3556; FIELD field_15797 markedNotReadySections Lit/unimi/dsi/fastutil/longs/LongSet; FIELD field_15798 sectionsToRemove Lit/unimi/dsi/fastutil/longs/LongSet; FIELD field_15799 DIRECTIONS [Lnet/minecraft/class_2350; FIELD field_15800 hasLightUpdates Z FIELD field_15801 EMPTY Lnet/minecraft/class_2804; FIELD field_15802 dirtySections Lit/unimi/dsi/fastutil/longs/LongSet; FIELD field_15803 chunkProvider Lnet/minecraft/class_2823; FIELD field_15804 markedReadySections Lit/unimi/dsi/fastutil/longs/LongSet; FIELD field_15805 lightType Lnet/minecraft/class_1944; FIELD field_15806 uncachedStorage Lnet/minecraft/class_3556; FIELD field_15807 queuedSections Lit/unimi/dsi/fastutil/longs/Long2ObjectMap; FIELD field_15808 readySections Lit/unimi/dsi/fastutil/longs/LongSet; FIELD field_16448 notifySections Lit/unimi/dsi/fastutil/longs/LongSet; FIELD field_19342 columnsToRetain Lit/unimi/dsi/fastutil/longs/LongSet; FIELD field_25621 queuedEdgeSections Lit/unimi/dsi/fastutil/longs/LongSet; METHOD (Lnet/minecraft/class_1944;Lnet/minecraft/class_2823;Lnet/minecraft/class_3556;)V ARG 1 lightType ARG 2 chunkProvider ARG 3 lightData METHOD method_15522 getLightSection (JZ)Lnet/minecraft/class_2804; ARG 1 sectionPos ARG 3 cached METHOD method_15523 onLoadSection (J)V ARG 1 sectionPos METHOD method_15524 hasSection (J)Z ARG 1 sectionPos METHOD method_15525 set (JI)V ARG 1 blockPos ARG 3 value METHOD method_15526 setSectionStatus (JZ)V ARG 1 sectionPos ARG 3 notReady METHOD method_15527 updateLight (Lnet/minecraft/class_3558;ZZ)V ARG 1 lightProvider ARG 2 doSkylight ARG 3 skipEdgeLightPropagation METHOD method_15528 hasLightUpdates ()Z METHOD method_15529 createSection (J)Lnet/minecraft/class_2804; ARG 1 sectionPos METHOD method_15530 notifyChanges ()V METHOD method_15532 enqueueSectionData (JLnet/minecraft/class_2804;Z)V ARG 1 sectionPos ARG 3 array METHOD method_15533 getLightSection (Lnet/minecraft/class_3556;J)Lnet/minecraft/class_2804; ARG 1 storage ARG 2 sectionPos METHOD method_15534 onUnloadSection (J)V ARG 1 sectionPos METHOD method_15535 setColumnEnabled (JZ)V ARG 1 columnPos ARG 3 enabled METHOD method_15536 removeSection (Lnet/minecraft/class_3558;J)V ARG 1 storage ARG 2 sectionPos METHOD method_15537 get (J)I ARG 1 blockPos METHOD method_15538 getLight (J)I ARG 1 blockPos METHOD method_15539 updateAll ()V METHOD method_20533 getLightSection (J)Lnet/minecraft/class_2804; ARG 1 sectionPos METHOD method_20600 setRetainColumn (JZ)V ARG 1 sectionPos ARG 3 retain METHOD method_29967 updateSection (Lnet/minecraft/class_3558;J)V ARG 1 lightProvider ARG 2 sectionPos