Skip to content

Commit cb9070b

Browse files
committed
Re-fix horizon issue in 1.21.4-1.21.8
1 parent 4f23fa7 commit cb9070b

15 files changed

+221
-205
lines changed

src/main/java/btw/lowercase/skyboxify/Skyboxify.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,12 @@ public void initialize() {
9191
});
9292

9393
//? >=1.21.4 <1.21.9 {
94-
eventManager.listen(SkyRenderEvent.SunriseSunset.class, event -> {
95-
if (SkyboxManager.INSTANCE.isEnabled(event.getLevel())) {
96-
event.getBufferSource().endBatch();
97-
}
98-
});
99-
//?}
94+
/*eventManager.listen(SkyRenderEvent.SunriseSunset.After.class, event -> {
95+
if (SkyboxManager.INSTANCE.isEnabled(event.getLevel())) {
96+
event.getBufferSource().endBatch();
97+
}
98+
});
99+
*///?}
100100

101101
eventManager.listen(SkyRenderEvent.EndSky.After.class, event -> renderSkyboxes(event.getLevel(), 0.0F));
102102

src/main/java/btw/lowercase/skyboxify/SkyboxifyClient.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ public void onInitializeClient() {
4040
dispatcher.register(new SkyboxifyCommand("optiboxes")); // TODO: Remove
4141
});
4242
//? >=1.21.10 {
43-
/*net.fabricmc.fabric.api.resource.v1.ResourceLoader.get(PackType.CLIENT_RESOURCES).registerReloader(Skyboxify.locationOrNull("skybox_reader"), new SkyboxResourceHelper());
44-
*///?} else {
45-
net.fabricmc.fabric.api.resource.ResourceManagerHelper.get(PackType.CLIENT_RESOURCES).registerReloadListener(new SkyboxResourceHelper());
46-
//?}
43+
net.fabricmc.fabric.api.resource.v1.ResourceLoader.get(PackType.CLIENT_RESOURCES).registerReloader(Skyboxify.locationOrNull("skybox_reader"), new SkyboxResourceHelper());
44+
//?} else {
45+
/*net.fabricmc.fabric.api.resource.ResourceManagerHelper.get(PackType.CLIENT_RESOURCES).registerReloadListener(new SkyboxResourceHelper());
46+
*///?}
4747
}
4848
}

src/main/java/btw/lowercase/skyboxify/events/SkyRenderEvent.java

Lines changed: 36 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -29,41 +29,44 @@
2929
import net.minecraft.world.level.Level;
3030

3131
public class SkyRenderEvent {
32-
public static class EndSky {
33-
@RequiredArgsConstructor
34-
public static class After extends Event {
35-
@Getter
36-
private final ClientLevel level;
37-
}
38-
}
32+
public static class EndSky {
33+
@RequiredArgsConstructor
34+
public static class After extends Event {
35+
@Getter
36+
private final ClientLevel level;
37+
}
38+
}
3939

40-
@RequiredArgsConstructor
41-
public static class SunriseSunset extends CancellableEvent {
42-
@Getter
43-
private final Level level;
44-
//? >=1.21.4 <1.21.9 {
45-
@Getter
46-
private final net.minecraft.client.renderer.MultiBufferSource.BufferSource bufferSource;
47-
//?}
48-
}
40+
@RequiredArgsConstructor
41+
public static class SunriseSunset extends CancellableEvent {
42+
@RequiredArgsConstructor
43+
public static class After extends Event {
44+
@Getter
45+
private final Level level;
46+
//? >=1.21.4 <1.21.9 {
47+
/*@Getter
48+
private final net.minecraft.client.renderer.MultiBufferSource.BufferSource bufferSource;
49+
*///?}
50+
}
51+
}
4952

50-
@RequiredArgsConstructor
51-
public static class SunMoonStars extends CancellableEvent {
52-
@Getter
53-
private final ClientLevel level;
54-
@Getter
55-
private final float tickDelta;
56-
}
53+
@RequiredArgsConstructor
54+
public static class SunMoonStars extends CancellableEvent {
55+
@Getter
56+
private final ClientLevel level;
57+
@Getter
58+
private final float tickDelta;
59+
}
5760

58-
@RequiredArgsConstructor
59-
public static class Celestial extends CancellableEvent {
60-
@Getter
61-
private final Type type;
61+
@RequiredArgsConstructor
62+
public static class Celestial extends CancellableEvent {
63+
@Getter
64+
private final Type type;
6265

63-
public enum Type {
64-
SUN,
65-
MOON,
66-
STARS
67-
}
68-
}
66+
public enum Type {
67+
SUN,
68+
MOON,
69+
STARS
70+
}
71+
}
6972
}

