Split off 1.12.2 overwrite from MixinNetHandlerLoginClient
This commit is contained in:
@@ -1,35 +1,26 @@
|
||||
package com.replaymod.recording.mixin;
|
||||
|
||||
import com.replaymod.core.versions.MCVer;
|
||||
import com.replaymod.recording.ReplayModRecording;
|
||||
import com.replaymod.recording.handler.RecordingEventHandler.RecordingEventSender;
|
||||
import net.minecraft.client.network.ClientLoginNetworkHandler;
|
||||
import net.minecraft.network.ClientConnection;
|
||||
import net.minecraft.network.Packet;
|
||||
import net.minecraft.network.packet.s2c.login.LoginQueryRequestS2CPacket;
|
||||
import net.minecraft.network.packet.s2c.login.LoginSuccessS2CPacket;
|
||||
import org.spongepowered.asm.mixin.Final;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
//#if MC>=11400
|
||||
import com.replaymod.core.versions.MCVer;
|
||||
import com.replaymod.recording.handler.RecordingEventHandler.RecordingEventSender;
|
||||
import net.minecraft.network.Packet;
|
||||
import net.minecraft.network.packet.s2c.login.LoginQueryRequestS2CPacket;
|
||||
import net.minecraft.network.packet.s2c.login.LoginSuccessS2CPacket;
|
||||
//#else
|
||||
//$$ import net.minecraftforge.fml.common.network.FMLNetworkEvent;
|
||||
//#endif
|
||||
|
||||
@Mixin(ClientLoginNetworkHandler.class)
|
||||
public abstract class MixinNetHandlerLoginClient {
|
||||
|
||||
@Shadow
|
||||
//#if MC>=10800
|
||||
@Final @Shadow
|
||||
private ClientConnection connection;
|
||||
//#else
|
||||
//$$ private NetworkManager field_147393_d;
|
||||
//#endif
|
||||
|
||||
//#if MC>=11400
|
||||
@Inject(method = "onQueryRequest", at=@At("HEAD"))
|
||||
private void earlyInitiateRecording(LoginQueryRequestS2CPacket packet, CallbackInfo ci) {
|
||||
initiateRecording(packet);
|
||||
@@ -50,27 +41,4 @@ public abstract class MixinNetHandlerLoginClient {
|
||||
eventSender.getRecordingEventHandler().onPacket(packet);
|
||||
}
|
||||
}
|
||||
//#else
|
||||
//$$ /**
|
||||
//$$ * Starts the recording right before switching into PLAY state.
|
||||
//$$ * We cannot use the {@link FMLNetworkEvent.ClientConnectedToServerEvent}
|
||||
//$$ * as it only fires after the forge handshake.
|
||||
//$$ */
|
||||
//$$ @Inject(method = "handleLoginSuccess", at=@At("HEAD"))
|
||||
//$$ public void replayModRecording_initiateRecording(CallbackInfo cb) {
|
||||
//#if MC>=10800
|
||||
//$$ ReplayModRecording.instance.initiateRecording(this.networkManager);
|
||||
//#else
|
||||
//$$ ReplayModRecording.instance.initiateRecording(this.field_147393_d);
|
||||
//#endif
|
||||
//$$ }
|
||||
//#endif
|
||||
|
||||
// Race condition in Forge's networking (not sure if still present in 1.13)
|
||||
//#if MC>=11200 && MC<11400
|
||||
//$$ @Inject(method = "handleLoginSuccess", at=@At("RETURN"))
|
||||
//$$ public void replayModRecording_raceConditionWorkAround(CallbackInfo cb) {
|
||||
//$$ ((NetworkManagerAccessor) this.networkManager).getChannel().config().setAutoRead(true);
|
||||
//$$ }
|
||||
//#endif
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user