a few more renames

This commit is contained in:
techno-sam
2026-04-05 03:01:45 +02:00
parent 2c6c100b62
commit 4e4a46b37e
16 changed files with 39 additions and 39 deletions
@@ -3,7 +3,7 @@ package io.github.slimeistdev.crystalline_sky;
import io.github.slimeistdev.crystalline_sky.mixin_ducks.client.DebugRenderer_Duck; import io.github.slimeistdev.crystalline_sky.mixin_ducks.client.DebugRenderer_Duck;
import io.github.slimeistdev.crystalline_sky.registry.CrystallineBlocks; import io.github.slimeistdev.crystalline_sky.registry.CrystallineBlocks;
import io.github.slimeistdev.crystalline_sky.registry.CrystallineItems; import io.github.slimeistdev.crystalline_sky.registry.CrystallineItems;
import io.github.slimeistdev.crystalline_sky.registry.client.CrystallineRenderLayers; import io.github.slimeistdev.crystalline_sky.registry.client.CrystallineRenderTypes;
import net.fabricmc.api.ClientModInitializer; import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap; import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
@@ -23,8 +23,8 @@ import org.lwjgl.glfw.GLFW;
public class CrystallineSkyClient implements ClientModInitializer { public class CrystallineSkyClient implements ClientModInitializer {
@Override @Override
public void onInitializeClient() { public void onInitializeClient() {
BlockRenderLayerMap.INSTANCE.putBlock(CrystallineBlocks.SKY, CrystallineRenderLayers.SKY); BlockRenderLayerMap.INSTANCE.putBlock(CrystallineBlocks.SKY, CrystallineRenderTypes.SKY);
BlockRenderLayerMap.INSTANCE.putBlock(CrystallineBlocks.WEEPING_SKY, CrystallineRenderLayers.SKY); BlockRenderLayerMap.INSTANCE.putBlock(CrystallineBlocks.WEEPING_SKY, CrystallineRenderTypes.SKY);
var weepingSkyKeybind = KeyBindingHelper.registerKeyBinding(new KeyMapping( var weepingSkyKeybind = KeyBindingHelper.registerKeyBinding(new KeyMapping(
"crystalline_sky.key.toggle_weeping_sky_debug", "crystalline_sky.key.toggle_weeping_sky_debug",
@@ -3,7 +3,7 @@ package io.github.slimeistdev.crystalline_sky.mixin.client;
import com.llamalad7.mixinextras.injector.wrapoperation.Operation; import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
import com.mojang.datafixers.util.Pair; import com.mojang.datafixers.util.Pair;
import io.github.slimeistdev.crystalline_sky.registry.client.CrystallineShaderPrograms; import io.github.slimeistdev.crystalline_sky.registry.client.CrystallineShaderInstances;
import net.minecraft.client.renderer.ShaderInstance; import net.minecraft.client.renderer.ShaderInstance;
import net.minecraft.client.renderer.GameRenderer; import net.minecraft.client.renderer.GameRenderer;
import com.mojang.blaze3d.vertex.DefaultVertexFormat; import com.mojang.blaze3d.vertex.DefaultVertexFormat;
@@ -28,7 +28,7 @@ public class GameRendererMixin {
factory, factory,
"crystalline_sky_rendertype_sky", "crystalline_sky_rendertype_sky",
DefaultVertexFormat.BLOCK DefaultVertexFormat.BLOCK
), (Consumer<ShaderInstance>) program -> CrystallineShaderPrograms.renderTypeSkyProgram = program)); ), (Consumer<ShaderInstance>) program -> CrystallineShaderInstances.renderTypeSkyProgram = program));
return original.call(instance, e); return original.call(instance, e);
} }
} }
@@ -2,9 +2,9 @@ package io.github.slimeistdev.crystalline_sky.mixin.client;
import com.llamalad7.mixinextras.injector.wrapoperation.Operation; import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
import io.github.slimeistdev.crystalline_sky.mixin_ducks.client.Framebuffer_Duck; import io.github.slimeistdev.crystalline_sky.mixin_ducks.client.LevelRenderer_Duck;
import io.github.slimeistdev.crystalline_sky.mixin_ducks.client.WorldRenderer_Duck; import io.github.slimeistdev.crystalline_sky.mixin_ducks.client.RenderTarget_Duck;
import io.github.slimeistdev.crystalline_sky.registry.client.CrystallineRenderLayers; import io.github.slimeistdev.crystalline_sky.registry.client.CrystallineRenderTypes;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import com.mojang.blaze3d.pipeline.RenderTarget; import com.mojang.blaze3d.pipeline.RenderTarget;
import com.mojang.blaze3d.pipeline.TextureTarget; import com.mojang.blaze3d.pipeline.TextureTarget;
@@ -28,7 +28,7 @@ import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(value = LevelRenderer.class, remap = false) @Mixin(value = LevelRenderer.class, remap = false)
public abstract class LevelRendererMixin implements WorldRenderer_Duck { public abstract class LevelRendererMixin implements LevelRenderer_Duck {
@Shadow @Shadow
@Final @Final
private Minecraft minecraft; private Minecraft minecraft;
@@ -101,7 +101,7 @@ public abstract class LevelRendererMixin implements WorldRenderer_Duck {
Matrix4f matrix4f, Matrix4f matrix4f2, CallbackInfo ci) { Matrix4f matrix4f, Matrix4f matrix4f2, CallbackInfo ci) {
var skyBuffer = crystalline_sky$getSkyFramebuffer(); var skyBuffer = crystalline_sky$getSkyFramebuffer();
skyBuffer.clear(Minecraft.ON_OSX); skyBuffer.clear(Minecraft.ON_OSX);
((Framebuffer_Duck) skyBuffer).crystalline_sky$copyColorFrom(minecraft.getMainRenderTarget()); ((RenderTarget_Duck) skyBuffer).crystalline_sky$copyColorFrom(minecraft.getMainRenderTarget());
// render clouds // render clouds
CloudStatus cloudRenderMode = this.minecraft.options.getCloudsType(); CloudStatus cloudRenderMode = this.minecraft.options.getCloudsType();
@@ -133,6 +133,6 @@ public abstract class LevelRendererMixin implements WorldRenderer_Duck {
private void renderCrystallineSky(LevelRenderer instance, RenderType renderLayer, double x, double y, double z, private void renderCrystallineSky(LevelRenderer instance, RenderType renderLayer, double x, double y, double z,
Matrix4f matrix4f, Matrix4f positionMatrix, Operation<Void> original) { Matrix4f matrix4f, Matrix4f positionMatrix, Operation<Void> original) {
original.call(instance, renderLayer, x, y, z, matrix4f, positionMatrix); original.call(instance, renderLayer, x, y, z, matrix4f, positionMatrix);
renderSectionLayer(CrystallineRenderLayers.SKY, x, y, z, matrix4f, positionMatrix); renderSectionLayer(CrystallineRenderTypes.SKY, x, y, z, matrix4f, positionMatrix);
} }
} }
@@ -6,7 +6,7 @@ import com.mojang.blaze3d.systems.RenderSystem;
import io.github.slimeistdev.crystalline_sky.annotation.mixin.ConditionalMixin; import io.github.slimeistdev.crystalline_sky.annotation.mixin.ConditionalMixin;
import io.github.slimeistdev.crystalline_sky.compat.Mods; import io.github.slimeistdev.crystalline_sky.compat.Mods;
import io.github.slimeistdev.crystalline_sky.registry.CrystallineItems; import io.github.slimeistdev.crystalline_sky.registry.CrystallineItems;
import io.github.slimeistdev.crystalline_sky.registry.client.CrystallineRenderLayers; import io.github.slimeistdev.crystalline_sky.registry.client.CrystallineRenderTypes;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.ShaderInstance; import net.minecraft.client.renderer.ShaderInstance;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
@@ -36,7 +36,7 @@ public class LevelRenderer_NoSodium_Mixin {
RenderType renderLayer) { RenderType renderLayer) {
original.call(instance, drawMode, viewMatrix, projectionMatrix, window); original.call(instance, drawMode, viewMatrix, projectionMatrix, window);
if (renderLayer == CrystallineRenderLayers.SKY if (renderLayer == CrystallineRenderTypes.SKY
&& instance.COLOR_MODULATOR != null && instance.COLOR_MODULATOR != null
&& minecraft.player != null && minecraft.player != null
&& (minecraft.player.getMainHandItem().is(CrystallineItems.SKY) && (minecraft.player.getMainHandItem().is(CrystallineItems.SKY)
@@ -3,13 +3,13 @@ package io.github.slimeistdev.crystalline_sky.mixin.client;
import com.mojang.blaze3d.platform.GlConst; import com.mojang.blaze3d.platform.GlConst;
import com.mojang.blaze3d.platform.GlStateManager; import com.mojang.blaze3d.platform.GlStateManager;
import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.systems.RenderSystem;
import io.github.slimeistdev.crystalline_sky.mixin_ducks.client.Framebuffer_Duck; import io.github.slimeistdev.crystalline_sky.mixin_ducks.client.RenderTarget_Duck;
import com.mojang.blaze3d.pipeline.RenderTarget; import com.mojang.blaze3d.pipeline.RenderTarget;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.Shadow;
@Mixin(RenderTarget.class) @Mixin(RenderTarget.class)
public class RenderTargetMixin implements Framebuffer_Duck { public class RenderTargetMixin implements RenderTarget_Duck {
@Shadow @Shadow
protected int colorTextureId; protected int colorTextureId;
@@ -1,7 +1,7 @@
package io.github.slimeistdev.crystalline_sky.mixin.client; package io.github.slimeistdev.crystalline_sky.mixin.client;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import io.github.slimeistdev.crystalline_sky.mixin_ducks.client.RenderLayer_Duck; import io.github.slimeistdev.crystalline_sky.mixin_ducks.client.RenderType_Duck;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
@@ -9,7 +9,7 @@ import org.spongepowered.asm.mixin.Mutable;
import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.Shadow;
@Mixin(RenderType.class) @Mixin(RenderType.class)
public class RenderTypeMixin implements RenderLayer_Duck { public class RenderTypeMixin implements RenderType_Duck {
@Shadow @Shadow
@Final @Final
@Mutable @Mutable
@@ -3,7 +3,7 @@ package io.github.slimeistdev.crystalline_sky.mixin.client.compat.axiom;
import com.moulberry.axiom.render.ChunkRenderOverrider; import com.moulberry.axiom.render.ChunkRenderOverrider;
import io.github.slimeistdev.crystalline_sky.annotation.mixin.ConditionalMixin; import io.github.slimeistdev.crystalline_sky.annotation.mixin.ConditionalMixin;
import io.github.slimeistdev.crystalline_sky.compat.Mods; import io.github.slimeistdev.crystalline_sky.compat.Mods;
import io.github.slimeistdev.crystalline_sky.registry.client.CrystallineRenderLayers; import io.github.slimeistdev.crystalline_sky.registry.client.CrystallineRenderTypes;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.At;
@@ -15,7 +15,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
public class ChunkRenderOverrider_AxiomChunkOverrideLayerMixin { public class ChunkRenderOverrider_AxiomChunkOverrideLayerMixin {
@Inject(method = "fromVanilla", at = @At("HEAD"), cancellable = true) @Inject(method = "fromVanilla", at = @At("HEAD"), cancellable = true)
private static void unexplodeSky(RenderType layer, CallbackInfoReturnable<ChunkRenderOverrider.AxiomChunkOverrideLayer> cir) { private static void unexplodeSky(RenderType layer, CallbackInfoReturnable<ChunkRenderOverrider.AxiomChunkOverrideLayer> cir) {
if (layer == CrystallineRenderLayers.SKY) { if (layer == CrystallineRenderTypes.SKY) {
cir.setReturnValue(ChunkRenderOverrider.AxiomChunkOverrideLayer.CUTOUT_MIPPED); cir.setReturnValue(ChunkRenderOverrider.AxiomChunkOverrideLayer.CUTOUT_MIPPED);
} }
} }
@@ -2,7 +2,7 @@ package io.github.slimeistdev.crystalline_sky.mixin.client.compat.sodium;
import io.github.slimeistdev.crystalline_sky.annotation.mixin.ConditionalMixin; import io.github.slimeistdev.crystalline_sky.annotation.mixin.ConditionalMixin;
import io.github.slimeistdev.crystalline_sky.compat.Mods; import io.github.slimeistdev.crystalline_sky.compat.Mods;
import io.github.slimeistdev.crystalline_sky.registry.client.CrystallineRenderLayers; import io.github.slimeistdev.crystalline_sky.registry.client.CrystallineRenderTypes;
import net.caffeinemc.mods.sodium.client.render.chunk.terrain.DefaultTerrainRenderPasses; import net.caffeinemc.mods.sodium.client.render.chunk.terrain.DefaultTerrainRenderPasses;
import net.caffeinemc.mods.sodium.client.render.chunk.terrain.material.DefaultMaterials; import net.caffeinemc.mods.sodium.client.render.chunk.terrain.material.DefaultMaterials;
import net.caffeinemc.mods.sodium.client.render.chunk.terrain.material.Material; import net.caffeinemc.mods.sodium.client.render.chunk.terrain.material.Material;
@@ -23,7 +23,7 @@ public class DefaultMaterialsMixin {
@SuppressWarnings("OptionalGetWithoutIsPresent") @SuppressWarnings("OptionalGetWithoutIsPresent")
private static final Material crystalline_sky$SKY = new Material( private static final Material crystalline_sky$SKY = new Material(
Arrays.stream(DefaultTerrainRenderPasses.ALL) Arrays.stream(DefaultTerrainRenderPasses.ALL)
.filter(pass -> ((TerrainRenderPassAccessor) pass).crystalline_sky$getRenderLayer() == CrystallineRenderLayers.SKY) .filter(pass -> ((TerrainRenderPassAccessor) pass).crystalline_sky$getRenderLayer() == CrystallineRenderTypes.SKY)
.findFirst() .findFirst()
.get(), .get(),
AlphaCutoffParameter.ZERO, AlphaCutoffParameter.ZERO,
@@ -32,7 +32,7 @@ public class DefaultMaterialsMixin {
@Inject(method = "forRenderLayer", at = @At(value = "NEW", target = "(Ljava/lang/String;)Ljava/lang/IllegalArgumentException;"), cancellable = true) @Inject(method = "forRenderLayer", at = @At(value = "NEW", target = "(Ljava/lang/String;)Ljava/lang/IllegalArgumentException;"), cancellable = true)
private static void addCrystallineSkyMaterial(RenderType layer, CallbackInfoReturnable<Material> cir) { private static void addCrystallineSkyMaterial(RenderType layer, CallbackInfoReturnable<Material> cir) {
if (layer == CrystallineRenderLayers.SKY) { if (layer == CrystallineRenderTypes.SKY) {
cir.setReturnValue(crystalline_sky$SKY); cir.setReturnValue(crystalline_sky$SKY);
} }
} }
@@ -2,7 +2,7 @@ package io.github.slimeistdev.crystalline_sky.mixin.client.compat.sodium;
import io.github.slimeistdev.crystalline_sky.annotation.mixin.ConditionalMixin; import io.github.slimeistdev.crystalline_sky.annotation.mixin.ConditionalMixin;
import io.github.slimeistdev.crystalline_sky.compat.Mods; import io.github.slimeistdev.crystalline_sky.compat.Mods;
import io.github.slimeistdev.crystalline_sky.registry.client.CrystallineRenderLayers; import io.github.slimeistdev.crystalline_sky.registry.client.CrystallineRenderTypes;
import net.caffeinemc.mods.sodium.client.render.chunk.terrain.DefaultTerrainRenderPasses; import net.caffeinemc.mods.sodium.client.render.chunk.terrain.DefaultTerrainRenderPasses;
import net.caffeinemc.mods.sodium.client.render.chunk.terrain.TerrainRenderPass; import net.caffeinemc.mods.sodium.client.render.chunk.terrain.TerrainRenderPass;
import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Final;
@@ -25,7 +25,7 @@ public class DefaultTerrainRenderPassesMixin {
private static void addCrystallineSkyPass(CallbackInfo ci) { private static void addCrystallineSkyPass(CallbackInfo ci) {
var ALL$ = new TerrainRenderPass[ALL.length + 1]; var ALL$ = new TerrainRenderPass[ALL.length + 1];
System.arraycopy(ALL, 0, ALL$, 0, ALL.length); System.arraycopy(ALL, 0, ALL$, 0, ALL.length);
ALL$[ALL.length] = new TerrainRenderPass(CrystallineRenderLayers.SKY, false, true); ALL$[ALL.length] = new TerrainRenderPass(CrystallineRenderTypes.SKY, false, true);
ALL = ALL$; ALL = ALL$;
} }
} }
@@ -5,7 +5,7 @@ import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
import io.github.slimeistdev.crystalline_sky.annotation.mixin.ConditionalMixin; import io.github.slimeistdev.crystalline_sky.annotation.mixin.ConditionalMixin;
import io.github.slimeistdev.crystalline_sky.compat.Mods; import io.github.slimeistdev.crystalline_sky.compat.Mods;
import io.github.slimeistdev.crystalline_sky.compat.sodium.SkyShaderInterface; import io.github.slimeistdev.crystalline_sky.compat.sodium.SkyShaderInterface;
import io.github.slimeistdev.crystalline_sky.registry.client.CrystallineRenderLayers; import io.github.slimeistdev.crystalline_sky.registry.client.CrystallineRenderTypes;
import net.caffeinemc.mods.sodium.client.gl.shader.GlProgram; import net.caffeinemc.mods.sodium.client.gl.shader.GlProgram;
import net.caffeinemc.mods.sodium.client.render.chunk.ShaderChunkRenderer; import net.caffeinemc.mods.sodium.client.render.chunk.ShaderChunkRenderer;
import net.caffeinemc.mods.sodium.client.render.chunk.shader.ChunkShaderInterface; import net.caffeinemc.mods.sodium.client.render.chunk.shader.ChunkShaderInterface;
@@ -23,7 +23,7 @@ import java.util.function.Function;
public class ShaderChunkRendererMixin { public class ShaderChunkRendererMixin {
@WrapOperation(method = "compileProgram", at = @At(value = "INVOKE", target = "Lnet/caffeinemc/mods/sodium/client/render/chunk/ShaderChunkRenderer;createShader(Ljava/lang/String;Lnet/caffeinemc/mods/sodium/client/render/chunk/shader/ChunkShaderOptions;)Lnet/caffeinemc/mods/sodium/client/gl/shader/GlProgram;"), remap = false) @WrapOperation(method = "compileProgram", at = @At(value = "INVOKE", target = "Lnet/caffeinemc/mods/sodium/client/render/chunk/ShaderChunkRenderer;createShader(Ljava/lang/String;Lnet/caffeinemc/mods/sodium/client/render/chunk/shader/ChunkShaderOptions;)Lnet/caffeinemc/mods/sodium/client/gl/shader/GlProgram;"), remap = false)
private GlProgram<ChunkShaderInterface> createSkyShader(ShaderChunkRenderer instance, String path, ChunkShaderOptions options, Operation<GlProgram<ChunkShaderInterface>> original) { private GlProgram<ChunkShaderInterface> createSkyShader(ShaderChunkRenderer instance, String path, ChunkShaderOptions options, Operation<GlProgram<ChunkShaderInterface>> original) {
if (options.pass() == DefaultMaterials.forRenderLayer(CrystallineRenderLayers.SKY).pass) { if (options.pass() == DefaultMaterials.forRenderLayer(CrystallineRenderTypes.SKY).pass) {
return original.call(instance, "sodium_compat/block_layer_sky", options); return original.call(instance, "sodium_compat/block_layer_sky", options);
} }
@@ -2,7 +2,7 @@ package io.github.slimeistdev.crystalline_sky.mixin.client.compat.sodium;
import io.github.slimeistdev.crystalline_sky.annotation.mixin.ConditionalMixin; import io.github.slimeistdev.crystalline_sky.annotation.mixin.ConditionalMixin;
import io.github.slimeistdev.crystalline_sky.compat.Mods; import io.github.slimeistdev.crystalline_sky.compat.Mods;
import io.github.slimeistdev.crystalline_sky.registry.client.CrystallineRenderLayers; import io.github.slimeistdev.crystalline_sky.registry.client.CrystallineRenderTypes;
import net.caffeinemc.mods.sodium.client.render.SodiumWorldRenderer; import net.caffeinemc.mods.sodium.client.render.SodiumWorldRenderer;
import net.caffeinemc.mods.sodium.client.render.chunk.ChunkRenderMatrices; import net.caffeinemc.mods.sodium.client.render.chunk.ChunkRenderMatrices;
import net.caffeinemc.mods.sodium.client.render.chunk.RenderSectionManager; import net.caffeinemc.mods.sodium.client.render.chunk.RenderSectionManager;
@@ -22,8 +22,8 @@ public class SodiumWorldRendererMixin {
@Inject(method = "drawChunkLayer", at = @At("RETURN")) @Inject(method = "drawChunkLayer", at = @At("RETURN"))
private void drawCrystallineLayer(RenderType renderLayer, ChunkRenderMatrices matrices, double x, double y, double z, CallbackInfo ci) { private void drawCrystallineLayer(RenderType renderLayer, ChunkRenderMatrices matrices, double x, double y, double z, CallbackInfo ci) {
if (renderLayer != CrystallineRenderLayers.SKY) return; if (renderLayer != CrystallineRenderTypes.SKY) return;
renderSectionManager.renderLayer(matrices, DefaultMaterials.forRenderLayer(CrystallineRenderLayers.SKY).pass, x, y, z); renderSectionManager.renderLayer(matrices, DefaultMaterials.forRenderLayer(CrystallineRenderTypes.SKY).pass, x, y, z);
} }
} }
@@ -2,6 +2,6 @@ package io.github.slimeistdev.crystalline_sky.mixin_ducks.client;
import com.mojang.blaze3d.pipeline.RenderTarget; import com.mojang.blaze3d.pipeline.RenderTarget;
public interface WorldRenderer_Duck { public interface LevelRenderer_Duck {
RenderTarget crystalline_sky$getSkyFramebuffer(); RenderTarget crystalline_sky$getSkyFramebuffer();
} }
@@ -2,6 +2,6 @@ package io.github.slimeistdev.crystalline_sky.mixin_ducks.client;
import com.mojang.blaze3d.pipeline.RenderTarget; import com.mojang.blaze3d.pipeline.RenderTarget;
public interface Framebuffer_Duck { public interface RenderTarget_Duck {
void crystalline_sky$copyColorFrom(RenderTarget framebuffer); void crystalline_sky$copyColorFrom(RenderTarget framebuffer);
} }
@@ -1,5 +1,5 @@
package io.github.slimeistdev.crystalline_sky.mixin_ducks.client; package io.github.slimeistdev.crystalline_sky.mixin_ducks.client;
public interface RenderLayer_Duck { public interface RenderType_Duck {
void crystalline_sky$markAsBlockLayer(); void crystalline_sky$markAsBlockLayer();
} }
@@ -1,8 +1,8 @@
package io.github.slimeistdev.crystalline_sky.registry.client; package io.github.slimeistdev.crystalline_sky.registry.client;
import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.systems.RenderSystem;
import io.github.slimeistdev.crystalline_sky.mixin_ducks.client.RenderLayer_Duck; import io.github.slimeistdev.crystalline_sky.mixin_ducks.client.RenderType_Duck;
import io.github.slimeistdev.crystalline_sky.mixin_ducks.client.WorldRenderer_Duck; import io.github.slimeistdev.crystalline_sky.mixin_ducks.client.LevelRenderer_Duck;
import net.fabricmc.api.EnvType; import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment; import net.fabricmc.api.Environment;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
@@ -15,9 +15,9 @@ import static net.minecraft.client.renderer.RenderType.create;
import static net.minecraft.client.renderer.RenderStateShard.LIGHTMAP; import static net.minecraft.client.renderer.RenderStateShard.LIGHTMAP;
@Environment(EnvType.CLIENT) @Environment(EnvType.CLIENT)
public class CrystallineRenderLayers { public class CrystallineRenderTypes {
private static final RenderStateShard.EmptyTextureStateShard SKY_TEXTURE = new SkyBufferTexture(); private static final RenderStateShard.EmptyTextureStateShard SKY_TEXTURE = new SkyBufferTexture();
private static final RenderStateShard.ShaderStateShard SKY_PROGRAM = new RenderStateShard.ShaderStateShard(CrystallineShaderPrograms::getRenderTypeSkyProgram); private static final RenderStateShard.ShaderStateShard SKY_PROGRAM = new RenderStateShard.ShaderStateShard(CrystallineShaderInstances::getRenderTypeSkyProgram);
public static final RenderType SKY = create( public static final RenderType SKY = create(
"crystalline_sky_sky", "crystalline_sky_sky",
@@ -35,14 +35,14 @@ public class CrystallineRenderLayers {
static { static {
//noinspection DataFlowIssue //noinspection DataFlowIssue
((RenderLayer_Duck) SKY).crystalline_sky$markAsBlockLayer(); ((RenderType_Duck) SKY).crystalline_sky$markAsBlockLayer();
} }
private static class SkyBufferTexture extends RenderStateShard.EmptyTextureStateShard { private static class SkyBufferTexture extends RenderStateShard.EmptyTextureStateShard {
public SkyBufferTexture() { public SkyBufferTexture() {
super(() -> { super(() -> {
Minecraft mc = Minecraft.getInstance(); Minecraft mc = Minecraft.getInstance();
var fb = ((WorldRenderer_Duck) mc.levelRenderer).crystalline_sky$getSkyFramebuffer(); var fb = ((LevelRenderer_Duck) mc.levelRenderer).crystalline_sky$getSkyFramebuffer();
RenderSystem.setShaderTexture(0, fb.getColorTextureId()); RenderSystem.setShaderTexture(0, fb.getColorTextureId());
}, () -> {}); }, () -> {});
} }
@@ -4,7 +4,7 @@ import net.minecraft.client.renderer.ShaderInstance;
import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
public class CrystallineShaderPrograms { public class CrystallineShaderInstances {
@ApiStatus.Internal @ApiStatus.Internal
public static @Nullable ShaderInstance renderTypeSkyProgram; public static @Nullable ShaderInstance renderTypeSkyProgram;