类 LightStorage<M extends ChunkToNibbleArrayMap<M>>

  • 直接已知子类:
    BlockLightStorage, SkyLightStorage

    public abstract class LightStorage<M extends ChunkToNibbleArrayMap<M>>
    extends SectionDistanceLevelPropagator
    LightStorage handles the access, storage and propagation of a specific kind of light within the world. For example, separate instances will be used to store block light as opposed to sky light.

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

    To avoid allocations, LightStorage packs all the coordinate arguments into single long values. Extra care should be taken to ensure that the relevant types are being used where appropriate.

    另请参阅:
    SkyLightStorage, BlockLightStorage
    Mappings:
    Namespace Name
    official ddi
    intermediary net/minecraft/class_3560
    named net/minecraft/world/chunk/light/LightStorage
    • 字段详细资料

      • field_31710

        protected static final int field_31710
        另请参阅:
        常量字段值
        Mappings:
        Namespace Name Mixin selector
        official a Lddi;a:I
        intermediary field_31710 Lnet/minecraft/class_3560;field_31710:I
        named field_31710 Lnet/minecraft/world/chunk/light/LightStorage;field_31710:I
      • field_31711

        protected static final int field_31711
        另请参阅:
        常量字段值
        Mappings:
        Namespace Name Mixin selector
        official b Lddi;b:I
        intermediary field_31711 Lnet/minecraft/class_3560;field_31711:I
        named field_31711 Lnet/minecraft/world/chunk/light/LightStorage;field_31711:I
      • field_31712

        protected static final int field_31712
        另请参阅:
        常量字段值
        Mappings:
        Namespace Name Mixin selector
        official c Lddi;c:I
        intermediary field_31712 Lnet/minecraft/class_3560;field_31712:I
        named field_31712 Lnet/minecraft/world/chunk/light/LightStorage;field_31712:I
      • EMPTY

        protected static final ChunkNibbleArray EMPTY
        Mappings:
        Namespace Name Mixin selector
        official d Lddi;d:Lclp;
        intermediary field_15801 Lnet/minecraft/class_3560;field_15801:Lnet/minecraft/class_2804;
        named EMPTY Lnet/minecraft/world/chunk/light/LightStorage;EMPTY:Lnet/minecraft/world/chunk/ChunkNibbleArray;
      • DIRECTIONS

        private static final Direction[] DIRECTIONS
        Mappings:
        Namespace Name Mixin selector
        official n Lddi;n:[Lgg;
        intermediary field_15799 Lnet/minecraft/class_3560;field_15799:[Lnet/minecraft/class_2350;
        named DIRECTIONS Lnet/minecraft/world/chunk/light/LightStorage;DIRECTIONS:[Lnet/minecraft/util/math/Direction;
      • lightType

        private final LightType lightType
        Mappings:
        Namespace Name Mixin selector
        official o Lddi;o:Lbwa;
        intermediary field_15805 Lnet/minecraft/class_3560;field_15805:Lnet/minecraft/class_1944;
        named lightType Lnet/minecraft/world/chunk/light/LightStorage;lightType:Lnet/minecraft/world/LightType;
      • chunkProvider

        private final ChunkProvider chunkProvider
        Mappings:
        Namespace Name Mixin selector
        official p Lddi;p:Lclx;
        intermediary field_15803 Lnet/minecraft/class_3560;field_15803:Lnet/minecraft/class_2823;
        named chunkProvider Lnet/minecraft/world/chunk/light/LightStorage;chunkProvider:Lnet/minecraft/world/chunk/ChunkProvider;
      • readySections

        protected final LongSet readySections
        Mappings:
        Namespace Name Mixin selector
        official e Lddi;e:Lit/unimi/dsi/fastutil/longs/LongSet;
        intermediary field_15808 Lnet/minecraft/class_3560;field_15808:Lit/unimi/dsi/fastutil/longs/LongSet;
        named readySections Lnet/minecraft/world/chunk/light/LightStorage;readySections:Lit/unimi/dsi/fastutil/longs/LongSet;
      • markedNotReadySections

        protected final LongSet markedNotReadySections
        Mappings:
        Namespace Name Mixin selector
        official f Lddi;f:Lit/unimi/dsi/fastutil/longs/LongSet;
        intermediary field_15797 Lnet/minecraft/class_3560;field_15797:Lit/unimi/dsi/fastutil/longs/LongSet;
        named markedNotReadySections Lnet/minecraft/world/chunk/light/LightStorage;markedNotReadySections:Lit/unimi/dsi/fastutil/longs/LongSet;
      • markedReadySections

        protected final LongSet markedReadySections
        Mappings:
        Namespace Name Mixin selector
        official g Lddi;g:Lit/unimi/dsi/fastutil/longs/LongSet;
        intermediary field_15804 Lnet/minecraft/class_3560;field_15804:Lit/unimi/dsi/fastutil/longs/LongSet;
        named markedReadySections Lnet/minecraft/world/chunk/light/LightStorage;markedReadySections:Lit/unimi/dsi/fastutil/longs/LongSet;
      • uncachedStorage

        protected volatile M extends ChunkToNibbleArrayMap<M> uncachedStorage
        Mappings:
        Namespace Name Mixin selector
        official h Lddi;h:Lddd;
        intermediary field_15806 Lnet/minecraft/class_3560;field_15806:Lnet/minecraft/class_3556;
        named uncachedStorage Lnet/minecraft/world/chunk/light/LightStorage;uncachedStorage:Lnet/minecraft/world/chunk/ChunkToNibbleArrayMap;
      • storage

        protected final M extends ChunkToNibbleArrayMap<M> storage
        Mappings:
        Namespace Name Mixin selector
        official i Lddi;i:Lddd;
        intermediary field_15796 Lnet/minecraft/class_3560;field_15796:Lnet/minecraft/class_3556;
        named storage Lnet/minecraft/world/chunk/light/LightStorage;storage:Lnet/minecraft/world/chunk/ChunkToNibbleArrayMap;
      • dirtySections

        protected final LongSet dirtySections
        Mappings:
        Namespace Name Mixin selector
        official j Lddi;j:Lit/unimi/dsi/fastutil/longs/LongSet;
        intermediary field_15802 Lnet/minecraft/class_3560;field_15802:Lit/unimi/dsi/fastutil/longs/LongSet;
        named dirtySections Lnet/minecraft/world/chunk/light/LightStorage;dirtySections:Lit/unimi/dsi/fastutil/longs/LongSet;
      • notifySections

        protected final LongSet notifySections
        Mappings:
        Namespace Name Mixin selector
        official k Lddi;k:Lit/unimi/dsi/fastutil/longs/LongSet;
        intermediary field_16448 Lnet/minecraft/class_3560;field_16448:Lit/unimi/dsi/fastutil/longs/LongSet;
        named notifySections Lnet/minecraft/world/chunk/light/LightStorage;notifySections:Lit/unimi/dsi/fastutil/longs/LongSet;
      • queuedSections

        protected final Long2ObjectMap<ChunkNibbleArray> queuedSections
        Mappings:
        Namespace Name Mixin selector
        official l Lddi;l:Lit/unimi/dsi/fastutil/longs/Long2ObjectMap;
        intermediary field_15807 Lnet/minecraft/class_3560;field_15807:Lit/unimi/dsi/fastutil/longs/Long2ObjectMap;
        named queuedSections Lnet/minecraft/world/chunk/light/LightStorage;queuedSections:Lit/unimi/dsi/fastutil/longs/Long2ObjectMap;
      • queuedEdgeSections

        private final LongSet queuedEdgeSections
        Mappings:
        Namespace Name Mixin selector
        official q Lddi;q:Lit/unimi/dsi/fastutil/longs/LongSet;
        intermediary field_25621 Lnet/minecraft/class_3560;field_25621:Lit/unimi/dsi/fastutil/longs/LongSet;
        named queuedEdgeSections Lnet/minecraft/world/chunk/light/LightStorage;queuedEdgeSections:Lit/unimi/dsi/fastutil/longs/LongSet;
      • columnsToRetain

        private final LongSet columnsToRetain
        Mappings:
        Namespace Name Mixin selector
        official r Lddi;r:Lit/unimi/dsi/fastutil/longs/LongSet;
        intermediary field_19342 Lnet/minecraft/class_3560;field_19342:Lit/unimi/dsi/fastutil/longs/LongSet;
        named columnsToRetain Lnet/minecraft/world/chunk/light/LightStorage;columnsToRetain:Lit/unimi/dsi/fastutil/longs/LongSet;
      • sectionsToRemove

        private final LongSet sectionsToRemove
        Mappings:
        Namespace Name Mixin selector
        official s Lddi;s:Lit/unimi/dsi/fastutil/longs/LongSet;
        intermediary field_15798 Lnet/minecraft/class_3560;field_15798:Lit/unimi/dsi/fastutil/longs/LongSet;
        named sectionsToRemove Lnet/minecraft/world/chunk/light/LightStorage;sectionsToRemove:Lit/unimi/dsi/fastutil/longs/LongSet;
      • hasLightUpdates

        protected volatile boolean hasLightUpdates
        Mappings:
        Namespace Name Mixin selector
        official m Lddi;m:Z
        intermediary field_15800 Lnet/minecraft/class_3560;field_15800:Z
        named hasLightUpdates Lnet/minecraft/world/chunk/light/LightStorage;hasLightUpdates:Z
    • 构造器详细资料

      • LightStorage

        protected LightStorage​(LightType lightType,
                               ChunkProvider chunkProvider,
                               M lightData)
        Mappings:
        Namespace Name Mixin selector
        official <init> Lddi;<init>(Lbwa;Lclx;Lddd;)V
        intermediary <init> Lnet/minecraft/class_3560;<init>(Lnet/minecraft/class_1944;Lnet/minecraft/class_2823;Lnet/minecraft/class_3556;)V
        named <init> Lnet/minecraft/world/chunk/light/LightStorage;<init>(Lnet/minecraft/world/LightType;Lnet/minecraft/world/chunk/ChunkProvider;Lnet/minecraft/world/chunk/ChunkToNibbleArrayMap;)V
    • 方法详细资料

      • hasSection

        protected boolean hasSection​(long sectionPos)
        Mappings:
        Namespace Name Mixin selector
        official g Lddi;g(J)Z
        intermediary method_15524 Lnet/minecraft/class_3560;method_15524(J)Z
        named hasSection Lnet/minecraft/world/chunk/light/LightStorage;hasSection(J)Z
      • getLightSection

        @Nullable
        protected @Nullable ChunkNibbleArray getLightSection​(long sectionPos,
                                                             boolean cached)
        Mappings:
        Namespace Name Mixin selector
        official a Lddi;a(JZ)Lclp;
        intermediary method_15522 Lnet/minecraft/class_3560;method_15522(JZ)Lnet/minecraft/class_2804;
        named getLightSection Lnet/minecraft/world/chunk/light/LightStorage;getLightSection(JZ)Lnet/minecraft/world/chunk/ChunkNibbleArray;
      • getLightSection

        @Nullable
        protected @Nullable ChunkNibbleArray getLightSection​(M storage,
                                                             long sectionPos)
        Mappings:
        Namespace Name Mixin selector
        official a Lddi;a(Lddd;J)Lclp;
        intermediary method_15533 Lnet/minecraft/class_3560;method_15533(Lnet/minecraft/class_3556;J)Lnet/minecraft/class_2804;
        named getLightSection Lnet/minecraft/world/chunk/light/LightStorage;getLightSection(Lnet/minecraft/world/chunk/ChunkToNibbleArrayMap;J)Lnet/minecraft/world/chunk/ChunkNibbleArray;
      • getLightSection

        @Nullable
        public @Nullable ChunkNibbleArray getLightSection​(long sectionPos)
        Mappings:
        Namespace Name Mixin selector
        official h Lddi;h(J)Lclp;
        intermediary method_20533 Lnet/minecraft/class_3560;method_20533(J)Lnet/minecraft/class_2804;
        named getLightSection Lnet/minecraft/world/chunk/light/LightStorage;getLightSection(J)Lnet/minecraft/world/chunk/ChunkNibbleArray;
      • getLight

        protected abstract int getLight​(long blockPos)
        Mappings:
        Namespace Name Mixin selector
        official d Lddi;d(J)I
        intermediary method_15538 Lnet/minecraft/class_3560;method_15538(J)I
        named getLight Lnet/minecraft/world/chunk/light/LightStorage;getLight(J)I
      • get

        protected int get​(long blockPos)
        Mappings:
        Namespace Name Mixin selector
        official i Lddi;i(J)I
        intermediary method_15537 Lnet/minecraft/class_3560;method_15537(J)I
        named get Lnet/minecraft/world/chunk/light/LightStorage;get(J)I
      • set

        protected void set​(long blockPos,
                           int value)
        Mappings:
        Namespace Name Mixin selector
        official b Lddi;b(JI)V
        intermediary method_15525 Lnet/minecraft/class_3560;method_15525(JI)V
        named set Lnet/minecraft/world/chunk/light/LightStorage;set(JI)V
      • getLevel

        protected int getLevel​(long id)
        指定者:
        getLevel 在类中 LevelPropagator
        Mappings:
        Namespace Name Mixin selector
        official c Ldde;c(J)I
        intermediary method_15480 Lnet/minecraft/class_3554;method_15480(J)I
        named getLevel Lnet/minecraft/world/chunk/light/LevelPropagator;getLevel(J)I
      • getInitialLevel

        protected int getInitialLevel​(long id)
        指定者:
        getInitialLevel 在类中 SectionDistanceLevelPropagator
        Mappings:
        Namespace Name Mixin selector
        official b Labf;b(J)I
        intermediary method_18749 Lnet/minecraft/class_4079;method_18749(J)I
        named getInitialLevel Lnet/minecraft/world/SectionDistanceLevelPropagator;getInitialLevel(J)I
      • setLevel

        protected void setLevel​(long id,
                                int level)
        指定者:
        setLevel 在类中 LevelPropagator
        Mappings:
        Namespace Name Mixin selector
        official a Ldde;a(JI)V
        intermediary method_15485 Lnet/minecraft/class_3554;method_15485(JI)V
        named setLevel Lnet/minecraft/world/chunk/light/LevelPropagator;setLevel(JI)V
      • createSection

        protected ChunkNibbleArray createSection​(long sectionPos)
        Mappings:
        Namespace Name Mixin selector
        official j Lddi;j(J)Lclp;
        intermediary method_15529 Lnet/minecraft/class_3560;method_15529(J)Lnet/minecraft/class_2804;
        named createSection Lnet/minecraft/world/chunk/light/LightStorage;createSection(J)Lnet/minecraft/world/chunk/ChunkNibbleArray;
      • removeSection

        protected void removeSection​(ChunkLightProvider<?,​?> storage,
                                     long sectionPos)
        Mappings:
        Namespace Name Mixin selector
        official a Lddi;a(Lddg;J)V
        intermediary method_15536 Lnet/minecraft/class_3560;method_15536(Lnet/minecraft/class_3558;J)V
        named removeSection Lnet/minecraft/world/chunk/light/LightStorage;removeSection(Lnet/minecraft/world/chunk/light/ChunkLightProvider;J)V
      • hasLightUpdates

        protected boolean hasLightUpdates()
        Mappings:
        Namespace Name Mixin selector
        official a Lddi;a()Z
        intermediary method_15528 Lnet/minecraft/class_3560;method_15528()Z
        named hasLightUpdates Lnet/minecraft/world/chunk/light/LightStorage;hasLightUpdates()Z
      • updateLight

        protected void updateLight​(ChunkLightProvider<M,​?> lightProvider,
                                   boolean doSkylight,
                                   boolean skipEdgeLightPropagation)
        Mappings:
        Namespace Name Mixin selector
        official a Lddi;a(Lddg;ZZ)V
        intermediary method_15527 Lnet/minecraft/class_3560;method_15527(Lnet/minecraft/class_3558;ZZ)V
        named updateLight Lnet/minecraft/world/chunk/light/LightStorage;updateLight(Lnet/minecraft/world/chunk/light/ChunkLightProvider;ZZ)V
      • updateSection

        private void updateSection​(ChunkLightProvider<M,​?> lightProvider,
                                   long sectionPos)
        Mappings:
        Namespace Name Mixin selector
        official b Lddi;b(Lddg;J)V
        intermediary method_29967 Lnet/minecraft/class_3560;method_29967(Lnet/minecraft/class_3558;J)V
        named updateSection Lnet/minecraft/world/chunk/light/LightStorage;updateSection(Lnet/minecraft/world/chunk/light/ChunkLightProvider;J)V
      • onLoadSection

        protected void onLoadSection​(long sectionPos)
        Mappings:
        Namespace Name Mixin selector
        official k Lddi;k(J)V
        intermediary method_15523 Lnet/minecraft/class_3560;method_15523(J)V
        named onLoadSection Lnet/minecraft/world/chunk/light/LightStorage;onLoadSection(J)V
      • onUnloadSection

        protected void onUnloadSection​(long sectionPos)
        Mappings:
        Namespace Name Mixin selector
        official l Lddi;l(J)V
        intermediary method_15534 Lnet/minecraft/class_3560;method_15534(J)V
        named onUnloadSection Lnet/minecraft/world/chunk/light/LightStorage;onUnloadSection(J)V
      • setColumnEnabled

        protected void setColumnEnabled​(long columnPos,
                                        boolean enabled)
        Mappings:
        Namespace Name Mixin selector
        official b Lddi;b(JZ)V
        intermediary method_15535 Lnet/minecraft/class_3560;method_15535(JZ)V
        named setColumnEnabled Lnet/minecraft/world/chunk/light/LightStorage;setColumnEnabled(JZ)V
      • setRetainColumn

        public void setRetainColumn​(long sectionPos,
                                    boolean retain)
        Mappings:
        Namespace Name Mixin selector
        official c Lddi;c(JZ)V
        intermediary method_20600 Lnet/minecraft/class_3560;method_20600(JZ)V
        named setRetainColumn Lnet/minecraft/world/chunk/light/LightStorage;setRetainColumn(JZ)V
      • enqueueSectionData

        protected void enqueueSectionData​(long sectionPos,
                                          @Nullable
                                          @Nullable ChunkNibbleArray array,
                                          boolean bool)
        Mappings:
        Namespace Name Mixin selector
        official a Lddi;a(JLclp;Z)V
        intermediary method_15532 Lnet/minecraft/class_3560;method_15532(JLnet/minecraft/class_2804;Z)V
        named enqueueSectionData Lnet/minecraft/world/chunk/light/LightStorage;enqueueSectionData(JLnet/minecraft/world/chunk/ChunkNibbleArray;Z)V
      • setSectionStatus

        protected void setSectionStatus​(long sectionPos,
                                        boolean notReady)
        Mappings:
        Namespace Name Mixin selector
        official d Lddi;d(JZ)V
        intermediary method_15526 Lnet/minecraft/class_3560;method_15526(JZ)V
        named setSectionStatus Lnet/minecraft/world/chunk/light/LightStorage;setSectionStatus(JZ)V
      • updateAll

        protected void updateAll()
        Mappings:
        Namespace Name Mixin selector
        official d Lddi;d()V
        intermediary method_15539 Lnet/minecraft/class_3560;method_15539()V
        named updateAll Lnet/minecraft/world/chunk/light/LightStorage;updateAll()V
      • notifyChanges

        protected void notifyChanges()
        Mappings:
        Namespace Name Mixin selector
        official e Lddi;e()V
        intermediary method_15530 Lnet/minecraft/class_3560;method_15530()V
        named notifyChanges Lnet/minecraft/world/chunk/light/LightStorage;notifyChanges()V