From 550be809babf2f7b7b93756031ac3fce684136a5 Mon Sep 17 00:00:00 2001 From: Tryfle Date: Sun, 14 Jun 2026 15:35:51 -0400 Subject: [PATCH] fix: 1.21.11, 26.1 --- gradle.properties | 2 +- .../mixin/Mixin_ClientClockManager.java | 26 +++++++++++++++++++ .../polytime/mixin/Mixin_ClientLevelData.java | 21 +++++++++++++++ .../polytime/mixin/Mixin_DimensionType.java | 21 +++++++++++++++ .../mixin/Mixin_ModifyCelestialGradient.java | 2 +- src/main/resources/mixins.polytime.json | 5 ++-- 6 files changed, 73 insertions(+), 4 deletions(-) create mode 100644 src/main/java/org/polyfrost/polytime/mixin/Mixin_ClientClockManager.java create mode 100644 src/main/java/org/polyfrost/polytime/mixin/Mixin_ClientLevelData.java create mode 100644 src/main/java/org/polyfrost/polytime/mixin/Mixin_DimensionType.java diff --git a/gradle.properties b/gradle.properties index bf2e85b..61e2cb5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,7 +10,7 @@ org.gradle.daemon=true org.gradle.parallel=true org.gradle.configureoncommand=true org.gradle.parallel.threads=4 -org.gradle.jvmargs=-Xmx2G +org.gradle.jvmargs=-Xmx4G # Fix YALMM fabric.loom.dropNonIntermediateRootMethods=true diff --git a/src/main/java/org/polyfrost/polytime/mixin/Mixin_ClientClockManager.java b/src/main/java/org/polyfrost/polytime/mixin/Mixin_ClientClockManager.java new file mode 100644 index 0000000..5766475 --- /dev/null +++ b/src/main/java/org/polyfrost/polytime/mixin/Mixin_ClientClockManager.java @@ -0,0 +1,26 @@ +package org.polyfrost.polytime.mixin; + +//? if >=26.1 { +/*import net.minecraft.client.ClientClockManager; +import net.minecraft.core.Holder; +import net.minecraft.world.clock.WorldClock; + +import org.polyfrost.polytime.client.PolyTimeClient; +import org.polyfrost.polytime.client.PolyTimeConfig; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + + +@Mixin(ClientClockManager.class) + +public class Mixin_ClientClockManager { + @Inject(method = "getTotalTicks", at = @At("HEAD"), cancellable = true) + private void polytime$overrideTicks(Holder definition, CallbackInfoReturnable cir) { + if (PolyTimeConfig.isEnabled()) { + cir.setReturnValue(PolyTimeClient.getCurrentTime()); + } + } +} +*///?} \ No newline at end of file diff --git a/src/main/java/org/polyfrost/polytime/mixin/Mixin_ClientLevelData.java b/src/main/java/org/polyfrost/polytime/mixin/Mixin_ClientLevelData.java new file mode 100644 index 0000000..29a5710 --- /dev/null +++ b/src/main/java/org/polyfrost/polytime/mixin/Mixin_ClientLevelData.java @@ -0,0 +1,21 @@ +package org.polyfrost.polytime.mixin; + +//? if 1.21.11 { +/*import net.minecraft.client.multiplayer.ClientLevel; +import org.polyfrost.polytime.client.PolyTimeClient; +import org.polyfrost.polytime.client.PolyTimeConfig; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +@Mixin(ClientLevel.ClientLevelData.class) +public class Mixin_ClientLevelData { + @Inject(method = "getDayTime", at = @At("HEAD"), cancellable = true) + private void polytime$overrideDayTime(CallbackInfoReturnable cir) { + if (PolyTimeConfig.isEnabled()) { + cir.setReturnValue(PolyTimeClient.getCurrentTime()); + } + } +} +*///?} \ No newline at end of file diff --git a/src/main/java/org/polyfrost/polytime/mixin/Mixin_DimensionType.java b/src/main/java/org/polyfrost/polytime/mixin/Mixin_DimensionType.java new file mode 100644 index 0000000..634820f --- /dev/null +++ b/src/main/java/org/polyfrost/polytime/mixin/Mixin_DimensionType.java @@ -0,0 +1,21 @@ +package org.polyfrost.polytime.mixin; + +//? if 1.21.11 { +/*import net.minecraft.world.level.dimension.DimensionType; +import org.polyfrost.polytime.client.PolyTimeClient; +import org.polyfrost.polytime.client.PolyTimeConfig; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.ModifyVariable; + +@Mixin(DimensionType.class) +public class Mixin_DimensionType { + @ModifyVariable(method = "timeOfDay(J)F", at = @At("HEAD"), argsOnly = true) + private long polytime$overrideTimeOfDay(long dayTime) { + if (PolyTimeConfig.isEnabled()) { + return PolyTimeClient.getCurrentTime(); + } + return dayTime; + } +} +*///?} diff --git a/src/main/java/org/polyfrost/polytime/mixin/Mixin_ModifyCelestialGradient.java b/src/main/java/org/polyfrost/polytime/mixin/Mixin_ModifyCelestialGradient.java index bee2344..a051dbb 100644 --- a/src/main/java/org/polyfrost/polytime/mixin/Mixin_ModifyCelestialGradient.java +++ b/src/main/java/org/polyfrost/polytime/mixin/Mixin_ModifyCelestialGradient.java @@ -21,7 +21,7 @@ protected Mixin_ModifyCelestialGradient(WritableLevelData levelData, ResourceKey super(levelData, dimension, registryAccess, dimensionTypeRegistration, /*? if 1.21.1 {*/ /*profiler, *//*?}*/ isClientSide, isDebug, biomeZoomSeed, maxChainedNeighborUpdates); } - /*? if <26.1 {*/ + /*? if <1.21.11 {*/ @Override public float getTimeOfDay(float tickDelta) { if (PolyTimeConfig.isEnabled()) { diff --git a/src/main/resources/mixins.polytime.json b/src/main/resources/mixins.polytime.json index 652ea6d..8877642 100644 --- a/src/main/resources/mixins.polytime.json +++ b/src/main/resources/mixins.polytime.json @@ -5,8 +5,9 @@ "refmap": "mixins.polytime.refmap.json", "verbose": true, "client": [ + "Mixin_ClientClockManager", + "Mixin_ClientLevelData", "Mixin_FixMoonPhases", - "Mixin_ModifyCelestialGradient", - "Mixin_ClientClockManager" + "Mixin_ModifyCelestialGradient" ] } \ No newline at end of file