LevelRenderEvents.START_MAIN: Called at the start of the main pass, after the sky is drawn and all chunks that need to be rendered are uploaded to the GPU, but before any chunks are drawn.
LevelRenderEvents.AFTER_OPAQUE_TERRAIN: Called after opaque terrain is drawn, and before any submit nodes are added to the submit node storage. Use this to add more opaque terrain-like geometry.
LevelRenderEvents.COLLECT_SUBMITS: Called after all submit nodes from entities, blockentities, and particles are added to the storage, but before any are drawn. Use this to add additional submits.
LevelRenderEvents.AFTER_SOLID_FEATURES: Called after the solid geometry from entities, blockentities, and particles are drawn.
LevelRenderEvents.AFTER_TRANSLUCENT_FEATURES: Called after the translucent geometry from entities and blockentities are drawn. Translucent particle geometry is drawn later.
LevelRenderEvents.BEFORE_BLOCK_OUTLINE: Called after block outline render checks are made, but before the default block outline is drawn. Use this to replace the default block outline rendering for specific blocks that need special rendering or to add information. Can be suppressed by AFTER_BLOCK_OUTLINE_EXTRACTION.
LevelRenderEvents.BEFORE_GIZMOS: Called after all geometry of submits collected from entities, block entities, and particles (except translucent particle geometry), the block breaking overlay, and the block outline for solid blocks are drawn, but before gizmos are collected.
LevelRenderEvents.BEFORE_TRANSLUCENT_TERRAIN: Called after opaque terrain, entities, blockentities, solid particles, overlays, and gizmos are drawn, but before translucent terrain and translucent particles are drawn.
LevelRenderEvents.AFTER_TRANSLUCENT_TERRAIN: Called after translucent terrain is drawn, but before translucent particles are drawn. Use this to render additional translucent terrain-like geometry.
LevelRenderEvents.END_MAIN: Called at the end of the main pass, after terrain, entities, blockentities, and particles are drawn, but before clouds, weather, and late debug are drawn, and before fabulous translucent frambuffers are combined.
InvalidateRenderStateCallback.EVENT: Called when the level renderer reloads, usually as result of changing resource pack or video configuration, or when the player types F3+A in the debug screen. Afterwards all render chunks will be reset and reloaded.