diff --git a/src/main/java/com/replaymod/recording/mixin/MixinS26PacketMapChunkBulk.java b/src/main/java/com/replaymod/recording/mixin/MixinS26PacketMapChunkBulk.java index be5ef086..743815c4 100644 --- a/src/main/java/com/replaymod/recording/mixin/MixinS26PacketMapChunkBulk.java +++ b/src/main/java/com/replaymod/recording/mixin/MixinS26PacketMapChunkBulk.java @@ -1,38 +1 @@ -//#if MC<=10710 -//$$ package com.replaymod.recording.mixin; -//$$ -//$$ import net.minecraft.network.PacketBuffer; -//$$ import net.minecraft.network.play.server.S21PacketChunkData; -//$$ import net.minecraft.network.play.server.S26PacketMapChunkBulk; -//$$ 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; -//$$ -//$$ import java.util.concurrent.Semaphore; -//$$ -//$$ @Mixin({ S21PacketChunkData.class, S26PacketMapChunkBulk.class }) -//$$ public abstract class MixinS26PacketMapChunkBulk { -//$$ -//$$ private byte[] rawData; -//$$ -//$$ @Shadow(remap = false) -//$$ private Semaphore deflateGate; -//$$ -//$$ @Inject(method = "readPacketData", at = @At("HEAD")) -//$$ private void replayModRecording_readRawPacketData(PacketBuffer data, CallbackInfo ci) { -//$$ int readerIndex = data.readerIndex(); -//$$ data.readBytes(rawData = new byte[data.readableBytes()]); -//$$ data.readerIndex(readerIndex); -//$$ } -//$$ -//$$ @Inject(method = "writePacketData", at = @At("HEAD"), cancellable = true) -//$$ private void replayModRecording_writePacketData(PacketBuffer data, CallbackInfo ci) { -//$$ if (rawData != null && deflateGate == null) { -//$$ data.writeBytes(rawData); -//$$ ci.cancel(); -//$$ } -//$$ } -//$$ } -//#endif +// 1.7.10 and below diff --git a/versions/1.7.10/src/main/java/com/replaymod/recording/mixin/MixinS26PacketMapChunkBulk.java b/versions/1.7.10/src/main/java/com/replaymod/recording/mixin/MixinS26PacketMapChunkBulk.java new file mode 100644 index 00000000..b7c64009 --- /dev/null +++ b/versions/1.7.10/src/main/java/com/replaymod/recording/mixin/MixinS26PacketMapChunkBulk.java @@ -0,0 +1,36 @@ +package com.replaymod.recording.mixin; + +import net.minecraft.network.PacketBuffer; +import net.minecraft.network.play.server.S21PacketChunkData; +import net.minecraft.network.play.server.S26PacketMapChunkBulk; +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; + +import java.util.concurrent.Semaphore; + +@Mixin({ S21PacketChunkData.class, S26PacketMapChunkBulk.class }) +public abstract class MixinS26PacketMapChunkBulk { + + private byte[] rawData; + + @Shadow(remap = false) + private Semaphore deflateGate; + + @Inject(method = "readPacketData", at = @At("HEAD")) + private void replayModRecording_readRawPacketData(PacketBuffer data, CallbackInfo ci) { + int readerIndex = data.readerIndex(); + data.readBytes(rawData = new byte[data.readableBytes()]); + data.readerIndex(readerIndex); + } + + @Inject(method = "writePacketData", at = @At("HEAD"), cancellable = true) + private void replayModRecording_writePacketData(PacketBuffer data, CallbackInfo ci) { + if (rawData != null && deflateGate == null) { + data.writeBytes(rawData); + ci.cancel(); + } + } +}