Replace InputReplayTimer with Mixin
This commit is contained in:
@@ -1,13 +1,11 @@
|
|||||||
package com.replaymod.replay;
|
package com.replaymod.replay;
|
||||||
|
|
||||||
import com.replaymod.core.ReplayMod;
|
import com.replaymod.core.ReplayMod;
|
||||||
import com.replaymod.core.utils.WrappedTimer;
|
|
||||||
import com.replaymod.core.versions.MCVer;
|
import com.replaymod.core.versions.MCVer;
|
||||||
import com.replaymod.replay.camera.CameraController;
|
import com.replaymod.replay.camera.CameraController;
|
||||||
import com.replaymod.replay.camera.CameraEntity;
|
import com.replaymod.replay.camera.CameraEntity;
|
||||||
import de.johni0702.minecraft.gui.versions.ScreenExt;
|
import de.johni0702.minecraft.gui.versions.ScreenExt;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.render.RenderTickCounter;
|
|
||||||
|
|
||||||
//#if MC>=11802
|
//#if MC>=11802
|
||||||
//$$ import net.minecraft.client.gui.screen.DownloadingTerrainScreen;
|
//$$ import net.minecraft.client.gui.screen.DownloadingTerrainScreen;
|
||||||
@@ -33,36 +31,10 @@ import org.lwjgl.glfw.GLFW;
|
|||||||
//$$ import net.minecraft.client.multiplayer.WorldClient;
|
//$$ import net.minecraft.client.multiplayer.WorldClient;
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
public class InputReplayTimer extends WrappedTimer {
|
public class InputReplayTimer {
|
||||||
private final ReplayModReplay mod;
|
public static void updateInReplay() {
|
||||||
private final MinecraftClient mc;
|
ReplayModReplay mod = ReplayModReplay.instance;
|
||||||
|
MinecraftClient mc = mod.getCore().getMinecraft();
|
||||||
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
|
|
||||||
);
|
|
||||||
|
|
||||||
ReplayMod.instance.runTasks();
|
ReplayMod.instance.runTasks();
|
||||||
|
|
||||||
@@ -126,9 +98,6 @@ public class InputReplayTimer extends WrappedTimer {
|
|||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
//#if MC>=11600
|
|
||||||
return ticksThisFrame;
|
|
||||||
//#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void handleScroll(int wheel) {
|
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.KeyBindingRegistry;
|
||||||
import com.replaymod.core.Module;
|
import com.replaymod.core.Module;
|
||||||
import com.replaymod.core.ReplayMod;
|
import com.replaymod.core.ReplayMod;
|
||||||
import com.replaymod.core.mixin.MinecraftAccessor;
|
|
||||||
import com.replaymod.core.utils.ModCompat;
|
import com.replaymod.core.utils.ModCompat;
|
||||||
import com.replaymod.core.versions.MCVer;
|
import com.replaymod.core.versions.MCVer;
|
||||||
import com.replaymod.core.versions.MCVer.Keyboard;
|
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();
|
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",
|
"entity_tracking.Mixin_FixPartialUpdates",
|
||||||
"world_border.Mixin_UseReplayTime_ForMovement",
|
"world_border.Mixin_UseReplayTime_ForMovement",
|
||||||
"world_border.Mixin_UseReplayTime_ForTexture",
|
"world_border.Mixin_UseReplayTime_ForTexture",
|
||||||
|
"Mixin_HandleInputsInReplay",
|
||||||
"Mixin_FixNPCSkinCaching",
|
"Mixin_FixNPCSkinCaching",
|
||||||
//#if MC>=11900
|
//#if MC>=11900
|
||||||
//$$ "Mixin_AllowExpiredPlayerKeys",
|
//$$ "Mixin_AllowExpiredPlayerKeys",
|
||||||
|
|||||||
Reference in New Issue
Block a user