Files
sputnik/src/main/java/me/retucio/camtweaks/util/render/Layers.java
T
2025-12-10 19:26:51 +01:00

42 lines
1.3 KiB
Java

package me.retucio.camtweaks.util.render;
import net.minecraft.client.render.RenderLayer;
import net.minecraft.client.render.RenderPhase;
import net.minecraft.util.Util;
import java.util.OptionalDouble;
import java.util.function.Function;
import static me.retucio.camtweaks.util.render.Pipelines.GLOBAL_LINES_PIPELINE;
import static me.retucio.camtweaks.util.render.Pipelines.GLOBAL_QUADS_PIPELINE;
public class Layers {
private static final RenderLayer GLOBAL_QUADS;
private static final Function<Double, RenderLayer> GLOBAL_LINES;
public static RenderLayer getGlobalLines(double width) {
return GLOBAL_LINES.apply(width);
}
public static RenderLayer getGlobalQuads() {
return GLOBAL_QUADS;
}
private static RenderLayer.MultiPhaseParameters.Builder builder() {
return RenderLayer.MultiPhaseParameters.builder();
}
private static RenderLayer.MultiPhaseParameters empty() {
return builder().build(false);
}
static {
GLOBAL_QUADS = RenderLayer.of("global_fill", 156, GLOBAL_QUADS_PIPELINE, empty());
GLOBAL_LINES = Util.memoize(l -> {
RenderPhase.LineWidth width = new RenderPhase.LineWidth(OptionalDouble.of(l));
return RenderLayer.of("global_lines", 156, GLOBAL_LINES_PIPELINE, builder().lineWidth(width).build(false));
});
}
}