minecraft-src/net/minecraft/client/renderer/chunk/ChunkSectionLayerGroup.java
2025-09-18 12:27:44 +00:00

41 lines
1.2 KiB
Java

package net.minecraft.client.renderer.chunk;
import com.mojang.blaze3d.pipeline.RenderTarget;
import java.util.Locale;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.Minecraft;
@Environment(EnvType.CLIENT)
public enum ChunkSectionLayerGroup {
OPAQUE(ChunkSectionLayer.SOLID, ChunkSectionLayer.CUTOUT_MIPPED, ChunkSectionLayer.CUTOUT),
TRANSLUCENT(ChunkSectionLayer.TRANSLUCENT),
TRIPWIRE(ChunkSectionLayer.TRIPWIRE);
private final String label;
private final ChunkSectionLayer[] layers;
private ChunkSectionLayerGroup(final ChunkSectionLayer... layers) {
this.layers = layers;
this.label = this.toString().toLowerCase(Locale.ROOT);
}
public String label() {
return this.label;
}
public ChunkSectionLayer[] layers() {
return this.layers;
}
public RenderTarget outputTarget() {
Minecraft minecraft = Minecraft.getInstance();
RenderTarget renderTarget = switch (this) {
case TRANSLUCENT -> minecraft.levelRenderer.getTranslucentTarget();
case TRIPWIRE -> minecraft.levelRenderer.getWeatherTarget();
default -> minecraft.getMainRenderTarget();
};
return renderTarget != null ? renderTarget : minecraft.getMainRenderTarget();
}
}