Package net.minecraft.client.renderer
Class LevelRenderer
java.lang.Object
net.minecraft.client.renderer.LevelRenderer
- All Implemented Interfaces:
AutoCloseable
,PreparableReloadListener
,ResourceManagerReloadListener
-
Nested Class Summary
Nested classes/interfaces inherited from interface net.minecraft.server.packs.resources.PreparableReloadListener
PreparableReloadListener.PreparationBarrier
-
Field Summary
Modifier and TypeFieldDescriptionprivate final BlockEntityRenderDispatcher
private Frustum
private boolean
private VertexBuffer
private static final ResourceLocation
private RenderTarget
private int
private Frustum
private VertexBuffer
private final it.unimi.dsi.fastutil.ints.Int2ObjectMap<BlockDestructionProgress>
private final it.unimi.dsi.fastutil.longs.Long2ObjectMap<SortedSet<BlockDestructionProgress>>
static final Direction[]
private static final ResourceLocation
private PostChain
private final EntityRenderDispatcher
private RenderTarget
private static final ResourceLocation
private final RunningTrimmedMean
private final org.joml.Vector4f[]
private final org.joml.Vector3d
private boolean
private final Set<BlockEntity>
static final int
private RenderTarget
private int
private int
private int
private int
private ClientLevel
private static final org.slf4j.Logger
private static final int
private final Minecraft
private static final ResourceLocation
private RenderTarget
private final Map<BlockPos,
SoundInstance> private double
private double
private double
private double
private double
private Vec3
private CloudStatus
private int
private int
private int
private static final int
private static final ResourceLocation
private static final int
private final float[]
private final float[]
private int
private final RenderBuffers
private int
static final int
private final SectionOcclusionGraph
private SectionRenderDispatcher
private static final float
private VertexBuffer
private static final ResourceLocation
private VertexBuffer
private static final ResourceLocation
private int
private RenderTarget
private PostChain
private static final int
private ViewArea
private final it.unimi.dsi.fastutil.objects.ObjectArrayList<SectionRenderDispatcher.RenderSection>
private RenderTarget
private double
private double
private double
-
Constructor Summary
ConstructorDescriptionLevelRenderer
(Minecraft p_234245_, EntityRenderDispatcher p_234246_, BlockEntityRenderDispatcher p_234247_, RenderBuffers p_234248_) -
Method Summary
Modifier and TypeMethodDescriptionstatic 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_) 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_) 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_) private void
addFrustumVertex
(VertexConsumer p_270950_, org.joml.Matrix4f p_270118_, int p_270865_) 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_) 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_) private <T extends ParticleOptions>
voidaddParticle
(T p_109736_, double p_109737_, double p_109738_, double p_109739_, double p_109740_, double p_109741_, double p_109742_) 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_) 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_) void
void
private void
applyFrustum
(Frustum p_194355_) void
blockChanged
(BlockGetter p_109545_, BlockPos p_109546_, BlockState p_109547_, BlockState p_109548_, int p_109549_) private BufferBuilder.RenderedBuffer
buildClouds
(BufferBuilder p_234262_, double p_234263_, double p_234264_, double p_234265_, Vec3 p_234266_) private static BufferBuilder.RenderedBuffer
buildSkyDisc
(BufferBuilder p_234268_, float p_234269_) private ParticleStatus
calculateParticleLevel
(boolean p_109768_) void
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_) private void
checkPoseStack
(PoseStack p_109589_) void
clear()
void
close()
private void
compileSections
(Camera p_194371_) int
private void
private void
private void
private void
void
destroyBlockProgress
(int p_109775_, BlockPos p_109776_, int p_109777_) void
private boolean
doesMobEffectBlockSky
(Camera p_234311_) private BufferBuilder.RenderedBuffer
drawStars
(BufferBuilder p_234260_) double
static int
getLightColor
(BlockAndTintGetter p_109542_, BlockPos p_109543_) static int
getLightColor
(BlockAndTintGetter p_109538_, BlockState p_109539_, BlockPos p_109540_) int
getTicks()
double
void
globalLevelEvent
(int p_109507_, BlockPos p_109508_, int p_109509_) void
boolean
void
private void
boolean
isSectionCompiled
(BlockPos p_295788_) void
iterateVisibleBlockEntities
(Consumer<BlockEntity> blockEntityConsumer) void
void
levelEvent
(int p_234305_, BlockPos p_234306_, int p_234307_) private static Vec3
mixColor
(float p_286899_) void
private void
notifyNearbyEntities
(Level p_109551_, BlockPos p_109552_, boolean p_109553_) static Frustum
offsetFrustum
(Frustum p_296151_) void
onChunkLoaded
(ChunkPos p_295808_) void
onResourceManagerReload
(ResourceManager p_109513_) void
playStreamingMusic
(SoundEvent p_109515_, BlockPos p_109516_) Deprecated.Forge: Use item aware function belowvoid
playStreamingMusic
(SoundEvent p_109515_, BlockPos p_109516_, RecordItem musicDiscItem) void
prepareCullFrustum
(PoseStack p_253986_, Vec3 p_253766_, org.joml.Matrix4f p_254341_) private void
removeProgress
(BlockDestructionProgress p_109766_) void
renderClouds
(PoseStack p_254145_, org.joml.Matrix4f p_254537_, float p_254364_, double p_253843_, double p_253663_, double p_253795_) private void
renderDebug
(PoseStack p_271014_, MultiBufferSource p_270107_, Camera p_270483_) private void
renderEndSky
(PoseStack p_109781_) private void
renderEntity
(Entity p_109518_, double p_109519_, double p_109520_, double p_109521_, float p_109522_, PoseStack p_109523_, MultiBufferSource p_109524_) 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_) 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_) 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_) 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_) static void
renderLineBox
(PoseStack p_109647_, VertexConsumer p_109648_, AABB p_109649_, float p_109650_, float p_109651_, float p_109652_, float p_109653_) 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_) private void
renderSectionLayer
(RenderType p_294513_, PoseStack p_294924_, double p_295577_, double p_294761_, double p_294297_, org.joml.Matrix4f p_294782_) 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_) void
renderSky
(PoseStack p_202424_, org.joml.Matrix4f p_254034_, float p_202426_, Camera p_202427_, boolean p_202428_, Runnable p_202429_) private void
renderSnowAndRain
(LightTexture p_109704_, float p_109705_, double p_109706_, double p_109707_, double p_109708_) 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_) private void
renderWorldBorder
(Camera p_173013_) void
resize
(int p_109488_, int p_109489_) private void
setBlockDirty
(BlockPos p_109733_, boolean p_109734_) void
setBlockDirty
(BlockPos p_109722_, BlockState p_109723_, BlockState p_109724_) void
setBlocksDirty
(int p_109495_, int p_109496_, int p_109497_, int p_109498_, int p_109499_, int p_109500_) void
setLevel
(ClientLevel p_109702_) void
setSectionDirty
(int p_109771_, int p_109772_, int p_109773_) private void
setSectionDirty
(int p_109502_, int p_109503_, int p_109504_, boolean p_109505_) void
setSectionDirtyWithNeighbors
(int p_109491_, int p_109492_, int p_109493_) private void
setupRender
(Camera p_194339_, Frustum p_194340_, boolean p_194341_, boolean p_194342_) private static Vec3
shiftHue
(float p_286907_, float p_286536_, float p_286318_, float p_286590_) private void
shootParticles
(int p_307280_, BlockPos p_307603_, RandomSource p_307547_, SimpleParticleType p_307590_) boolean
void
tick()
void
void
updateGlobalBlockEntities
(Collection<BlockEntity> p_109763_, Collection<BlockEntity> p_109764_) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.minecraft.server.packs.resources.PreparableReloadListener
getName
Methods inherited from interface net.minecraft.server.packs.resources.ResourceManagerReloadListener
reload
-
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
-
SUN_LOCATION
-
CLOUDS_LOCATION
-
END_SKY_LOCATION
-
FORCEFIELD_LOCATION
-
RAIN_LOCATION
-
SNOW_LOCATION
-
DIRECTIONS
-
minecraft
-
entityRenderDispatcher
-
blockEntityRenderDispatcher
-
renderBuffers
-
level
-
sectionOcclusionGraph
-
visibleSections
private final it.unimi.dsi.fastutil.objects.ObjectArrayList<SectionRenderDispatcher.RenderSection> visibleSections -
globalBlockEntities
-
viewArea
-
starBuffer
-
skyBuffer
-
darkBuffer
-
generateClouds
private boolean generateClouds -
cloudBuffer
-
frameTimes
-
ticks
private int ticks -
destroyingBlocks
-
destructionProgress
private final it.unimi.dsi.fastutil.longs.Long2ObjectMap<SortedSet<BlockDestructionProgress>> destructionProgress -
playingRecords
-
entityTarget
-
entityEffect
-
translucentTarget
-
itemEntityTarget
-
particlesTarget
-
weatherTarget
-
cloudsTarget
-
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
-
prevCloudsType
-
sectionRenderDispatcher
-
lastViewDistance
private int lastViewDistance -
renderedEntities
private int renderedEntities -
culledEntities
private int culledEntities -
cullingFrustum
-
captureFrustum
private boolean captureFrustum -
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
-
LevelRenderer
public LevelRenderer(Minecraft p_234245_, EntityRenderDispatcher p_234246_, BlockEntityRenderDispatcher p_234247_, RenderBuffers p_234248_)
-
-
Method Details
-
renderSnowAndRain
private void renderSnowAndRain(LightTexture p_109704_, float p_109705_, double p_109706_, double p_109707_, double p_109708_) -
tickRain
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
-
onResourceManagerReload
- Specified by:
onResourceManagerReload
in interfaceResourceManagerReloadListener
-
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
-
createStars
private void createStars() -
drawStars
-
setLevel
-
graphicsChanged
public void graphicsChanged() -
allChanged
public void allChanged() -
resize
public void resize(int p_109488_, int p_109489_) -
getSectionStatistics
-
getSectionRenderDispatcher
-
getTotalSections
public double getTotalSections() -
getLastViewDistance
public double getLastViewDistance() -
countRenderedSections
public int countRenderedSections() -
getEntityStatistics
-
setupRender
-
offsetFrustum
-
applyFrustum
-
addRecentlyCompiledSection
-
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
-
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
-
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
-
addFrustumVertex
-
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
-
renderEndSky
-
renderSky
-
doesMobEffectBlockSky
-
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
-
renderWorldBorder
-
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
-
shiftHue
-
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
-
setBlocksDirty
public void setBlocksDirty(int p_109495_, int p_109496_, int p_109497_, int p_109498_, int p_109499_, int p_109500_) -
setBlockDirty
-
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
-
getTicks
public int getTicks() -
iterateVisibleBlockEntities
-
playStreamingMusic
Deprecated.Forge: Use item aware function below -
playStreamingMusic
public void playStreamingMusic(@Nullable SoundEvent p_109515_, BlockPos p_109516_, @Nullable RecordItem musicDiscItem) -
notifyNearbyEntities
-
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
-
clear
public void clear() -
globalLevelEvent
-
levelEvent
-
destroyBlockProgress
-
hasRenderedAllSections
public boolean hasRenderedAllSections() -
onChunkLoaded
-
needsUpdate
public void needsUpdate() -
updateGlobalBlockEntities
public void updateGlobalBlockEntities(Collection<BlockEntity> p_109763_, Collection<BlockEntity> p_109764_) -
getLightColor
-
getLightColor
public static int getLightColor(BlockAndTintGetter p_109538_, BlockState p_109539_, BlockPos p_109540_) -
isSectionCompiled
-
entityTarget
-
getTranslucentTarget
-
getItemEntityTarget
-
getParticlesTarget
-
getWeatherTarget
-
getCloudsTarget
-
shootParticles
private void shootParticles(int p_307280_, BlockPos p_307603_, RandomSource p_307547_, SimpleParticleType p_307590_)
-