Release 2.6.8
This commit is contained in:
@@ -57,6 +57,10 @@ import net.minecraft.util.math.Vec3d;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
|
||||
//#if MC>=11901
|
||||
//$$ import net.minecraft.network.packet.s2c.play.MessageHeaderS2CPacket;
|
||||
//#endif
|
||||
|
||||
//#if MC>=11900
|
||||
//$$ import net.minecraft.network.packet.s2c.play.ChatMessageS2CPacket;
|
||||
//#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) {
|
||||
//#else
|
||||
if (p instanceof GameMessageS2CPacket) {
|
||||
|
||||
@@ -704,6 +704,13 @@ public class ReplayHandler {
|
||||
//#else
|
||||
//$$ .processReceivedPackets();
|
||||
//#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()) {
|
||||
skipTeleportInterpolation(entity);
|
||||
entity.lastRenderX = entity.prevX = entity.getX();
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
// 1.19+ only
|
||||
@@ -10,6 +10,9 @@
|
||||
"world_border.Mixin_UseReplayTime_ForMovement",
|
||||
"world_border.Mixin_UseReplayTime_ForTexture",
|
||||
"Mixin_FixNPCSkinCaching",
|
||||
//#if MC>=11900
|
||||
//$$ "Mixin_AllowExpiredPlayerKeys",
|
||||
//#endif
|
||||
//#if MC>=11800
|
||||
//$$ "Mixin_FixEntityNotTracking",
|
||||
//#endif
|
||||
|
||||
@@ -1 +1 @@
|
||||
2.6.7
|
||||
2.6.8
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user