Skip to content

Commit 4c5ecc8

Browse files
committed
Fix + 1.21.5/8 working
1 parent 7fdf255 commit 4c5ecc8

File tree

8 files changed

+67
-52
lines changed

8 files changed

+67
-52
lines changed

src/main/java/btw/lowercase/optiboxes/mixins/MixinFogRenderer.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,23 @@
1111
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
1212

1313
//? >=1.21.6 {
14-
/*@Mixin(net.minecraft.client.renderer.fog.FogRenderer.class)
15-
*///?} else {
16-
@Mixin(net.minecraft.client.renderer.FogRenderer.class)
17-
//?}
14+
@Mixin(net.minecraft.client.renderer.fog.FogRenderer.class)
15+
//?} else {
16+
/*@Mixin(net.minecraft.client.renderer.FogRenderer.class)
17+
*///?}
1818
public abstract class MixinFogRenderer {
1919
@Inject(method = "computeFogColor", at = @At("HEAD"), cancellable = true)
2020
private
2121
//? <1.21.6
22-
static
22+
/*static*/
2323
void optiboxes$disableNetherFogForSkies(
2424
Camera camera,
2525
float partialTick,
2626
ClientLevel clientLevel,
2727
int renderDistance,
2828
float darkenWorldAmount,
2929
//? >=1.21.6
30-
/*boolean bl,*/
30+
boolean bl,
3131
CallbackInfoReturnable<Vector4f> cir) {
3232
if (SkyboxManager.INSTANCE.isEnabled(clientLevel) && SkyboxManager.INSTANCE.containsEnabled(Level.NETHER)) {
3333
cir.setReturnValue(new Vector4f(1.0F, 1.0F, 1.0F, 0.0F));

src/main/java/btw/lowercase/optiboxes/mixins/MixinLevelRenderer.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,10 @@ public abstract class MixinLevelRenderer {
4545
Camera camera,
4646
float tickDelta,
4747
//? >=1.21.6 {
48-
/*com.mojang.blaze3d.buffers.GpuBufferSlice gpuBufferSlice,
49-
*///?} else {
50-
FogParameters gpuBufferSlice,
51-
//?}
48+
com.mojang.blaze3d.buffers.GpuBufferSlice gpuBufferSlice,
49+
//?} else {
50+
/*FogParameters gpuBufferSlice,
51+
*///?}
5252
CallbackInfo ci) {
5353
this.optiboxes$tickDelta = tickDelta;
5454
}
@@ -82,10 +82,10 @@ public abstract class MixinLevelRenderer {
8282
at = @At(
8383
value = "INVOKE",
8484
//? >=1.21.6 {
85-
/*target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSunMoonAndStars(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource$BufferSource;FIFF)V"
86-
*///?} else {
87-
target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSunMoonAndStars(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource$BufferSource;FIFFLnet/minecraft/client/renderer/FogParameters;)V"
88-
//?}
85+
target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSunMoonAndStars(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource$BufferSource;FIFF)V"
86+
//?} else {
87+
/*target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSunMoonAndStars(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource$BufferSource;FIFFLnet/minecraft/client/renderer/FogParameters;)V"
88+
*///?}
8989
)
9090
)
9191
private void optiboxes$renderSkyboxes(
@@ -97,7 +97,7 @@ public abstract class MixinLevelRenderer {
9797
float rainLevel,
9898
float starBrightness,
9999
//? <1.21.6
100-
FogParameters fog,
100+
/*FogParameters fog,*/
101101
Operation<Void> original
102102
) {
103103
if (SkyboxManager.INSTANCE.isEnabled(this.level)) {
@@ -121,7 +121,7 @@ public abstract class MixinLevelRenderer {
121121
rainLevel,
122122
starBrightness
123123
//? <1.21.6
124-
, fog
124+
/*, fog*/
125125
);
126126
}
127127

src/main/java/btw/lowercase/optiboxes/mixins/MixinSkyRenderer.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,16 @@ public abstract class MixinSkyRenderer {
3030
at = @At(
3131
value = "INVOKE",
3232
//? >=1.21.6 {
33-
/*target = "Lnet/minecraft/client/renderer/SkyRenderer;renderStars(FLcom/mojang/blaze3d/vertex/PoseStack;)V"
34-
*///?} else {
35-
target = "Lnet/minecraft/client/renderer/SkyRenderer;renderStars(Lnet/minecraft/client/renderer/FogParameters;FLcom/mojang/blaze3d/vertex/PoseStack;)V"
36-
//?}
33+
target = "Lnet/minecraft/client/renderer/SkyRenderer;renderStars(FLcom/mojang/blaze3d/vertex/PoseStack;)V"
34+
//?} else {
35+
/*target = "Lnet/minecraft/client/renderer/SkyRenderer;renderStars(Lnet/minecraft/client/renderer/FogParameters;FLcom/mojang/blaze3d/vertex/PoseStack;)V"
36+
*///?}
3737
)
3838
)
3939
private boolean uniskies$toggleStars(
4040
SkyRenderer instance,
4141
//? <1.21.6
42-
net.minecraft.client.renderer.FogParameters fog,
42+
/*net.minecraft.client.renderer.FogParameters fog,*/
4343
float starBrightness,
4444
PoseStack poseStack
4545
) {

src/main/java/btw/lowercase/optiboxes/mixins/RenderPipelinesAccessor.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
@Mixin(net.minecraft.client.renderer.RenderPipelines.class)
88
public interface RenderPipelinesAccessor {
99
//? >=1.21.6 {
10-
/*@Accessor("MATRICES_PROJECTION_SNIPPET")
11-
*///?} else {
12-
@Accessor("MATRICES_COLOR_FOG_SNIPPET")
13-
//?}
10+
@Accessor("MATRICES_PROJECTION_SNIPPET")
11+
//?} else {
12+
/*@Accessor("MATRICES_COLOR_FOG_SNIPPET")
13+
*///?}
1414
static com.mojang.blaze3d.pipeline.RenderPipeline.Snippet optiboxes$getMatricesProjectionSnippet() {
1515
return null;
1616
}

src/main/java/btw/lowercase/optiboxes/skybox/OptiFineSkyRenderer.java

Lines changed: 34 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import btw.lowercase.optiboxes.utils.CommonUtils;
66
import btw.lowercase.optiboxes.utils.IrisUtil;
77
import btw.lowercase.optiboxes.utils.UVRange;
8+
import btw.lowercase.optiboxes.utils.components.Blend;
89
import com.mojang.blaze3d.buffers.GpuBuffer;
910
import com.mojang.blaze3d.pipeline.RenderTarget;
1011
import com.mojang.blaze3d.systems.RenderPass;
@@ -56,10 +57,11 @@ private void buildSky() {
5657
skyBufferIndexCount = meshData.drawState().indexCount();
5758
skyBuffer = RenderSystem.getDevice().createBuffer(
5859
() -> "OptiFine Skybox",
59-
//? >=1.21.6
60-
/*GpuBuffer.USAGE_COPY_DST,*/
61-
//? =1.21.5
62-
com.mojang.blaze3d.buffers.BufferType.VERTICES, com.mojang.blaze3d.buffers.BufferUsage.STATIC_WRITE,
60+
//? >=1.21.6 {
61+
GpuBuffer.USAGE_COPY_DST,
62+
//?} else {
63+
/*com.mojang.blaze3d.buffers.BufferType.VERTICES, com.mojang.blaze3d.buffers.BufferUsage.STATIC_WRITE,
64+
*///?}
6365
meshData.vertexBuffer()
6466
);
6567
}
@@ -68,15 +70,15 @@ private void buildSky() {
6870
//? >=1.21.5 {
6971
private final Map<ResourceLocation, com.mojang.blaze3d.pipeline.RenderPipeline> renderPipelineCache = new HashMap<>();
7072

71-
public static com.mojang.blaze3d.pipeline.RenderPipeline getSkyboxPipeline(@Nullable com.mojang.blaze3d.pipeline.BlendFunction blendFunction) {
73+
public static com.mojang.blaze3d.pipeline.RenderPipeline getSkyboxPipeline(@Nullable btw.lowercase.optiboxes.utils.BlendFunction blendFunction) {
7274
com.mojang.blaze3d.pipeline.RenderPipeline.Builder builder = com.mojang.blaze3d.pipeline.RenderPipeline.builder(RenderPipelinesAccessor.optiboxes$getMatricesProjectionSnippet());
7375
builder.withLocation(OptiBoxesClient.id("pipeline/custom_skybox"));
7476
builder.withVertexShader(OptiBoxesClient.id("core/custom_skybox"));
7577
builder.withFragmentShader(OptiBoxesClient.id("core/custom_skybox"));
7678
builder.withDepthWrite(false);
7779
builder.withColorWrite(true, false);
7880
if (blendFunction != null) {
79-
builder.withBlend(blendFunction);
81+
builder.withBlend(blendFunction.toNative());
8082
}
8183
builder.withSampler("Sampler0");
8284
builder.withVertexFormat(DefaultVertexFormat.POSITION_TEX, VertexFormat.Mode.QUADS);
@@ -97,6 +99,11 @@ public void renderSkybox(OptiFineSkybox optiFineSkybox, Matrix4fStack modelViewS
9799
for (OptiFineSkyLayer optiFineSkyLayer : optiFineSkybox.getLayers().stream().filter(layer -> layer.isActive(dayTime, clampedTimeOfDay)).toList()) {
98100
renderSkyLayer(optiFineSkyLayer, modelViewStack, level, clampedTimeOfDay, skyAngle, rainLevel, thunderLevel, optiFineSkybox.getConditionAlphaFor(optiFineSkyLayer));
99101
}
102+
103+
//? <=1.21.5 {
104+
/*Vector4f shaderColor = Blend.ADD.getShaderColor(1.0F - rainLevel);
105+
RenderSystem.setShaderColor(shaderColor.x, shaderColor.y, shaderColor.z, shaderColor.w);
106+
*///?}
100107
}
101108

102109
public void renderSkyLayer(OptiFineSkyLayer optiFineSkyLayer, Matrix4fStack modelViewStack, Level level, int timeOfDay, float skyAngle, float rainGradient, float thunderGradient, float conditionAlpha) {
@@ -114,39 +121,39 @@ public void renderSkyLayer(OptiFineSkyLayer optiFineSkyLayer, Matrix4fStack mode
114121
AbstractTexture skyTexture = Minecraft.getInstance().getTextureManager().getTexture(optiFineSkyLayer.source());
115122

116123
//? >=1.21.6 {
117-
/*com.mojang.blaze3d.buffers.GpuBufferSlice transforms = btw.lowercase.optiboxes.utils.DynamicTransformsBuilder.of()
124+
com.mojang.blaze3d.buffers.GpuBufferSlice transforms = btw.lowercase.optiboxes.utils.DynamicTransformsBuilder.of()
118125
.withModelViewMatrix(modelViewStack)
119126
.withShaderColor(shaderColor)
120127
.build();
121-
*///?} else {
122-
RenderSystem.setShaderColor(shaderColor.x, shaderColor.y, shaderColor.z, shaderColor.w);
123-
//?}
128+
//?} else {
129+
/*RenderSystem.setShaderColor(shaderColor.x, shaderColor.y, shaderColor.z, shaderColor.w);
130+
*///?}
124131

125132
//? >=1.21.5 {
126133
com.mojang.blaze3d.pipeline.RenderPipeline renderPipeline = this.renderPipelineCache.computeIfAbsent(optiFineSkyLayer.source(), (resourceLocation) -> {
127-
com.mojang.blaze3d.pipeline.RenderPipeline pipeline = getSkyboxPipeline(optiFineSkyLayer.blend().getBlendFunction().toNative());
134+
com.mojang.blaze3d.pipeline.RenderPipeline pipeline = getSkyboxPipeline(optiFineSkyLayer.blend().getBlendFunction());
128135
IrisUtil.assignPipeline(pipeline, IrisUtil.skyTextured());
129136
return pipeline;
130137
});
131138

132139
RenderTarget renderTarget = Minecraft.getInstance().getMainRenderTarget();
133140

134141
//? >=1.21.6 {
135-
/*com.mojang.blaze3d.textures.GpuTextureView texture = skyTexture.getTextureView();
142+
com.mojang.blaze3d.textures.GpuTextureView texture = skyTexture.getTextureView();
136143
com.mojang.blaze3d.textures.GpuTextureView colorTexture = renderTarget.getColorTextureView();
137-
com.mojang.blaze3d.textures.GpuTextureView depthTexture = renderTarget.useDepth ? renderTarget.getDepthTextureView() : null;
138-
*///?} else {
139-
com.mojang.blaze3d.textures.GpuTexture texture = skyTexture.getTexture();
144+
com.mojang.blaze3d.textures.GpuTextureView depthTexture = renderTarget.getDepthTextureView();
145+
//?} else {
146+
/*com.mojang.blaze3d.textures.GpuTexture texture = skyTexture.getTexture();
140147
com.mojang.blaze3d.textures.GpuTexture colorTexture = renderTarget.getColorTexture();
141-
com.mojang.blaze3d.textures.GpuTexture depthTexture = renderTarget.useDepth ? renderTarget.getDepthTexture() : null;
142-
//?}
148+
com.mojang.blaze3d.textures.GpuTexture depthTexture = renderTarget.getDepthTexture();
149+
*///?}
143150

144151
GpuBuffer indexBuffer = this.skyBufferIndices.getBuffer(this.skyBufferIndexCount);
145152
try (RenderPass renderPass = RenderSystem.getDevice()
146153
.createCommandEncoder()
147154
.createRenderPass(
148155
//? >=1.21.6
149-
/*() -> "Custom Sky Rendering",*/
156+
() -> "Custom Sky Rendering",
150157
colorTexture,
151158
OptionalInt.empty(),
152159
depthTexture,
@@ -156,17 +163,18 @@ public void renderSkyLayer(OptiFineSkyLayer optiFineSkyLayer, Matrix4fStack mode
156163
renderPass.setVertexBuffer(0, this.skyBuffer);
157164
renderPass.setIndexBuffer(indexBuffer, this.skyBufferIndices.type());
158165
//? >=1.21.6 {
159-
/*RenderSystem.bindDefaultUniforms(renderPass);
166+
RenderSystem.bindDefaultUniforms(renderPass);
160167
renderPass.setUniform("DynamicTransforms", transforms);
161-
*///?}
168+
//?}
162169
renderPass.bindSampler("Sampler0", texture);
163170
//? >=1.21.6 {
164-
/*renderPass.drawIndexed(0, 0, this.skyBufferIndexCount, 1);
165-
*///?} else {
166-
renderPass.drawIndexed(0, this.skyBufferIndexCount);
167-
//?}
171+
renderPass.drawIndexed(0, 0, this.skyBufferIndexCount, 1);
172+
//?} else {
173+
/*renderPass.drawIndexed(0, this.skyBufferIndexCount);
174+
*///?}
168175
}
169176
//?} else {
177+
170178
//?}
171179

172180
modelViewStack.popMatrix();
@@ -186,6 +194,8 @@ private float getAngle(Level level, float skyAngle, float speed) {
186194
}
187195

188196
public void clearCache() {
197+
//? >=1.21.5 {
189198
this.renderPipelineCache.clear();
199+
//?}
190200
}
191201
}

src/main/java/btw/lowercase/optiboxes/utils/DynamicTransformsBuilder.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public DynamicTransformsBuilder withLineWidth(float lineWidth) {
6060
}
6161

6262
//? >=1.21.6 {
63-
/*public com.mojang.blaze3d.buffers.GpuBufferSlice build() {
63+
public com.mojang.blaze3d.buffers.GpuBufferSlice build() {
6464
return com.mojang.blaze3d.systems.RenderSystem.getDynamicUniforms().writeTransform(
6565
this.modelViewMatrix.orElse(com.mojang.blaze3d.systems.RenderSystem.getModelViewMatrix()),
6666
this.colorModulator.orElse(new Vector4f(1.0F, 1.0F, 1.0F, 1.0F)),
@@ -69,5 +69,5 @@ public DynamicTransformsBuilder withLineWidth(float lineWidth) {
6969
this.lineWidth.orElse(com.mojang.blaze3d.systems.RenderSystem.getShaderLineWidth())
7070
);
7171
}
72-
*///?}
72+
//?}
7373
}

src/main/resources/optiboxes.mixins.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44
"package": "btw.lowercase.optiboxes.mixins",
55
"compatibilityLevel": "JAVA_21",
66
"client": [
7+
"MixinClientLevel",
8+
"MixinFogRenderer",
9+
"MixinLevelRenderer",
10+
"MixinSkyRenderer",
11+
"RenderPipelinesAccessor"
712
],
813
"injectors": {
914
"defaultRequire": 1

stonecutter.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ plugins {
55
alias(libs.plugins.publishing)
66
}
77

8-
stonecutter active "1.21.5-fabric" /* [SC] DO NOT EDIT */
8+
stonecutter active "1.21.8-fabric" /* [SC] DO NOT EDIT */
99

1010
stonecutter tasks {
1111
val ordering = Comparator

0 commit comments

Comments
 (0)