Skip to content

Commit c33152e

Browse files
committed
It all builds!
1 parent 0746351 commit c33152e

15 files changed

+144
-197
lines changed

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

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@
3737
import lombok.experimental.UtilityClass;
3838
import net.fabricmc.loader.api.FabricLoader;
3939
import net.minecraft.client.multiplayer.ClientLevel;
40+
import net.minecraft.resources.ResourceLocation;
4041
import net.minecraft.resources.ResourceKey;
41-
import net.minecraft.resources.Identifier;
4242
import net.minecraft.world.level.Level;
4343
import org.jetbrains.annotations.NotNull;
4444
import org.joml.Matrix4f;
@@ -69,8 +69,8 @@ public class Skyboxify {
6969
private final String MCPATCHER_SKY_PARENT = "mcpatcher/sky";
7070
private final Pattern MCPATCHER_SKY_PATTERN = Pattern.compile(MCPATCHER_SKY_PARENT + "/" + SKY_PATTERN_ENDING);
7171

72-
public Identifier locationOrNull(String path) {
73-
return Identifier.tryBuild(MOD_ID, path);
72+
public ResourceLocation locationOrNull(String path) {
73+
return ResourceLocation.tryBuild(MOD_ID, path);
7474
}
7575

7676
public void initialize() {
@@ -133,7 +133,7 @@ private void parseSkyboxes(SkyboxResourceHelper skyboxResourceHelper, String sky
133133
layers.put("world0", new JsonArray()); // Overworld
134134
layers.put("world-1", new JsonArray()); // Nether
135135
layers.put("world1", new JsonArray()); // The End
136-
skyboxResourceHelper.searchIn(skyParent).filter(id -> id.getPath().endsWith(".properties")).sorted(Comparator.comparing(Identifier::getPath, (id1, id2) -> {
136+
skyboxResourceHelper.searchIn(skyParent).filter(id -> id.getPath().endsWith(".properties")).sorted(Comparator.comparing(ResourceLocation::getPath, (id1, id2) -> {
137137
final Matcher matcherId1 = skyPattern.matcher(id1);
138138
final Matcher matcherId2 = skyPattern.matcher(id2);
139139
if (matcherId1.find() && matcherId2.find()) {
@@ -200,10 +200,10 @@ private void parseSkyboxes(SkyboxResourceHelper skyboxResourceHelper, String sky
200200
skyJson.addProperty(
201201
"world",
202202
//? >=1.21.11 {
203-
resourceKey.identifier().toString()
204-
//?} else {
205-
/*resourceKey.location().toString()
206-
*///?}
203+
/*resourceKey.identifier().toString()
204+
*///?} else {
205+
resourceKey.location().toString()
206+
//?}
207207
);
208208
SkyboxManager.INSTANCE.addSkybox(OptiFineSkybox.CODEC.decode(JsonOps.INSTANCE, skyJson).getOrThrow().getFirst());
209209
}

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

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,11 @@
2626
import lombok.Getter;
2727
import lombok.RequiredArgsConstructor;
2828
import net.minecraft.client.multiplayer.ClientLevel;
29-
import net.minecraft.server.level.ServerLevel;
3029

3130
public class LevelTickEvent extends Event {
3231
@RequiredArgsConstructor
3332
public static class Client extends LevelTickEvent {
3433
@Getter
3534
private final ClientLevel level;
3635
}
37-
38-
@RequiredArgsConstructor
39-
public static class Server extends LevelTickEvent {
40-
@Getter
41-
private final ServerLevel level;
42-
}
4336
}

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,5 @@ public enum Type {
6565
MOON,
6666
STARS
6767
}
68-
69-
public static class BatchEnd extends CancellableEvent {
70-
}
7168
}
7269
}

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import org.spongepowered.asm.mixin.Mixin;
2727

2828
//? <=1.21.10 {
29-
/*import btw.lowercase.skyboxify.skybox.SkyboxManager;
29+
import btw.lowercase.skyboxify.skybox.SkyboxManager;
3030
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
3131
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
3232
import net.minecraft.client.Minecraft;
@@ -35,7 +35,7 @@
3535
import org.spongepowered.asm.mixin.Final;
3636
import org.spongepowered.asm.mixin.Shadow;
3737
import org.spongepowered.asm.mixin.injection.At;
38-
*///?}
38+
//?}
3939

4040
//? >=1.21.6 {
4141
@Mixin(net.minecraft.client.renderer.GameRenderer.class)
@@ -44,7 +44,7 @@
4444
*///?}
4545
public abstract class MixinGameRenderer {
4646
//? <=1.21.10 {
47-
/*@Shadow
47+
@Shadow
4848
@Final
4949
private Minecraft minecraft;
5050

@@ -56,5 +56,5 @@ public abstract class MixinGameRenderer {
5656
return original.call(instance, x, y);
5757
}
5858
}
59-
*///?}
59+
//?}
6060
}

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

Lines changed: 66 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import btw.lowercase.skyboxify.Skyboxify;
2727
import btw.lowercase.skyboxify.events.SkyRenderEvent;
2828
import btw.lowercase.skyboxify.skybox.SkyboxManager;
29+
import com.llamalad7.mixinextras.injector.v2.WrapWithCondition;
2930
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
3031
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
3132
import com.mojang.blaze3d.framegraph.FrameGraphBuilder;
@@ -35,6 +36,7 @@
3536
import net.minecraft.client.renderer.LevelRenderer;
3637
import net.minecraft.world.level.Level;
3738
import org.jetbrains.annotations.Nullable;
39+
import org.objectweb.asm.Opcodes;
3840
import org.spongepowered.asm.mixin.Mixin;
3941
import org.spongepowered.asm.mixin.Shadow;
4042
import org.spongepowered.asm.mixin.Unique;
@@ -43,15 +45,16 @@
4345
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
4446

4547
//? >=1.21.11 {
46-
import net.minecraft.world.level.dimension.DimensionType;
47-
//?} else {
48-
/*import net.minecraft.client.renderer.DimensionSpecialEffects;
49-
*///?}
48+
/*import net.minecraft.world.level.dimension.DimensionType;
49+
*///?} else {
50+
import net.minecraft.client.renderer.DimensionSpecialEffects;
51+
//?}
5052

5153
@Mixin(value = LevelRenderer.class, priority = 900)
5254
public abstract class MixinLevelRenderer {
5355
@Unique
54-
private static float skyboxify$tickDelta;
56+
private static float skyboxify$tickDelta = 0.0F;
57+
5558
@Shadow
5659
@Nullable
5760
private ClientLevel level;
@@ -88,8 +91,8 @@ public abstract class MixinLevelRenderer {
8891
)
8992
)
9093
private
91-
//? >=1.21.11
92-
static
94+
//? >=1.21.11
95+
/*static*/
9396
void skyboxify$renderEndSkybox(
9497
net.minecraft.client.renderer.SkyRenderer instance,
9598
//? <=1.21.3
@@ -103,14 +106,14 @@ public abstract class MixinLevelRenderer {
103106
);
104107
Skyboxify.getEventManager().dispatch(new SkyRenderEvent.EndSky.After(
105108
//? >=1.21.11 {
106-
net.minecraft.client.Minecraft.getInstance().level
107-
//? } else {
108-
/*this.level
109-
*///? }
109+
/*net.minecraft.client.Minecraft.getInstance().level
110+
*///?} else {
111+
this.level
112+
//?}
110113
));
111114
}
112115

113-
@WrapOperation(
116+
@WrapWithCondition(
114117
method = "method_62215",
115118
at = @At(
116119
value = "INVOKE",
@@ -125,50 +128,37 @@ public abstract class MixinLevelRenderer {
125128
)
126129
private
127130
//? >=1.21.11
128-
static
129-
void skyboxify$endBatchSunrise(
131+
/*static*/
132+
boolean skyboxify$endBatchSunrise(
130133
net.minecraft.client.renderer.SkyRenderer instance,
131134
PoseStack poseStack,
132135
//? >=1.21.4 <1.21.9
133136
/*net.minecraft.client.renderer.MultiBufferSource.BufferSource bufferSource,*/
134137
//? <=1.21.3
135138
/*com.mojang.blaze3d.vertex.Tesselator tesselator,*/
136139
float sunAngle,
137-
int sunriseOrSunsetColor,
138-
Operation<Void> original
140+
int sunriseOrSunsetColor
139141
) {
140-
final var event = Skyboxify.getEventManager().dispatch(new SkyRenderEvent.SunriseSunset(
142+
return !Skyboxify.getEventManager().dispatch(new SkyRenderEvent.SunriseSunset(
141143
//? >=1.21.11 {
142-
net.minecraft.client.Minecraft.getInstance().level
143-
//? } else {
144-
/*this.level
145-
*///? }
144+
/*net.minecraft.client.Minecraft.getInstance().level
145+
*///?} else {
146+
this.level
147+
//?}
146148
//? >=1.21.4 <1.21.9
147149
/*, bufferSource*/
148-
));
149-
if (!event.isCancelled()) {
150-
original.call(
151-
instance,
152-
poseStack,
153-
//? >=1.21.4 <1.21.9
154-
/*bufferSource,*/
155-
//? <=1.21.3
156-
/*tesselator,*/
157-
sunAngle,
158-
sunriseOrSunsetColor
159-
);
160-
}
150+
)).isCancelled();
161151
}
162152

163-
@WrapOperation(
153+
@WrapWithCondition(
164154
method = "method_62215",
165155
at = @At(
166156
value = "INVOKE",
167157
//? >=1.21.11 {
168-
target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSunMoonAndStars(Lcom/mojang/blaze3d/vertex/PoseStack;FFFLnet/minecraft/world/level/MoonPhase;FF)V"
169-
//?} else >=1.21.9 {
170-
/*target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSunMoonAndStars(Lcom/mojang/blaze3d/vertex/PoseStack;FIFF)V"
171-
*///?} else >=1.21.6 {
158+
/*target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSunMoonAndStars(Lcom/mojang/blaze3d/vertex/PoseStack;FFFLnet/minecraft/world/level/MoonPhase;FF)V"
159+
*///?} else >=1.21.9 {
160+
target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSunMoonAndStars(Lcom/mojang/blaze3d/vertex/PoseStack;FIFF)V"
161+
//?} else >=1.21.6 {
172162
/*target = "Lnet/minecraft/client/renderer/SkyRenderer;renderSunMoonAndStars(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource$BufferSource;FIFF)V"
173163
*///?} else >=1.21.4 {
174164
/*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,9 +168,9 @@ public abstract class MixinLevelRenderer {
178168
)
179169
)
180170
private
181-
//? >=1.21.11
182-
static
183-
void skyboxify$renderSkyboxes(
171+
//? >=1.21.11
172+
/*static*/
173+
boolean skyboxify$renderSkyboxes(
184174
net.minecraft.client.renderer.SkyRenderer instance,
185175
PoseStack poseStack,
186176
//? >=1.21.4 <1.21.9
@@ -189,70 +179,50 @@ public abstract class MixinLevelRenderer {
189179
/*com.mojang.blaze3d.vertex.Tesselator tesselator,*/
190180
float timeOfDay,
191181
//? <=1.21.10 {
192-
/*int moonPhase,
193-
*///?}
182+
int moonPhase,
183+
//?}
194184
float moonAngle,
195-
float starAngle,
185+
float starAngle
196186
//? >=1.21.11 {
197-
net.minecraft.world.level.MoonPhase moonPhase,
187+
/*,net.minecraft.world.level.MoonPhase moonPhase,
198188
float rainBrightness,
199-
float starBrightness,
200-
//?}
189+
float starBrightness
190+
*///?}
201191
//? <1.21.6
202-
/*net.minecraft.client.renderer.FogParameters fog,*/
203-
Operation<Void> original
192+
/*,net.minecraft.client.renderer.FogParameters fog*/
204193
) {
205-
final var event = Skyboxify.getEventManager().dispatch(new SkyRenderEvent.SunMoonStars(
194+
return !Skyboxify.getEventManager().dispatch(new SkyRenderEvent.SunMoonStars(
206195
//? >=1.21.11 {
207-
net.minecraft.client.Minecraft.getInstance().level,
208-
//? } else {
209-
/*this.level,
210-
*///? }
196+
/*net.minecraft.client.Minecraft.getInstance().level,
197+
*///?} else {
198+
this.level,
199+
//?}
211200
skyboxify$tickDelta
212-
));
213-
if (!event.isCancelled()) {
214-
original.call(
215-
instance,
216-
poseStack,
217-
//? >=1.21.4 <1.21.9
218-
/*bufferSource,*/
219-
//? <=1.21.3
220-
/*tesselator,*/
221-
timeOfDay,
222-
//? <=1.21.10
223-
/*moonPhase,*/
224-
moonAngle,
225-
starAngle
226-
//? >=1.21.11 {
227-
, moonPhase, rainBrightness, starBrightness
228-
//?}
229-
//? <1.21.6
230-
/*, fog*/
231-
);
232-
}
201+
)).isCancelled();
233202
}
234203

235204
@WrapOperation(
236205
method = "addSkyPass",
237206
at = @At(
238207
//? >=1.21.11 {
239-
value = "FIELD",
240-
target = "Lnet/minecraft/client/renderer/state/SkyRenderState;skybox:Lnet/minecraft/world/level/dimension/DimensionType$Skybox;"
241-
//?} else >=1.21.10 {
242208
/*value = "FIELD",
243-
target = "Lnet/minecraft/client/renderer/state/SkyRenderState;skyType:Lnet/minecraft/client/renderer/DimensionSpecialEffects$SkyType;"
244-
*///?} else {
209+
target = "Lnet/minecraft/client/renderer/state/SkyRenderState;skybox:Lnet/minecraft/world/level/dimension/DimensionType$Skybox;",
210+
*///?} else >=1.21.10 {
211+
value = "FIELD",
212+
target = "Lnet/minecraft/client/renderer/state/SkyRenderState;skyType:Lnet/minecraft/client/renderer/DimensionSpecialEffects$SkyType;",
213+
//?} else {
245214
/*value = "INVOKE",
246-
target = "Lnet/minecraft/client/renderer/DimensionSpecialEffects;skyType()Lnet/minecraft/client/renderer/DimensionSpecialEffects$SkyType;"
215+
target = "Lnet/minecraft/client/renderer/DimensionSpecialEffects;skyType()Lnet/minecraft/client/renderer/DimensionSpecialEffects$SkyType;",
247216
*///?}
217+
opcode = Opcodes.GETFIELD
248218
)
249219
)
250220
private
251-
//? >=1.21.11 {
252-
DimensionType.Skybox
253-
//?} else {
254-
/*DimensionSpecialEffects.SkyType
255-
*///?}
221+
//? >=1.21.11 {
222+
/*DimensionType.Skybox
223+
*///?} else {
224+
DimensionSpecialEffects.SkyType
225+
//?}
256226
skyboxify$allowNetherSky(
257227
//? >= 1.21.9 {
258228
net.minecraft.client.renderer.state.SkyRenderState instance,
@@ -261,19 +231,19 @@ public abstract class MixinLevelRenderer {
261231
*///?}
262232
Operation<
263233
//? >=1.21.11 {
264-
DimensionType.Skybox
265-
//?} else {
266-
/*DimensionSpecialEffects.SkyType
267-
*///?}
268-
> original
234+
/*DimensionType.Skybox
235+
*///?} else {
236+
DimensionSpecialEffects.SkyType
237+
//?}
238+
> original
269239
) {
270240
//noinspection DataFlowIssue
271241
if (SkyboxManager.INSTANCE.isEnabled(this.level) && SkyboxManager.INSTANCE.containsEnabled(Level.NETHER) && this.level.dimension().equals(Level.NETHER)) {
272242
//? >=1.21.11 {
273-
return DimensionType.Skybox.OVERWORLD;
274-
//?} else {
275-
/*return DimensionSpecialEffects.SkyType.OVERWORLD;
276-
*///?}
243+
/*return DimensionType.Skybox.OVERWORLD;
244+
*///?} else {
245+
return DimensionSpecialEffects.SkyType.OVERWORLD;
246+
//?}
277247
} else {
278248
return original.call(instance);
279249
}

0 commit comments

Comments
 (0)