Interface WorldRenderContext
WorldRenderer.render(float, long, boolean, net.minecraft.client.render.Camera, net.minecraft.client.render.GameRenderer, net.minecraft.client.render.LightmapTextureManager, org.joml.Matrix4f, org.joml.Matrix4f)
.-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
Used inBLOCK_OUTLINE
to convey the parameters normally sent toWorldRenderer.drawBlockOutline
. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Test to know if "fabulous" graphics mode is enabled.boolean
camera()
@Nullable VertexConsumerProvider
TheVertexConsumerProvider
instance being used by the world renderer for most non-terrain renders.@Nullable Frustum
frustum()
View frustum, after it is initialized.long
@Nullable MatrixStack
The matrix stack is only not null inWorldRenderEvents.AFTER_ENTITIES
or later events.org.joml.Matrix4f
profiler()
Convenient access to game performance profiler.org.joml.Matrix4f
float
world()
Convenient access to {WorldRenderer.world}.The world renderer instance doing the rendering and invoking the event.
-
Method Details
-
worldRenderer
WorldRenderer worldRenderer()The world renderer instance doing the rendering and invoking the event.- Returns:
- WorldRenderer instance invoking the event
-
matrixStack
The matrix stack is only not null inWorldRenderEvents.AFTER_ENTITIES
or later events. -
tickDelta
float tickDelta() -
limitTime
long limitTime() -
blockOutlines
boolean blockOutlines() -
camera
Camera camera() -
gameRenderer
GameRenderer gameRenderer() -
lightmapTextureManager
LightmapTextureManager lightmapTextureManager() -
projectionMatrix
org.joml.Matrix4f projectionMatrix() -
positionMatrix
org.joml.Matrix4f positionMatrix() -
world
ClientWorld world()Convenient access to {WorldRenderer.world}.- Returns:
- world renderer's client world instance
-
profiler
Profiler profiler()Convenient access to game performance profiler.- Returns:
- the active profiler
-
advancedTranslucency
boolean advancedTranslucency()Test to know if "fabulous" graphics mode is enabled.Use this for renders that need to render on top of all translucency to activate or deactivate different event handlers to get optimal depth testing results. When fabulous is off, it may be better to render during
WorldRenderLastCallback
after clouds and weather are drawn. Conversely, when fabulous mode is on, it may be better to draw duringWorldRenderPostTranslucentCallback
, before the fabulous mode composite shader runs, depending on which translucent buffer is being targeted.- Returns:
true
when "fabulous" graphics mode is enabled.
-
consumers
TheVertexConsumerProvider
instance being used by the world renderer for most non-terrain renders. Generally this will be better for most use cases because quads for the same layer can be buffered incrementally and then drawn all at once by the world renderer.IMPORTANT - all vertex coordinates sent to consumers should be relative to the camera to be consistent with other quads emitted by the world renderer and other mods. If this isn't possible, caller should use a separate "immediate" instance.
This property is
null
beforeWorldRenderEvents.BEFORE_ENTITIES
and afterWorldRenderEvents.BEFORE_DEBUG_RENDER
because the consumer buffers are not available before or drawn after that in vanilla world rendering. Renders that cannot draw in one of the supported events must be drawn directly to the frame buffer, preferably inWorldRenderEvents.LAST
to avoid being overdrawn or cleared. -
frustum
View frustum, after it is initialized. Will benull
duringWorldRenderEvents.START
.
-