Class RenderLevelStageEvent
java.lang.Object
net.neoforged.bus.api.Event
net.neoforged.neoforge.client.event.RenderLevelStageEvent
- Direct Known Subclasses:
RenderLevelStageEvent.AfterBlockEntities,RenderLevelStageEvent.AfterEntities,RenderLevelStageEvent.AfterLevel,RenderLevelStageEvent.AfterOpaqueBlocks,RenderLevelStageEvent.AfterParticles,RenderLevelStageEvent.AfterSky,RenderLevelStageEvent.AfterTranslucentBlocks,RenderLevelStageEvent.AfterTripwireBlocks,RenderLevelStageEvent.AfterWeather
public abstract class RenderLevelStageEvent
extends net.neoforged.bus.api.Event
Fires at various times during LevelRenderer.renderLevel(com.mojang.blaze3d.resource.GraphicsResourceAllocator, net.minecraft.client.DeltaTracker, boolean, net.minecraft.client.Camera, org.joml.Matrix4f, org.joml.Matrix4f, com.mojang.blaze3d.buffers.GpuBufferSlice, org.joml.Vector4f, boolean) and GameRenderer.renderLevel(net.minecraft.client.DeltaTracker)
The sub-events are not cancellable.
The sub-events are fired on the main NeoForge event bus, only on the logical client.
The current order that the sub-events fire in are:
AfterSky,
AfterOpaqueBlocks,
AfterEntities,
AfterBlockEntities,
AfterTranslucentBlocks,
AfterTripwireBlocks,
AfterParticles,
AfterWeather,
AfterLevel
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classFired within LevelRenderer.addMainPass(com.mojang.blaze3d.framegraph.FrameGraphBuilder, net.minecraft.client.renderer.culling.Frustum, net.minecraft.client.Camera, org.joml.Matrix4f, com.mojang.blaze3d.buffers.GpuBufferSlice, boolean, boolean, net.minecraft.client.DeltaTracker, net.minecraft.util.profiling.ProfilerFiller) afterAfterEntitieshad ran and just before block outline rendering.static classFired within LevelRenderer.addMainPass(com.mojang.blaze3d.framegraph.FrameGraphBuilder, net.minecraft.client.renderer.culling.Frustum, net.minecraft.client.Camera, org.joml.Matrix4f, com.mojang.blaze3d.buffers.GpuBufferSlice, boolean, boolean, net.minecraft.client.DeltaTracker, net.minecraft.util.profiling.ProfilerFiller) afterAfterOpaqueBlockshad ran.static classFired within GameRenderer.renderLevel(net.minecraft.client.DeltaTracker) after LevelRenderer.renderLevel(com.mojang.blaze3d.resource.GraphicsResourceAllocator, net.minecraft.client.DeltaTracker, boolean, net.minecraft.client.Camera, org.joml.Matrix4f, org.joml.Matrix4f, com.mojang.blaze3d.buffers.GpuBufferSlice, org.joml.Vector4f, boolean) is called.static classFired early in LevelRenderer.addMainPass(com.mojang.blaze3d.framegraph.FrameGraphBuilder, net.minecraft.client.renderer.culling.Frustum, net.minecraft.client.Camera, org.joml.Matrix4f, com.mojang.blaze3d.buffers.GpuBufferSlice, boolean, boolean, net.minecraft.client.DeltaTracker, net.minecraft.util.profiling.ProfilerFiller) afterAfterSkyhad ran.static classFired at the end of LevelRenderer.addParticlesPass(com.mojang.blaze3d.framegraph.FrameGraphBuilder, net.minecraft.client.Camera, float, com.mojang.blaze3d.buffers.GpuBufferSlice) afterAfterTripwireBlockshad ran.static classstatic classFired within LevelRenderer.addMainPass(com.mojang.blaze3d.framegraph.FrameGraphBuilder, net.minecraft.client.renderer.culling.Frustum, net.minecraft.client.Camera, org.joml.Matrix4f, com.mojang.blaze3d.buffers.GpuBufferSlice, boolean, boolean, net.minecraft.client.DeltaTracker, net.minecraft.util.profiling.ProfilerFiller) afterAfterBlockEntitieshad ran.static classFired near the end of LevelRenderer.addMainPass(com.mojang.blaze3d.framegraph.FrameGraphBuilder, net.minecraft.client.renderer.culling.Frustum, net.minecraft.client.Camera, org.joml.Matrix4f, com.mojang.blaze3d.buffers.GpuBufferSlice, boolean, boolean, net.minecraft.client.DeltaTracker, net.minecraft.util.profiling.ProfilerFiller) afterAfterTranslucentBlockshad ran.static classFired near the end of LevelRenderer.addWeatherPass(com.mojang.blaze3d.framegraph.FrameGraphBuilder, net.minecraft.world.phys.Vec3, float, com.mojang.blaze3d.buffers.GpuBufferSlice) afterAfterParticleshad ran but before world border rendering. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Cameraprivate final Frustumprivate final Levelprivate final LevelRendererprivate final Matrix4fprivate final DeltaTrackerprivate final PoseStackprivate final Iterable<? extends IRenderableSection> private final int -
Constructor Summary
ConstructorsConstructorDescriptionRenderLevelStageEvent(Level level, LevelRenderer levelRenderer, @Nullable PoseStack poseStack, Matrix4f modelViewMatrix, int renderTick, DeltaTracker partialTick, Camera camera, Frustum frustum, Iterable<? extends IRenderableSection> renderableSections) -
Method Summary
Modifier and TypeMethodDescriptionReturns the camera.Returns the frustum.getLevel()Returns the current level that is being rendered..Returns the level renderer.Returns the model view matrix used for rendering.Returns the current partialTick value used for rendering.Returns the pose stack used for rendering.Iterable<? extends IRenderableSection> Returns an iterable of all visible sections.intReturns the current "ticks" value in the level renderer.
-
Field Details
-
level
-
levelRenderer
-
poseStack
-
modelViewMatrix
-
renderTick
private final int renderTick -
partialTick
-
camera
-
frustum
-
renderableSections
-
-
Constructor Details
-
RenderLevelStageEvent
public RenderLevelStageEvent(Level level, LevelRenderer levelRenderer, @Nullable @Nullable PoseStack poseStack, Matrix4f modelViewMatrix, int renderTick, DeltaTracker partialTick, Camera camera, Frustum frustum, Iterable<? extends IRenderableSection> renderableSections)
-
-
Method Details
-
getLevel
Returns the current level that is being rendered..- Returns:
- the current level that is being rendered.
-
getLevelRenderer
Returns the level renderer.- Returns:
- the level renderer
-
getPoseStack
Returns the pose stack used for rendering.- Returns:
- the pose stack used for rendering
-
getModelViewMatrix
Returns the model view matrix used for rendering.- Returns:
- the model view matrix used for rendering
-
getRenderTick
public int getRenderTick()Returns the current "ticks" value in the level renderer.- Returns:
- the current "ticks" value in the level renderer
-
getPartialTick
Returns the current partialTick value used for rendering.- Returns:
- the current partialTick value used for rendering
-
getCamera
Returns the camera.- Returns:
- the camera
-
getFrustum
Returns the frustum.- Returns:
- the frustum
-
getRenderableSections
Returns an iterable of all visible sections.Calling
Iterable.forEach(Consumer)on the returned iterable allows the underlying renderer to optimize how it fetches the visible sections, and is recommended.
-