Remove WrappedTimer

This commit is contained in:
Jonas Herzig
2024-06-23 14:30:59 +02:00
parent 454e990849
commit 310dc90e11
9 changed files with 27 additions and 142 deletions

View File

@@ -8,7 +8,6 @@ import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.SettableFuture;
import com.replaymod.core.mixin.MinecraftAccessor;
import com.replaymod.core.mixin.TimerAccessor;
import com.replaymod.core.utils.WrappedTimer;
import com.replaymod.replay.ReplayHandler;
import com.replaymod.replaystudio.pathing.path.Keyframe;
import com.replaymod.replaystudio.pathing.path.Path;
@@ -20,6 +19,7 @@ import net.minecraft.client.render.RenderTickCounter;
import javax.annotation.Nullable;
import java.util.Iterator;
import static com.replaymod.core.utils.Utils.DEFAULT_MS_PER_TICK;
import static com.replaymod.core.versions.MCVer.*;
/**
@@ -31,6 +31,7 @@ public abstract class AbstractTimelinePlayer extends EventRegistrations {
private Timeline timeline;
protected long startOffset;
private boolean wasAsyncMode;
private RenderTickCounter orgTimer;
private long lastTime;
private long lastTimestamp;
private ListenableFuture<Void> future;
@@ -76,13 +77,14 @@ public abstract class AbstractTimelinePlayer extends EventRegistrations {
lastTime = 0;
MinecraftAccessor mcA = (MinecraftAccessor) mc;
ReplayTimer timer = new ReplayTimer(mcA.getTimer());
orgTimer = mcA.getTimer();
ReplayTimer timer = new ReplayTimer();
mcA.setTimer(timer);
//noinspection ConstantConditions
TimerAccessor timerA = (TimerAccessor) timer;
//#if MC>=11200
timerA.setTickLength(WrappedTimer.DEFAULT_MS_PER_TICK);
timerA.setTickLength(DEFAULT_MS_PER_TICK);
timer.tickDelta = timer.ticksThisFrame = 0;
//#else
//$$ timer.timerSpeed = 1;
@@ -103,7 +105,7 @@ public abstract class AbstractTimelinePlayer extends EventRegistrations {
public void onTick() {
if (future.isDone()) {
MinecraftAccessor mcA = (MinecraftAccessor) mc;
mcA.setTimer(((ReplayTimer) mcA.getTimer()).getWrapped());
mcA.setTimer(orgTimer);
replayHandler.getReplaySender().setReplaySpeed(0);
if (wasAsyncMode) {
replayHandler.getReplaySender().setAsyncMode(true);