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.slf4j.Logger LOGGER
    • SECTION_SIZE

      public static final int SECTION_SIZE
      See Also:
    • HALF_SECTION_SIZE

      public static final int HALF_SECTION_SIZE
      See Also:
    • SKY_DISC_RADIUS

      private static final float SKY_DISC_RADIUS
      See Also:
    • MIN_FOG_DISTANCE

      private static final int MIN_FOG_DISTANCE
      See Also:
    • RAIN_RADIUS

      private static final int RAIN_RADIUS
      See Also:
    • RAIN_DIAMETER

      private static final int RAIN_DIAMETER
      See Also:
    • TRANSPARENT_SORT_COUNT

      private static final int TRANSPARENT_SORT_COUNT
      See Also:
    • 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
    • entityRenderDispatcher

      private final EntityRenderDispatcher entityRenderDispatcher
    • blockEntityRenderDispatcher

      private final BlockEntityRenderDispatcher blockEntityRenderDispatcher
    • renderBuffers

      private final RenderBuffers renderBuffers
    • level

      @Nullable private ClientLevel level
    • sectionOcclusionGraph

      private final SectionOcclusionGraph sectionOcclusionGraph
    • visibleSections

      private final it.unimi.dsi.fastutil.objects.ObjectArrayList<SectionRenderDispatcher.RenderSection> visibleSections
    • globalBlockEntities

      private final Set<BlockEntity> globalBlockEntities
    • viewArea

      @Nullable private ViewArea viewArea
    • 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
    • lastCameraSectionX

      private int lastCameraSectionX
    • lastCameraSectionY

      private int lastCameraSectionY
    • lastCameraSectionZ

      private int lastCameraSectionZ
    • 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

      @Nullable private CloudStatus prevCloudsType
    • sectionRenderDispatcher

      @Nullable private SectionRenderDispatcher sectionRenderDispatcher
    • 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 org.joml.Vector4f[] frustumPoints
    • frustumPos

      private final org.joml.Vector3d frustumPos
    • xTransparentOld

      private double xTransparentOld
    • yTransparentOld

      private double yTransparentOld
    • zTransparentOld

      private double zTransparentOld
    • 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

      public boolean shouldShowEntityOutlines()
    • createDarkSky

      private void createDarkSky()
    • createLightSky

      private void createLightSky()
    • buildSkyDisc

      private static BufferBuilder.RenderedBuffer buildSkyDisc(BufferBuilder p_234268_, float p_234269_)
    • createStars

      private void createStars()
    • drawStars

      private BufferBuilder.RenderedBuffer drawStars(BufferBuilder p_234260_)
    • setLevel

      public void setLevel(@Nullable ClientLevel p_109702_)
    • graphicsChanged

      public void graphicsChanged()
    • allChanged

      public void allChanged()
    • resize

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

      public String getSectionStatistics()
    • getSectionRenderDispatcher

      public SectionRenderDispatcher getSectionRenderDispatcher()
    • getTotalSections

      public double getTotalSections()
    • getLastViewDistance

      public double getLastViewDistance()
    • countRenderedSections

      public int countRenderedSections()
    • getEntityStatistics

      public String getEntityStatistics()
    • setupRender

      private void setupRender(Camera p_194339_, Frustum p_194340_, boolean p_194341_, boolean p_194342_)
    • offsetFrustum

      public static Frustum offsetFrustum(Frustum p_296151_)
    • applyFrustum

      private void applyFrustum(Frustum p_194355_)
    • addRecentlyCompiledSection

      public void addRecentlyCompiledSection(SectionRenderDispatcher.RenderSection p_295462_)
    • captureFrustum

      private void captureFrustum(org.joml.Matrix4f p_253756_, org.joml.Matrix4f p_253787_, double p_254187_, double p_253833_, double p_254547_, Frustum p_253954_)
    • prepareCullFrustum

      public void prepareCullFrustum(PoseStack p_253986_, Vec3 p_253766_, org.joml.Matrix4f p_254341_)
    • 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_, org.joml.Matrix4f p_254120_)
    • 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_)
    • renderSectionLayer

      private void renderSectionLayer(RenderType p_294513_, PoseStack p_294924_, double p_295577_, double p_294761_, double p_294297_, org.joml.Matrix4f p_294782_)
    • renderDebug

      private void renderDebug(PoseStack p_271014_, MultiBufferSource p_270107_, Camera p_270483_)
    • addFrustumVertex

      private void addFrustumVertex(VertexConsumer p_270950_, org.joml.Matrix4f p_270118_, int p_270865_)
    • addFrustumQuad

      private void addFrustumQuad(VertexConsumer p_270858_, org.joml.Matrix4f p_270341_, int p_270702_, int p_270959_, int p_270732_, int p_270363_, int p_270273_, int p_270934_, int p_270916_)
    • 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_202424_, org.joml.Matrix4f p_254034_, float p_202426_, Camera p_202427_, boolean p_202428_, Runnable p_202429_)
    • doesMobEffectBlockSky

      private boolean doesMobEffectBlockSky(Camera p_234311_)
    • renderClouds

      public void renderClouds(PoseStack p_254145_, org.joml.Matrix4f p_254537_, float p_254364_, double p_253843_, double p_253663_, double p_253795_)
    • buildClouds

      private BufferBuilder.RenderedBuffer buildClouds(BufferBuilder p_234262_, double p_234263_, double p_234264_, double p_234265_, Vec3 p_234266_)
    • compileSections

      private void compileSections(Camera p_194371_)
    • 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_)
    • mixColor

      private static Vec3 mixColor(float p_286899_)
    • shiftHue

      private static Vec3 shiftHue(float p_286907_, float p_286536_, float p_286318_, float p_286590_)
    • renderVoxelShape

      public static void renderVoxelShape(PoseStack p_286791_, VertexConsumer p_286416_, VoxelShape p_286863_, double p_286432_, double p_286836_, double p_286774_, float p_286612_, float p_286516_, float p_286787_, float p_286300_, boolean p_286443_)
    • 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(PoseStack p_270343_, VertexConsumer p_270926_, double p_270503_, double p_270353_, double p_270642_, double p_270676_, double p_270711_, double p_270601_, float p_270523_, float p_270382_, float p_270089_, float p_270335_)
    • addChainedFilledBoxVertices

      public static void addChainedFilledBoxVertices(PoseStack p_270352_, VertexConsumer p_271015_, float p_270144_, float p_270901_, float p_270546_, float p_270102_, float p_270605_, float p_271006_, float p_270864_, float p_270181_, float p_270220_, float p_270293_)
    • 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_)
    • getFrustum

      public Frustum getFrustum()
    • getTicks

      public int getTicks()
    • iterateVisibleBlockEntities

      public void iterateVisibleBlockEntities(Consumer<BlockEntity> blockEntityConsumer)
    • playStreamingMusic

      @Deprecated public void playStreamingMusic(@Nullable SoundEvent p_109515_, BlockPos p_109516_)
      Deprecated.
      Forge: Use item aware function below
    • 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(int p_234305_, BlockPos p_234306_, int p_234307_)
    • destroyBlockProgress

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

      public boolean hasRenderedAllSections()
    • onChunkLoaded

      public void onChunkLoaded(ChunkPos p_295808_)
    • 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_)
    • isSectionCompiled

      public boolean isSectionCompiled(BlockPos p_295788_)
    • 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()
    • shootParticles

      private void shootParticles(int p_307280_, BlockPos p_307603_, RandomSource p_307547_, SimpleParticleType p_307590_)