retire static TickSpeed. Use Server and Client synchronization agents.

This commit is contained in:
gnembon committed 2023-05-17 21:20:00 +02:00
1 parent d0a7967218
commit c6f52b3293
28 files changed
+511 -419

No files matched your search

@@ -1,8 +1,10 @@
package carpet.mixins;
import carpet.fakes.ClientLevelInterface;
import carpet.fakes.MinecraftClientInferface;
import carpet.helpers.TickSpeed;
import carpet.helpers.TickRateManager;
import net.minecraft.client.Minecraft;
import net.minecraft.client.multiplayer.ClientLevel;
import net.minecraft.client.renderer.LevelRenderer;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
@@ -15,6 +17,7 @@ public class LevelRenderer_pausedShakeMixin
{
@Shadow @Final private Minecraft minecraft;
@Shadow private ClientLevel level;
float initial = -1234.0f;
// require 0 is for optifine being a bitch as it usually is.
@@ -25,7 +28,8 @@ public class LevelRenderer_pausedShakeMixin
private float changeTickPhase(float previous)
{
initial = previous;
if (!TickSpeed.process_entitiesClient())
TickRateManager trm = ((ClientLevelInterface)level).getTickRateManager();
if (!trm.runsNormally())
return ((MinecraftClientInferface)minecraft).getPausedTickDelta();
return previous;
}