package net.minecraft.client.renderer.state.level; import it.unimi.dsi.fastutil.longs.LongOpenHashSet; import java.util.ArrayList; import java.util.List; import net.fabricmc.fabric.api.client.rendering.v1.FabricRenderState; import net.minecraft.client.renderer.blockentity.state.BlockEntityRenderState; import net.minecraft.client.renderer.entity.state.EntityRenderState; import org.jspecify.annotations.Nullable; public class LevelRenderState implements FabricRenderState { public CameraRenderState cameraRenderState = new CameraRenderState(); public final List sectionUpdateRenderStates = new ArrayList(); public final List entityRenderStates = new ArrayList(); public final List blockEntityRenderStates = new ArrayList(); @Nullable public BlockOutlineRenderState blockOutlineRenderState; public final List blockBreakingRenderStates = new ArrayList(); public final WeatherRenderState weatherRenderState = new WeatherRenderState(); public final WorldBorderRenderState worldBorderRenderState = new WorldBorderRenderState(); public final SkyRenderState skyRenderState = new SkyRenderState(); public final ParticlesRenderState particlesRenderState = new ParticlesRenderState(); public long gameTime; public int lastEntityRenderStateCount; public int cloudColor; public float cloudHeight; public boolean render3dCrosshair; @Nullable public Runnable playerCompiledSectionCallback; public LongOpenHashSet addedEmptySections = new LongOpenHashSet(); public LongOpenHashSet removedEmptySections = new LongOpenHashSet(); public boolean shouldResetChunkLayerSampler; public boolean shouldShowEntityOutlines; public boolean shouldResetSkyRenderer; public void reset() { this.sectionUpdateRenderStates.clear(); this.entityRenderStates.clear(); this.blockEntityRenderStates.clear(); this.blockBreakingRenderStates.clear(); this.blockOutlineRenderState = null; this.weatherRenderState.reset(); this.worldBorderRenderState.reset(); this.skyRenderState.reset(); this.particlesRenderState.reset(); this.gameTime = 0L; } }