Replace InputReplayTimer with Mixin
This commit is contained in:
@@ -1,13 +1,11 @@
|
||||
package com.replaymod.replay;
|
||||
|
||||
import com.replaymod.core.ReplayMod;
|
||||
import com.replaymod.core.utils.WrappedTimer;
|
||||
import com.replaymod.core.versions.MCVer;
|
||||
import com.replaymod.replay.camera.CameraController;
|
||||
import com.replaymod.replay.camera.CameraEntity;
|
||||
import de.johni0702.minecraft.gui.versions.ScreenExt;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.render.RenderTickCounter;
|
||||
|
||||
//#if MC>=11802
|
||||
//$$ import net.minecraft.client.gui.screen.DownloadingTerrainScreen;
|
||||
@@ -33,36 +31,10 @@ import org.lwjgl.glfw.GLFW;
|
||||
//$$ import net.minecraft.client.multiplayer.WorldClient;
|
||||
//#endif
|
||||
|
||||
public class InputReplayTimer extends WrappedTimer {
|
||||
private final ReplayModReplay mod;
|
||||
private final MinecraftClient mc;
|
||||
|
||||
public InputReplayTimer(RenderTickCounter wrapped, ReplayModReplay mod) {
|
||||
super(wrapped);
|
||||
this.mod = mod;
|
||||
this.mc = mod.getCore().getMinecraft();
|
||||
}
|
||||
|
||||
@Override
|
||||
public
|
||||
//#if MC>=11600
|
||||
int
|
||||
//#else
|
||||
//$$ void
|
||||
//#endif
|
||||
beginRenderTick(
|
||||
//#if MC>=11400
|
||||
long sysClock
|
||||
//#endif
|
||||
) {
|
||||
//#if MC>=11600
|
||||
int ticksThisFrame =
|
||||
//#endif
|
||||
super.beginRenderTick(
|
||||
//#if MC>=11400
|
||||
sysClock
|
||||
//#endif
|
||||
);
|
||||
public class InputReplayTimer {
|
||||
public static void updateInReplay() {
|
||||
ReplayModReplay mod = ReplayModReplay.instance;
|
||||
MinecraftClient mc = mod.getCore().getMinecraft();
|
||||
|
||||
ReplayMod.instance.runTasks();
|
||||
|
||||
@@ -126,9 +98,6 @@ public class InputReplayTimer extends WrappedTimer {
|
||||
//#endif
|
||||
|
||||
}
|
||||
//#if MC>=11600
|
||||
return ticksThisFrame;
|
||||
//#endif
|
||||
}
|
||||
|
||||
public static void handleScroll(int wheel) {
|
||||
|
||||
@@ -7,7 +7,6 @@ import com.google.common.util.concurrent.ListenableFuture;
|
||||
import com.replaymod.core.KeyBindingRegistry;
|
||||
import com.replaymod.core.Module;
|
||||
import com.replaymod.core.ReplayMod;
|
||||
import com.replaymod.core.mixin.MinecraftAccessor;
|
||||
import com.replaymod.core.utils.ModCompat;
|
||||
import com.replaymod.core.versions.MCVer;
|
||||
import com.replaymod.core.versions.MCVer.Keyboard;
|
||||
@@ -152,9 +151,6 @@ public class ReplayModReplay implements Module {
|
||||
}
|
||||
});
|
||||
|
||||
MinecraftAccessor mc = (MinecraftAccessor) core.getMinecraft();
|
||||
mc.setTimer(new InputReplayTimer(mc.getTimer(), this));
|
||||
|
||||
new GuiHandler(this).register();
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.replaymod.replay.mixin;
|
||||
|
||||
import com.replaymod.replay.InputReplayTimer;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
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.CallbackInfo;
|
||||
|
||||
@Mixin(MinecraftClient.class)
|
||||
public abstract class Mixin_HandleInputsInReplay {
|
||||
@Inject(method = "render", at = @At(value = "CONSTANT", args = "stringValue=scheduledExecutables"))
|
||||
private void updateInReplay(CallbackInfo ci) {
|
||||
InputReplayTimer.updateInReplay();
|
||||
}
|
||||
}
|
||||
@@ -9,6 +9,7 @@
|
||||
"entity_tracking.Mixin_FixPartialUpdates",
|
||||
"world_border.Mixin_UseReplayTime_ForMovement",
|
||||
"world_border.Mixin_UseReplayTime_ForTexture",
|
||||
"Mixin_HandleInputsInReplay",
|
||||
"Mixin_FixNPCSkinCaching",
|
||||
//#if MC>=11900
|
||||
//$$ "Mixin_AllowExpiredPlayerKeys",
|
||||
|
||||
Reference in New Issue
Block a user