src/main/java/btw/lowercase/skyboxify/mixins/MixinGameRenderer.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@
3838
//?}
3939

4040
//? >=1.21.6 {
41-
/*@Mixin(net.minecraft.client.renderer.GameRenderer.class)
42-
*///?} else {
43-
@Mixin(net.minecraft.client.renderer.LevelRenderer.class)
44-
//?}
41+
@Mixin(net.minecraft.client.renderer.GameRenderer.class)
42+
//?} else {
43+
/*@Mixin(net.minecraft.client.renderer.LevelRenderer.class)
44+
*///?}
4545
public abstract class MixinGameRenderer {
4646
//? <=1.21.10 {
4747
@Shadow

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

Lines changed: 53 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -64,19 +64,19 @@ public abstract class MixinLevelRenderer {
6464
FrameGraphBuilder frameGraphBuilder,
6565
Camera camera,
6666
//? <=1.21.8
67-
float tickDelta,
67+
/*float tickDelta,*/
6868
//? >=1.21.6 {
69-
/*com.mojang.blaze3d.buffers.GpuBufferSlice gpuBufferSlice,
70-
*///?} else {
71-
net.minecraft.client.renderer.FogParameters gpuBufferSlice,
72-
//?}
69+
com.mojang.blaze3d.buffers.GpuBufferSlice gpuBufferSlice,
70+
//?} else {
71+
/*net.minecraft.client.renderer.FogParameters gpuBufferSlice,
72+
*///?}
7373
CallbackInfo ci) {
7474
skyboxify$tickDelta =
7575
//? >=1.21.9 {
76-
/*net.minecraft.client.Minecraft.getInstance().getDeltaTracker().getGameTimeDeltaPartialTick(false);
77-
*///?} else {
78-
tickDelta;
79-
//?}
76+
net.minecraft.client.Minecraft.getInstance().getDeltaTracker().getGameTimeDeltaPartialTick(false);
77+
//?} else {
78+
/*tickDelta;
79+
*///?}
8080
}
8181

8282
@WrapOperation(
@@ -113,41 +113,54 @@ public abstract class MixinLevelRenderer {
113113
));
114114
}
115115

