From 898e29d7a1cf002ab1ddb374aafd45ea606de426 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Fri, 14 Jun 2019 13:35:53 +0200 Subject: [PATCH] [1.7.10] Fix crash when opening replay Looks to be two regressions, one due to login phase inclusion and one due to simplification of InputReplayTimer. --- src/main/java/com/replaymod/replay/InputReplayTimer.java | 4 +++- src/main/java/com/replaymod/replay/ReplayHandler.java | 3 ++- .../replaymod/replay/mixin/MixinPlayerControllerMP.java | 7 +++++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/replaymod/replay/InputReplayTimer.java b/src/main/java/com/replaymod/replay/InputReplayTimer.java index 016b5e87..b1f1cc1b 100644 --- a/src/main/java/com/replaymod/replay/InputReplayTimer.java +++ b/src/main/java/com/replaymod/replay/InputReplayTimer.java @@ -96,7 +96,9 @@ public class InputReplayTimer extends WrappedTimer { //#else //$$ mc.runTick(); //#endif - //$$ mc.theWorld = world; + //$$ if (mc.theWorld == null) { + //$$ mc.theWorld = world; + //$$ } //#endif //#endif } diff --git a/src/main/java/com/replaymod/replay/ReplayHandler.java b/src/main/java/com/replaymod/replay/ReplayHandler.java index 53baaaae..58b4365d 100755 --- a/src/main/java/com/replaymod/replay/ReplayHandler.java +++ b/src/main/java/com/replaymod/replay/ReplayHandler.java @@ -67,11 +67,11 @@ import net.minecraft.network.NetworkSide; //#else //$$ import com.mojang.authlib.GameProfile; //$$ import net.minecraft.client.network.NetHandlerPlayClient; -//$$ import net.minecraftforge.fml.client.FMLClientHandler; //$$ import net.minecraftforge.fml.common.network.handshake.NetworkDispatcher; //#endif //#endif //#else +//$$ import cpw.mods.fml.client.FMLClientHandler; //$$ import cpw.mods.fml.common.Loader; //$$ import cpw.mods.fml.common.network.internal.FMLNetworkHandler; //$$ import com.replaymod.replay.gui.screen.GuiOpeningReplay; @@ -256,6 +256,7 @@ public class ReplayHandler { //$$ } //$$ }; //$$ mc.displayGuiScreen(new GuiOpeningReplay(networkManager)); + //$$ FMLClientHandler.instance().connectToRealmsServer(null, 0); // just to init the playClientBlock latch //#endif networkManager.setPacketListener(new ClientLoginNetworkHandler( diff --git a/src/main/java/com/replaymod/replay/mixin/MixinPlayerControllerMP.java b/src/main/java/com/replaymod/replay/mixin/MixinPlayerControllerMP.java index 84a3cb25..ba95b5c4 100644 --- a/src/main/java/com/replaymod/replay/mixin/MixinPlayerControllerMP.java +++ b/src/main/java/com/replaymod/replay/mixin/MixinPlayerControllerMP.java @@ -120,5 +120,12 @@ public abstract class MixinPlayerControllerMP { //$$ ci.cancel(); //$$ } //$$ } + //$$ + //$$ @Inject(method = "resetBlockRemoving", at = @At("HEAD"), cancellable = true) + //$$ private void replayModReplay_skipWorldTick(CallbackInfo ci) { + //$$ if (this.mc.theWorld == null) { + //$$ ci.cancel(); + //$$ } + //$$ } //#endif }