Class LevelRenderer

java.lang.Object
net.minecraft.client.renderer.LevelRenderer
All Implemented Interfaces:
AutoCloseable, PreparableReloadListener, ResourceManagerReloadListener

public class LevelRenderer extends Object implements ResourceManagerReloadListener, AutoCloseable
  • Field Details

    • LOGGER

      private static final org.apache.logging.log4j.Logger LOGGER
    • CHUNK_SIZE

      public static final int CHUNK_SIZE
      See Also:
      Constant Field Values
    • MAX_CHUNKS_WIDTH

      public static final int MAX_CHUNKS_WIDTH
      See Also:
      Constant Field Values
    • MAX_CHUNKS_AREA

      public static final int MAX_CHUNKS_AREA
      See Also:
      Constant Field Values
    • SKY_DISC_RADIUS

      private static final float SKY_DISC_RADIUS
      See Also:
      Constant Field Values
    • MIN_FOG_DISTANCE

      private static final int MIN_FOG_DISTANCE
      See Also:
      Constant Field Values
    • RAIN_RADIUS

      private static final int RAIN_RADIUS
      See Also:
      Constant Field Values
    • RAIN_DIAMETER

      private static final int RAIN_DIAMETER
      See Also:
      Constant Field Values
    • TRANSPARENT_SORT_COUNT

      private static final int TRANSPARENT_SORT_COUNT
      See Also:
      Constant Field Values
    • MOON_LOCATION

      private static final ResourceLocation MOON_LOCATION
    • SUN_LOCATION

      private static final ResourceLocation SUN_LOCATION
    • CLOUDS_LOCATION

      private static final ResourceLocation CLOUDS_LOCATION
    • END_SKY_LOCATION

      private static final ResourceLocation END_SKY_LOCATION
    • FORCEFIELD_LOCATION

      private static final ResourceLocation FORCEFIELD_LOCATION
    • RAIN_LOCATION

      private static final ResourceLocation RAIN_LOCATION
    • SNOW_LOCATION

      private static final ResourceLocation SNOW_LOCATION
    • DIRECTIONS

      public static final Direction[] DIRECTIONS
    • minecraft

      private final Minecraft minecraft
    • textureManager

      private final TextureManager textureManager
    • entityRenderDispatcher

      private final EntityRenderDispatcher entityRenderDispatcher
    • blockEntityRenderDispatcher

      private final BlockEntityRenderDispatcher blockEntityRenderDispatcher
    • renderBuffers

      private final RenderBuffers renderBuffers
    • level

      private ClientLevel level
    • chunksToCompile

      private Set<ChunkRenderDispatcher.RenderChunk> chunksToCompile
    • renderChunks

      private final it.unimi.dsi.fastutil.objects.ObjectArrayList<LevelRenderer.RenderChunkInfo> renderChunks
    • globalBlockEntities

      private final Set<BlockEntity> globalBlockEntities
    • viewArea

      private ViewArea viewArea
    • renderInfoMap

      private LevelRenderer.RenderInfoMap renderInfoMap
    • starBuffer

      @Nullable private VertexBuffer starBuffer
    • skyBuffer

      @Nullable private VertexBuffer skyBuffer
    • darkBuffer

      @Nullable private VertexBuffer darkBuffer
    • generateClouds

      private boolean generateClouds
    • cloudBuffer

      @Nullable private VertexBuffer cloudBuffer
    • frameTimes

      private final RunningTrimmedMean frameTimes
    • ticks

      private int ticks
    • destroyingBlocks

      private final it.unimi.dsi.fastutil.ints.Int2ObjectMap<BlockDestructionProgress> destroyingBlocks
    • destructionProgress

      private final it.unimi.dsi.fastutil.longs.Long2ObjectMap<SortedSet<BlockDestructionProgress>> destructionProgress
    • playingRecords

      private final Map<BlockPos,​SoundInstance> playingRecords
    • entityTarget

      @Nullable private RenderTarget entityTarget
    • entityEffect

      @Nullable private PostChain entityEffect
    • translucentTarget

      @Nullable private RenderTarget translucentTarget
    • itemEntityTarget

      @Nullable private RenderTarget itemEntityTarget
    • particlesTarget

      @Nullable private RenderTarget particlesTarget
    • weatherTarget

      @Nullable private RenderTarget weatherTarget
    • cloudsTarget

      @Nullable private RenderTarget cloudsTarget
    • transparencyChain

      @Nullable private PostChain transparencyChain
    • lastCameraX

      private double lastCameraX
    • lastCameraY

      private double lastCameraY
    • lastCameraZ

      private double lastCameraZ
    • lastCameraChunkX

      private int lastCameraChunkX
    • lastCameraChunkY

      private int lastCameraChunkY
    • lastCameraChunkZ

      private int lastCameraChunkZ
    • prevCamX

      private double prevCamX
    • prevCamY

      private double prevCamY
    • prevCamZ

      private double prevCamZ
    • prevCamRotX

      private double prevCamRotX
    • prevCamRotY

      private double prevCamRotY
    • prevCloudX

      private int prevCloudX
    • prevCloudY

      private int prevCloudY
    • prevCloudZ

      private int prevCloudZ
    • prevCloudColor

      private Vec3 prevCloudColor
    • prevCloudsType

      private CloudStatus prevCloudsType
    • chunkRenderDispatcher

      private ChunkRenderDispatcher chunkRenderDispatcher
    • lastViewDistance

      private int lastViewDistance
    • renderedEntities

      private int renderedEntities
    • culledEntities

      private int culledEntities
    • cullingFrustum

      private Frustum cullingFrustum
    • captureFrustum

      private boolean captureFrustum
    • capturedFrustum

      @Nullable private Frustum capturedFrustum
    • frustumPoints

      private final Vector4f[] frustumPoints
    • frustumPos

      private final Vector3d frustumPos
    • xTransparentOld

      private double xTransparentOld
    • yTransparentOld

      private double yTransparentOld
    • zTransparentOld

      private double zTransparentOld
    • needsUpdate

      private boolean needsUpdate
    • frameId

      private int frameId
    • rainSoundTime

      private int rainSoundTime
    • rainSizeX

      private final float[] rainSizeX
    • rainSizeZ

      private final float[] rainSizeZ
  • Constructor Details

  • Method Details

    • renderSnowAndRain

      private void renderSnowAndRain(LightTexture p_109704_, float p_109705_, double p_109706_, double p_109707_, double p_109708_)
    • tickRain

      public void tickRain(Camera p_109694_)
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
    • onResourceManagerReload

      public void onResourceManagerReload(ResourceManager p_109513_)
      Specified by:
      onResourceManagerReload in interface ResourceManagerReloadListener
    • initOutline

      public void initOutline()
    • initTransparency

      private void initTransparency()
    • deinitTransparency

      private void deinitTransparency()
    • doEntityOutline

      public void doEntityOutline()
    • shouldShowEntityOutlines

      protected boolean shouldShowEntityOutlines()
    • createDarkSky

      private void createDarkSky()
    • createLightSky

      private void createLightSky()
    • buildSkyDisc

      private static void buildSkyDisc(BufferBuilder p_172948_, float p_172949_)
    • createStars

      private void createStars()
    • drawStars

      private void drawStars(BufferBuilder p_109555_)
    • setLevel

      public void setLevel(@Nullable ClientLevel p_109702_)
    • graphicsChanged

      public void graphicsChanged()
    • allChanged

      public void allChanged()
    • resetChunksToCompile

      protected void resetChunksToCompile()
    • resize

      public void resize(int p_109488_, int p_109489_)
    • getChunkStatistics

      public String getChunkStatistics()
    • getChunkRenderDispatcher

      public ChunkRenderDispatcher getChunkRenderDispatcher()
    • getTotalChunks

      public double getTotalChunks()
    • getLastViewDistance

      public double getLastViewDistance()
    • countRenderedChunks

      public int countRenderedChunks()
    • getEntityStatistics

      public String getEntityStatistics()
    • setupRender

      private void setupRender(Camera p_109696_, Frustum p_109697_, boolean p_109698_, int p_109699_, boolean p_109700_)
    • updateRenderChunks

      private void updateRenderChunks(Frustum p_173001_, int p_173002_, boolean p_173003_, Vec3 p_173004_, BlockPos p_173005_, ChunkRenderDispatcher.RenderChunk p_173006_, int p_173007_, BlockPos p_173008_)
    • getRelativeFrom

      @Nullable private ChunkRenderDispatcher.RenderChunk getRelativeFrom(BlockPos p_109729_, ChunkRenderDispatcher.RenderChunk p_109730_, Direction p_109731_)
    • captureFrustum

      private void captureFrustum(Matrix4f p_109526_, Matrix4f p_109527_, double p_109528_, double p_109529_, double p_109530_, Frustum p_109531_)
    • prepareCullFrustum

      public void prepareCullFrustum(PoseStack p_172962_, Vec3 p_172963_, Matrix4f p_172964_)
    • renderLevel

      public void renderLevel(PoseStack p_109600_, float p_109601_, long p_109602_, boolean p_109603_, Camera p_109604_, GameRenderer p_109605_, LightTexture p_109606_, Matrix4f p_109607_)
    • checkPoseStack

      private void checkPoseStack(PoseStack p_109589_)
    • renderEntity

      private void renderEntity(Entity p_109518_, double p_109519_, double p_109520_, double p_109521_, float p_109522_, PoseStack p_109523_, MultiBufferSource p_109524_)
    • renderChunkLayer

      private void renderChunkLayer(RenderType p_172994_, PoseStack p_172995_, double p_172996_, double p_172997_, double p_172998_, Matrix4f p_172999_)
    • renderDebug

      private void renderDebug(Camera p_109794_)
    • addFrustumVertex

      private void addFrustumVertex(VertexConsumer p_109666_, int p_109667_)
    • addFrustumQuad

      private void addFrustumQuad(VertexConsumer p_109669_, int p_109670_, int p_109671_, int p_109672_, int p_109673_, int p_109674_, int p_109675_, int p_109676_)
    • captureFrustum

      public void captureFrustum()
    • killFrustum

      public void killFrustum()
    • tick

      public void tick()
    • removeProgress

      private void removeProgress(BlockDestructionProgress p_109766_)
    • renderEndSky

      private void renderEndSky(PoseStack p_109781_)
    • renderSky

      public void renderSky(PoseStack p_181410_, Matrix4f p_181411_, float p_181412_, Runnable p_181413_)
    • renderClouds

      public void renderClouds(PoseStack p_172955_, Matrix4f p_172956_, float p_172957_, double p_172958_, double p_172959_, double p_172960_)
    • buildClouds

      private void buildClouds(BufferBuilder p_109579_, double p_109580_, double p_109581_, double p_109582_, Vec3 p_109583_)
    • compileChunksUntil

      private void compileChunksUntil(long p_109511_)
    • renderWorldBorder

      private void renderWorldBorder(Camera p_173013_)
    • renderHitOutline

      private void renderHitOutline(PoseStack p_109638_, VertexConsumer p_109639_, Entity p_109640_, double p_109641_, double p_109642_, double p_109643_, BlockPos p_109644_, BlockState p_109645_)
    • renderVoxelShape

      public static void renderVoxelShape(PoseStack p_109655_, VertexConsumer p_109656_, VoxelShape p_109657_, double p_109658_, double p_109659_, double p_109660_, float p_109661_, float p_109662_, float p_109663_, float p_109664_)
    • renderShape

      private static void renderShape(PoseStack p_109783_, VertexConsumer p_109784_, VoxelShape p_109785_, double p_109786_, double p_109787_, double p_109788_, float p_109789_, float p_109790_, float p_109791_, float p_109792_)
    • renderLineBox

      public static void renderLineBox(VertexConsumer p_172966_, double p_172967_, double p_172968_, double p_172969_, double p_172970_, double p_172971_, double p_172972_, float p_172973_, float p_172974_, float p_172975_, float p_172976_)
    • renderLineBox

      public static void renderLineBox(PoseStack p_109647_, VertexConsumer p_109648_, AABB p_109649_, float p_109650_, float p_109651_, float p_109652_, float p_109653_)
    • renderLineBox

      public static void renderLineBox(PoseStack p_109609_, VertexConsumer p_109610_, double p_109611_, double p_109612_, double p_109613_, double p_109614_, double p_109615_, double p_109616_, float p_109617_, float p_109618_, float p_109619_, float p_109620_)
    • renderLineBox

      public static void renderLineBox(PoseStack p_109622_, VertexConsumer p_109623_, double p_109624_, double p_109625_, double p_109626_, double p_109627_, double p_109628_, double p_109629_, float p_109630_, float p_109631_, float p_109632_, float p_109633_, float p_109634_, float p_109635_, float p_109636_)
    • addChainedFilledBoxVertices

      public static void addChainedFilledBoxVertices(BufferBuilder p_109557_, double p_109558_, double p_109559_, double p_109560_, double p_109561_, double p_109562_, double p_109563_, float p_109564_, float p_109565_, float p_109566_, float p_109567_)
    • blockChanged

      public void blockChanged(BlockGetter p_109545_, BlockPos p_109546_, BlockState p_109547_, BlockState p_109548_, int p_109549_)
    • setBlockDirty

      private void setBlockDirty(BlockPos p_109733_, boolean p_109734_)
    • setBlocksDirty

      public void setBlocksDirty(int p_109495_, int p_109496_, int p_109497_, int p_109498_, int p_109499_, int p_109500_)
    • setBlockDirty

      public void setBlockDirty(BlockPos p_109722_, BlockState p_109723_, BlockState p_109724_)
    • setSectionDirtyWithNeighbors

      public void setSectionDirtyWithNeighbors(int p_109491_, int p_109492_, int p_109493_)
    • setSectionDirty

      public void setSectionDirty(int p_109771_, int p_109772_, int p_109773_)
    • setSectionDirty

      private void setSectionDirty(int p_109502_, int p_109503_, int p_109504_, boolean p_109505_)
    • playStreamingMusic

      @Deprecated public void playStreamingMusic(@Nullable SoundEvent p_109515_, BlockPos p_109516_)
      Deprecated.
    • playStreamingMusic

      public void playStreamingMusic(@Nullable SoundEvent p_109515_, BlockPos p_109516_, @Nullable RecordItem musicDiscItem)
    • notifyNearbyEntities

      private void notifyNearbyEntities(Level p_109551_, BlockPos p_109552_, boolean p_109553_)
    • addParticle

      public void addParticle(ParticleOptions p_109744_, boolean p_109745_, double p_109746_, double p_109747_, double p_109748_, double p_109749_, double p_109750_, double p_109751_)
    • addParticle

      public void addParticle(ParticleOptions p_109753_, boolean p_109754_, boolean p_109755_, double p_109756_, double p_109757_, double p_109758_, double p_109759_, double p_109760_, double p_109761_)
    • addParticle

      private <T extends ParticleOptions> void addParticle(T p_109736_, double p_109737_, double p_109738_, double p_109739_, double p_109740_, double p_109741_, double p_109742_)
    • addParticleInternal

      @Nullable private Particle addParticleInternal(ParticleOptions p_109796_, boolean p_109797_, double p_109798_, double p_109799_, double p_109800_, double p_109801_, double p_109802_, double p_109803_)
    • addParticleInternal

      @Nullable private Particle addParticleInternal(ParticleOptions p_109805_, boolean p_109806_, boolean p_109807_, double p_109808_, double p_109809_, double p_109810_, double p_109811_, double p_109812_, double p_109813_)
    • calculateParticleLevel

      private ParticleStatus calculateParticleLevel(boolean p_109768_)
    • clear

      public void clear()
    • globalLevelEvent

      public void globalLevelEvent(int p_109507_, BlockPos p_109508_, int p_109509_)
    • levelEvent

      public void levelEvent(Player p_109533_, int p_109534_, BlockPos p_109535_, int p_109536_)
    • destroyBlockProgress

      public void destroyBlockProgress(int p_109775_, BlockPos p_109776_, int p_109777_)
    • hasRenderedAllChunks

      public boolean hasRenderedAllChunks()
    • needsUpdate

      public void needsUpdate()
    • updateGlobalBlockEntities

      public void updateGlobalBlockEntities(Collection<BlockEntity> p_109763_, Collection<BlockEntity> p_109764_)
    • getLightColor

      public static int getLightColor(BlockAndTintGetter p_109542_, BlockPos p_109543_)
    • getLightColor

      public static int getLightColor(BlockAndTintGetter p_109538_, BlockState p_109539_, BlockPos p_109540_)
    • entityTarget

      @Nullable public RenderTarget entityTarget()
    • getTranslucentTarget

      @Nullable public RenderTarget getTranslucentTarget()
    • getItemEntityTarget

      @Nullable public RenderTarget getItemEntityTarget()
    • getParticlesTarget

      @Nullable public RenderTarget getParticlesTarget()
    • getWeatherTarget

      @Nullable public RenderTarget getWeatherTarget()
    • getCloudsTarget

      @Nullable public RenderTarget getCloudsTarget()