Release 2.6.8

This commit is contained in:
Jonas Herzig
2022-08-10 14:29:15 +02:00
6 changed files with 37 additions and 2 deletions

View File

@@ -57,6 +57,10 @@ import net.minecraft.util.math.Vec3d;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
//#if MC>=11901
//$$ import net.minecraft.network.packet.s2c.play.MessageHeaderS2CPacket;
//#endif
//#if MC>=11900 //#if MC>=11900
//$$ import net.minecraft.network.packet.s2c.play.ChatMessageS2CPacket; //$$ import net.minecraft.network.packet.s2c.play.ChatMessageS2CPacket;
//#else //#else
@@ -864,7 +868,9 @@ public class FullReplaySender extends ChannelDuplexHandler implements ReplaySend
} }
} }
//#if MC>=11900 //#if MC>=11901
//$$ if (p instanceof GameMessageS2CPacket || p instanceof ChatMessageS2CPacket || p instanceof MessageHeaderS2CPacket) {
//#elseif MC>=11900
//$$ if (p instanceof GameMessageS2CPacket || p instanceof ChatMessageS2CPacket) { //$$ if (p instanceof GameMessageS2CPacket || p instanceof ChatMessageS2CPacket) {
//#else //#else
if (p instanceof GameMessageS2CPacket) { if (p instanceof GameMessageS2CPacket) {

View File

@@ -704,6 +704,13 @@ public class ReplayHandler {
//#else //#else
//$$ .processReceivedPackets(); //$$ .processReceivedPackets();
//#endif //#endif
// If the packets we just sent somehow caused the client to disconnect, then the above connection tick
// call will have unloaded the world, and we'll have to abort what we were doing.
if (mc.world == null) {
return;
}
for (Entity entity : mc.world.getEntities()) { for (Entity entity : mc.world.getEntities()) {
skipTeleportInterpolation(entity); skipTeleportInterpolation(entity);
entity.lastRenderX = entity.prevX = entity.getX(); entity.lastRenderX = entity.prevX = entity.getX();

View File

@@ -0,0 +1 @@
// 1.19+ only

View File

@@ -10,6 +10,9 @@
"world_border.Mixin_UseReplayTime_ForMovement", "world_border.Mixin_UseReplayTime_ForMovement",
"world_border.Mixin_UseReplayTime_ForTexture", "world_border.Mixin_UseReplayTime_ForTexture",
"Mixin_FixNPCSkinCaching", "Mixin_FixNPCSkinCaching",
//#if MC>=11900
//$$ "Mixin_AllowExpiredPlayerKeys",
//#endif
//#if MC>=11800 //#if MC>=11800
//$$ "Mixin_FixEntityNotTracking", //$$ "Mixin_FixEntityNotTracking",
//#endif //#endif

View File

@@ -1 +1 @@
2.6.7 2.6.8

View File

@@ -0,0 +1,18 @@
package com.replaymod.replay.mixin;
import com.replaymod.replay.ReplayModReplay;
import net.minecraft.network.encryption.PlayerPublicKey;
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.CallbackInfoReturnable;
@Mixin(PlayerPublicKey.PublicKeyData.class)
public abstract class Mixin_AllowExpiredPlayerKeys {
@Inject(method = "isExpired", at = @At("HEAD"), cancellable = true)
private void neverExpireWhenInReplay(CallbackInfoReturnable<Boolean> ci) {
if (ReplayModReplay.instance.getReplayHandler() != null) {
ci.setReturnValue(false);
}
}
}