116-
@WrapWithCondition(
116+
@WrapOperation(
117117
method = "method_62215",
118118
at = @At(
119119
value = "INVOKE",
120120
//? >=1.21.9 {
121-
/*target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSunriseAndSunset(Lcom/mojang/blaze3d/vertex/PoseStack;FI)V"
122-
*///?} else >=1.21.4 {
123-
target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSunriseAndSunset(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource$BufferSource;FI)V"
124-
//?} else {
121+
target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSunriseAndSunset(Lcom/mojang/blaze3d/vertex/PoseStack;FI)V"
122+
//?} else >=1.21.4 {
123+
/*target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSunriseAndSunset(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource$BufferSource;FI)V"
124+
*///?} else {
125125
/*target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSunriseAndSunset(Lcom/mojang/blaze3d/vertex/PoseStack;Lcom/mojang/blaze3d/vertex/Tesselator;FI)V"
126126
*///?}
127127
)
128128
)
129129
private
130130
//? >=1.21.11
131131
/*static*/
132-
boolean skyboxify$endBatchSunrise(
132+
void skyboxify$endBatchSunrise(
133133
net.minecraft.client.renderer.SkyRenderer instance,
134134
PoseStack poseStack,
135135
//? >=1.21.4 <1.21.9
136-
net.minecraft.client.renderer.MultiBufferSource.BufferSource bufferSource,
136+
/*net.minecraft.client.renderer.MultiBufferSource.BufferSource bufferSource,*/
137137
//? <=1.21.3
138138
/*com.mojang.blaze3d.vertex.Tesselator tesselator,*/
139139
float sunAngle,
140-
int sunriseOrSunsetColor
140+
int sunriseOrSunsetColor,
141+
Operation<Void> original
141142
) {
142-
return !Skyboxify.getEventManager().dispatch(new SkyRenderEvent.SunriseSunset(
143-
//? >=1.21.11 {
144-
/*net.minecraft.client.Minecraft.getInstance().level
145-
*///?} else {
146-
this.level
147-
//?}
148-
//? >=1.21.4 <1.21.9
149-
, bufferSource
150-
)).isCancelled();
143+
if (!Skyboxify.getEventManager().dispatch(new SkyRenderEvent.SunriseSunset()).isCancelled()) {
144+
original.call(
145+
instance,
146+
poseStack,
147+
//? >=1.21.4 <1.21.9
148+
/*bufferSource,*/
149+
//? <=1.21.3
150+
/*tesselator,*/
151+
sunAngle,
152+
sunriseOrSunsetColor
153+
);
154+
Skyboxify.getEventManager().dispatch(new SkyRenderEvent.SunriseSunset.After(
155+
//? >=1.21.11 {
156+
/*net.minecraft.client.Minecraft.getInstance().level
157+
*///?} else {
158+
this.level
159+
//?}
160+
//? >=1.21.4 <1.21.9
161+
/*, bufferSource*/
162+
));
163+
}
151164
}
152165

153166
@WrapWithCondition(
@@ -157,12 +170,12 @@ public abstract class MixinLevelRenderer {
157170
//? >=1.21.11 {
158171
/*target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSunMoonAndStars(Lcom/mojang/blaze3d/vertex/PoseStack;FFFLnet/minecraft/world/level/MoonPhase;FF)V"
159172
*///?} else >=1.21.9 {
160-
/*target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSunMoonAndStars(Lcom/mojang/blaze3d/vertex/PoseStack;FIFF)V"
161-
*///?} else >=1.21.6 {
173+
target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSunMoonAndStars(Lcom/mojang/blaze3d/vertex/PoseStack;FIFF)V"
174+
//?} else >=1.21.6 {
162175
/*target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSunMoonAndStars(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource$BufferSource;FIFF)V"
163176
*///?} else >=1.21.4 {
164-
target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSunMoonAndStars(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource$BufferSource;FIFFLnet/minecraft/client/renderer/FogParameters;)V"
165-
//?} else {
177+
/*target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSunMoonAndStars(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource$BufferSource;FIFFLnet/minecraft/client/renderer/FogParameters;)V"
178+
*///?} else {
166179
/*target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSunMoonAndStars(Lcom/mojang/blaze3d/vertex/PoseStack;Lcom/mojang/blaze3d/vertex/Tesselator;FIFFLnet/minecraft/client/renderer/FogParameters;)V"
167180
*///?}
168181
)
@@ -174,7 +187,7 @@ public abstract class MixinLevelRenderer {
174187
net.minecraft.client.renderer.SkyRenderer instance,
175188
PoseStack poseStack,
176189
//? >=1.21.4 <1.21.9
177-
net.minecraft.client.renderer.MultiBufferSource.BufferSource bufferSource,
190+
/*net.minecraft.client.renderer.MultiBufferSource.BufferSource bufferSource,*/
178191
//? <=1.21.3
179192
/*com.mojang.blaze3d.vertex.Tesselator tesselator,*/
180193
float timeOfDay,
@@ -189,7 +202,7 @@ public abstract class MixinLevelRenderer {
189202
float starBrightness
190203
*///?}
191204
//? <1.21.6
192-
,net.minecraft.client.renderer.FogParameters fog
205+
/*,net.minecraft.client.renderer.FogParameters fog*/
193206
) {
194207
return !Skyboxify.getEventManager().dispatch(new SkyRenderEvent.SunMoonStars(
195208
//? >=1.21.11 {
@@ -208,12 +221,12 @@ public abstract class MixinLevelRenderer {
208221
/*value = "FIELD",
209222
target = "Lnet/minecraft/client/renderer/state/SkyRenderState;skybox:Lnet/minecraft/world/level/dimension/DimensionType$Skybox;",
210223
*///?} else >=1.21.10 {
211-
/*value = "FIELD",
224+
value = "FIELD",
212225
target = "Lnet/minecraft/client/renderer/state/SkyRenderState;skyType:Lnet/minecraft/client/renderer/DimensionSpecialEffects$SkyType;",
213-
*///?} else {
214-
value = "INVOKE",
226+
//?} else {
227+
/*value = "INVOKE",
215228
target = "Lnet/minecraft/client/renderer/DimensionSpecialEffects;skyType()Lnet/minecraft/client/renderer/DimensionSpecialEffects$SkyType;",
216-
//?}
229+
*///?}
217230
opcode = Opcodes.GETFIELD
218231
)
219232
)
@@ -225,10 +238,10 @@ public abstract class MixinLevelRenderer {
225238
//?}
226239
skyboxify$allowNetherSky(
227240
//? >= 1.21.9 {
228-
/*net.minecraft.client.renderer.state.SkyRenderState instance,
229-
*///?} else {
230-
DimensionSpecialEffects instance,
231-
//?}
241+
net.minecraft.client.renderer.state.SkyRenderState instance,
242+
//?} else {
243+
/*DimensionSpecialEffects instance,
244+
*///?}
232245
Operation<
233246
//? >=1.21.11 {
234247
/*DimensionType.Skybox

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

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@ public abstract class MixinSkyRenderer {
4646
at = @At(
4747
value = "INVOKE",
4848
//? >=1.21.9 {
49-
/*target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSun(FLcom/mojang/blaze3d/vertex/PoseStack;)V"
50-
*///?} else >=1.21.4 {
51-
target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSun(FLnet/minecraft/client/renderer/MultiBufferSource;Lcom/mojang/blaze3d/vertex/PoseStack;)V"
52-
//?} else {
49+
target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSun(FLcom/mojang/blaze3d/vertex/PoseStack;)V"
50+
//?} else >=1.21.4 {
51+
/*target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSun(FLnet/minecraft/client/renderer/MultiBufferSource;Lcom/mojang/blaze3d/vertex/PoseStack;)V"
52+
*///?} else {
5353
/*target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSun(FLcom/mojang/blaze3d/vertex/Tesselator;Lcom/mojang/blaze3d/vertex/PoseStack;)V"
5454
*///?}
5555
)
@@ -58,12 +58,12 @@ public abstract class MixinSkyRenderer {
5858
SkyRenderer instance,
5959
float rainLevel,
6060
//? <1.21.9 {
61-
//? >=1.21.4 {
61+
/*//? >=1.21.4 {
6262
net.minecraft.client.renderer.MultiBufferSource multiBufferSource,
6363
//?} else {
64-
/*com.mojang.blaze3d.vertex.Tesselator tesselator,
65-
*///?}
66-
//?}
64+
/^com.mojang.blaze3d.vertex.Tesselator tesselator,
65+
^///?}
66+
*///?}
6767
PoseStack poseStack
6868
) {
6969
return !Skyboxify.getEventManager().dispatch(new SkyRenderEvent.Celestial(SkyRenderEvent.Celestial.Type.SUN)).isCancelled();
@@ -76,10 +76,10 @@ public abstract class MixinSkyRenderer {
7676
//? >=1.21.11 {
7777
/*target = "Lnet/minecraft/client/renderer/SkyRenderer;renderMoon(Lnet/minecraft/world/level/MoonPhase;FLcom/mojang/blaze3d/vertex/PoseStack;)V"
7878
*///?} else >=1.21.9 {
79-
/*target = "Lnet/minecraft/client/renderer/SkyRenderer;renderMoon(IFLcom/mojang/blaze3d/vertex/PoseStack;)V"
80-
*///?} else >=1.21.4 {
81-
target = "Lnet/minecraft/client/renderer/SkyRenderer;renderMoon(IFLnet/minecraft/client/renderer/MultiBufferSource;Lcom/mojang/blaze3d/vertex/PoseStack;)V"
82-
//?} else {
79+
target = "Lnet/minecraft/client/renderer/SkyRenderer;renderMoon(IFLcom/mojang/blaze3d/vertex/PoseStack;)V"
80+
//?} else >=1.21.4 {
81+
/*target = "Lnet/minecraft/client/renderer/SkyRenderer;renderMoon(IFLnet/minecraft/client/renderer/MultiBufferSource;Lcom/mojang/blaze3d/vertex/PoseStack;)V"
82+
*///?} else {
8383
/*target = "Lnet/minecraft/client/renderer/SkyRenderer;renderMoon(IFLcom/mojang/blaze3d/vertex/Tesselator;Lcom/mojang/blaze3d/vertex/PoseStack;)V"
8484
*///?}
8585
)
@@ -93,12 +93,12 @@ public abstract class MixinSkyRenderer {
9393
//?}
9494
float rainLevel,
9595
//? <1.21.9 {
96-
//? >=1.21.4 {
96+
/*//? >=1.21.4 {
9797
net.minecraft.client.renderer.MultiBufferSource multiBufferSource,
9898
//?} else {
99-
/*com.mojang.blaze3d.vertex.Tesselator tesselator,
100-
*///?}
101-
//?}
99+
/^com.mojang.blaze3d.vertex.Tesselator tesselator,
100+
^///?}
101+
*///?}
102102
PoseStack poseStack
103103
) {
104104
return !Skyboxify.getEventManager().dispatch(new SkyRenderEvent.Celestial(SkyRenderEvent.Celestial.Type.MOON)).isCancelled();
@@ -109,16 +109,16 @@ public abstract class MixinSkyRenderer {
109109
at = @At(
110110
value = "INVOKE",
111111
//? >=1.21.6 {
112-
/*target = "Lnet/minecraft/client/renderer/SkyRenderer;renderStars(FLcom/mojang/blaze3d/vertex/PoseStack;)V"
113-
*///?} else {
114-
target = "Lnet/minecraft/client/renderer/SkyRenderer;renderStars(Lnet/minecraft/client/renderer/FogParameters;FLcom/mojang/blaze3d/vertex/PoseStack;)V"
115-
//?}
112+
target = "Lnet/minecraft/client/renderer/SkyRenderer;renderStars(FLcom/mojang/blaze3d/vertex/PoseStack;)V"
113+
//?} else {
114+
/*target = "Lnet/minecraft/client/renderer/SkyRenderer;renderStars(Lnet/minecraft/client/renderer/FogParameters;FLcom/mojang/blaze3d/vertex/PoseStack;)V"
115+
*///?}
116116
)
117117
)
118118
private boolean skyboxify$toggleStars(
119119
SkyRenderer instance,
120120
//? <1.21.6
121-
net.minecraft.client.renderer.FogParameters fog,
121+
/*net.minecraft.client.renderer.FogParameters fog,*/
122122
float starBrightness,
123123
PoseStack poseStack
124124
) {

0 commit comments

Comments
 (0)