Skip to content

Commit aacdded

Browse files
committed
1.21.5
1 parent 0f60d11 commit aacdded

File tree

15 files changed

+79
-76
lines changed

15 files changed

+79
-76
lines changed

viafabric-mc1206/src/main/java/com/viaversion/fabric/mc1206/service/ProtocolAutoDetector.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import net.minecraft.SharedConstants;
3232
import net.minecraft.network.*;
3333
import net.minecraft.network.chat.Component;
34-
import net.minecraft.network.handler.*;
3534
import net.minecraft.network.protocol.PacketFlow;
3635
import net.minecraft.network.protocol.handshake.ClientIntent;
3736
import net.minecraft.network.protocol.handshake.ClientIntentionPacket;

viafabric-mc1215/src/main/java/com/viaversion/fabric/mc1215/mixin/address/client/MixinAllowedAddressResolver.java renamed to viafabric-mc1215/src/main/java/com/viaversion/fabric/mc1215/mixin/address/client/MixinServerNameResolver.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,12 @@
3434
import net.minecraft.client.multiplayer.resolver.ServerNameResolver;
3535

3636
@Mixin(ServerNameResolver.class)
37-
public abstract class MixinAllowedAddressResolver {
37+
public abstract class MixinServerNameResolver {
38+
3839
@Shadow
39-
public abstract Optional<ResolvedServerAddress> resolve(ServerAddress address);
40+
public abstract Optional<ResolvedServerAddress> resolveAddress(final ServerAddress serverAddress);
4041

41-
@Inject(method = "resolve", at = @At(value = "HEAD"), cancellable = true)
42+
@Inject(method = "resolveAddress", at = @At(value = "HEAD"), cancellable = true)
4243
private void resolveVF(ServerAddress address, CallbackInfoReturnable<Optional<ResolvedServerAddress>> cir) {
4344
AddressParser viaAddr = new AddressParser().parse(address.getHost());
4445
if (viaAddr.viaSuffix == null) {
@@ -47,7 +48,7 @@ private void resolveVF(ServerAddress address, CallbackInfoReturnable<Optional<Re
4748

4849
ServerAddress realAddress = new ServerAddress(viaAddr.serverAddress, address.getPort());
4950

50-
cir.setReturnValue(resolve(realAddress).map(it -> viaFabric$addSuffix(it, viaAddr.getSuffixWithOptions())));
51+
cir.setReturnValue(resolveAddress(realAddress).map(it -> viaFabric$addSuffix(it, viaAddr.getSuffixWithOptions())));
5152
}
5253

5354
@Unique

viafabric-mc1215/src/main/java/com/viaversion/fabric/mc1215/mixin/debug/client/MixinClientPlayNetworkHandler.java renamed to viafabric-mc1215/src/main/java/com/viaversion/fabric/mc1215/mixin/debug/client/MixinClientPacketListener.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,18 @@
3333
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
3434

3535
@Mixin(ClientPacketListener.class)
36-
public abstract class MixinClientPlayNetworkHandler {
36+
public abstract class MixinClientPacketListener {
3737

3838
@Shadow
3939
public abstract Connection getConnection();
4040

41-
@Inject(method = "onGameJoin", at = @At("RETURN"))
41+
@Inject(method = "handleLogin", at = @At("RETURN"))
4242
public void sendConnectionDetails(ClientboundLoginPacket packet, CallbackInfo ci) {
4343
if (!ViaFabric.config.isSendConnectionDetails()) {
4444
return;
4545
}
4646

47-
@SuppressWarnings("ConstantConditions") ChannelHandler viaDecoder = ((MixinClientConnectionAccessor) getConnection()).getChannel().pipeline().get(CommonTransformer.HANDLER_DECODER_NAME);
47+
@SuppressWarnings("ConstantConditions") ChannelHandler viaDecoder = ((MixinConnectionAccessor) getConnection()).getChannel().pipeline().get(CommonTransformer.HANDLER_DECODER_NAME);
4848
if (viaDecoder instanceof FabricDecodeHandler) {
4949
UserConnection connection = ((FabricDecodeHandler) viaDecoder).getInfo();
5050

viafabric-mc1215/src/main/java/com/viaversion/fabric/mc1215/mixin/debug/client/MixinClientConnection.java renamed to viafabric-mc1215/src/main/java/com/viaversion/fabric/mc1215/mixin/debug/client/MixinConnection.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
import io.netty.channel.ChannelHandlerContext;
2121
import net.minecraft.network.Connection;
22-
import org.slf4j.Logger;
22+
import org.apache.logging.log4j.Logger;
2323
import org.spongepowered.asm.mixin.Final;
2424
import org.spongepowered.asm.mixin.Mixin;
2525
import org.spongepowered.asm.mixin.Shadow;
@@ -28,7 +28,7 @@
2828
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
2929

3030
@Mixin(Connection.class)
31-
public abstract class MixinClientConnection {
31+
public abstract class MixinConnection {
3232

3333
@Shadow
3434
@Final

viafabric-mc1215/src/main/java/com/viaversion/fabric/mc1215/mixin/debug/client/MixinClientConnectionAccessor.java renamed to viafabric-mc1215/src/main/java/com/viaversion/fabric/mc1215/mixin/debug/client/MixinConnectionAccessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import org.spongepowered.asm.mixin.gen.Accessor;
2424

2525
@Mixin(Connection.class)
26-
public interface MixinClientConnectionAccessor {
26+
public interface MixinConnectionAccessor {
2727
@Accessor
2828
Channel getChannel();
2929
}

viafabric-mc1215/src/main/java/com/viaversion/fabric/mc1215/mixin/debug/client/MixinDebugHud.java renamed to viafabric-mc1215/src/main/java/com/viaversion/fabric/mc1215/mixin/debug/client/MixinDebugScreenOverlay.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,22 +24,22 @@
2424
import com.viaversion.viaversion.api.connection.UserConnection;
2525
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
2626
import io.netty.channel.ChannelHandler;
27+
import net.minecraft.client.Minecraft;
28+
import net.minecraft.client.gui.components.DebugScreenOverlay;
2729
import org.spongepowered.asm.mixin.Mixin;
2830
import org.spongepowered.asm.mixin.injection.At;
2931
import org.spongepowered.asm.mixin.injection.Inject;
3032
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
3133

3234
import java.util.List;
33-
import net.minecraft.client.Minecraft;
34-
import net.minecraft.client.gui.components.DebugScreenOverlay;
3535

3636
@Mixin(DebugScreenOverlay.class)
37-
public class MixinDebugHud {
38-
@Inject(at = @At("RETURN"), method = "getLeftText")
39-
protected void getLeftText(CallbackInfoReturnable<List<String>> info) {
37+
public class MixinDebugScreenOverlay {
38+
@Inject(at = @At("RETURN"), method = "getGameInformation")
39+
protected void getGameInformation(CallbackInfoReturnable<List<String>> cir) {
4040
String line = "[ViaFabric] I: " + Via.getManager().getConnectionManager().getConnections().size() + " (F: "
4141
+ Via.getManager().getConnectionManager().getConnectedClients().size() + ")";
42-
@SuppressWarnings("ConstantConditions") ChannelHandler viaDecoder = ((MixinClientConnectionAccessor) Minecraft.getInstance().getConnection()
42+
@SuppressWarnings("ConstantConditions") ChannelHandler viaDecoder = ((MixinConnectionAccessor) Minecraft.getInstance().getConnection()
4343
.getConnection()).getChannel().pipeline().get(CommonTransformer.HANDLER_DECODER_NAME);
4444
if (viaDecoder instanceof FabricDecodeHandler) {
4545
UserConnection connection = ((FabricDecodeHandler) viaDecoder).getInfo();
@@ -51,6 +51,6 @@ protected void getLeftText(CallbackInfoReturnable<List<String>> info) {
5151
}
5252
}
5353

54-
info.getReturnValue().add(line);
54+
cir.getReturnValue().add(line);
5555
}
5656
}

viafabric-mc1215/src/main/java/com/viaversion/fabric/mc1215/mixin/gui/client/MixinServerEntry.java renamed to viafabric-mc1215/src/main/java/com/viaversion/fabric/mc1215/mixin/gui/client/MixinOnlineServerEntry.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -20,41 +20,41 @@
2020
import com.google.common.collect.Lists;
2121
import com.viaversion.fabric.common.gui.ViaServerData;
2222
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
23-
import org.spongepowered.asm.mixin.Final;
24-
import org.spongepowered.asm.mixin.Mixin;
25-
import org.spongepowered.asm.mixin.Shadow;
26-
import org.spongepowered.asm.mixin.injection.At;
27-
import org.spongepowered.asm.mixin.injection.ModifyArg;
28-
import org.spongepowered.asm.mixin.injection.Redirect;
29-
3023
import java.util.ArrayList;
3124
import java.util.List;
3225
import net.minecraft.client.gui.screens.multiplayer.JoinMultiplayerScreen;
3326
import net.minecraft.client.gui.screens.multiplayer.ServerSelectionList;
3427
import net.minecraft.client.multiplayer.ServerData;
3528
import net.minecraft.network.chat.Component;
3629
import net.minecraft.resources.ResourceLocation;
30+
import org.spongepowered.asm.mixin.Final;
31+
import org.spongepowered.asm.mixin.Mixin;
32+
import org.spongepowered.asm.mixin.Shadow;
33+
import org.spongepowered.asm.mixin.injection.At;
34+
import org.spongepowered.asm.mixin.injection.ModifyArg;
35+
import org.spongepowered.asm.mixin.injection.Redirect;
3736

3837
@Mixin(ServerSelectionList.OnlineServerEntry.class)
39-
public class MixinServerEntry {
38+
public class MixinOnlineServerEntry {
39+
4040
@Shadow
4141
@Final
42-
private ServerData server;
42+
private ServerData serverData;
4343

4444
@ModifyArg(method = "render", at = @At(value = "INVOKE", ordinal = 0,
45-
target = "Lnet/minecraft/client/gui/DrawContext;drawGuiTexture(Lnet/minecraft/util/Identifier;IIII)V"))
45+
target = "Lnet/minecraft/client/gui/GuiGraphics;blitSprite(Lnet/minecraft/resources/ResourceLocation;IIII)V"))
4646
private ResourceLocation redirectPingIcon(ResourceLocation texture) {
47-
if (((ViaServerData) this.server).viaFabric$translating() && texture.getPath().startsWith("server_list/ping")) {
48-
return ResourceLocation.fromNamespaceAndPath("viafabric", texture.getPath());
47+
if (((ViaServerData) this.serverData).viaFabric$translating() && texture.getPath().startsWith("server_list/ping")) {
48+
return ResourceLocation.tryBuild("viafabric", texture.getPath());
4949
}
5050
return texture;
5151
}
5252

53-
@Redirect(method = "render", at = @At(value = "INVOKE", ordinal = 0, target = "Lnet/minecraft/client/gui/screen/multiplayer/MultiplayerScreen;setTooltip(Lnet/minecraft/text/Text;)V"))
54-
private void addServerVer(JoinMultiplayerScreen instance, Component text) {
55-
ProtocolVersion proto = ProtocolVersion.getProtocol(((ViaServerData) this.server).viaFabric$getServerVer());
53+
@Redirect(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screens/multiplayer/JoinMultiplayerScreen;setTooltipForNextRenderPass(Lnet/minecraft/network/chat/Component;)V"))
54+
private void addServerVer(JoinMultiplayerScreen instance, Component component) {
55+
ProtocolVersion proto = ProtocolVersion.getProtocol(((ViaServerData) this.serverData).viaFabric$getServerVer());
5656
List<Component> lines = new ArrayList<>();
57-
lines.add(text);
57+
lines.add(component);
5858
lines.add(Component.translatable("gui.ping_version.translated", proto.getName(), proto.getVersion()));
5959
instance.setTooltipForNextRenderPass(Lists.transform(lines, Component::getVisualOrderText));
6060
}

viafabric-mc1215/src/main/java/com/viaversion/fabric/mc1215/mixin/gui/client/MixinMultiplayerServerListPingerListener.java renamed to viafabric-mc1215/src/main/java/com/viaversion/fabric/mc1215/mixin/gui/client/MixinServerStatusPingerListener.java

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,32 +19,36 @@
1919

2020
import com.viaversion.fabric.common.gui.ViaServerData;
2121
import com.viaversion.fabric.common.handler.FabricDecodeHandler;
22-
import com.viaversion.fabric.mc1215.mixin.debug.client.MixinClientConnectionAccessor;
22+
import com.viaversion.fabric.mc1215.mixin.debug.client.MixinConnectionAccessor;
2323
import net.minecraft.client.multiplayer.ServerData;
2424
import net.minecraft.network.Connection;
2525
import net.minecraft.network.protocol.status.ClientStatusPacketListener;
2626
import net.minecraft.network.protocol.status.ClientboundStatusResponsePacket;
27+
import org.spongepowered.asm.mixin.Final;
2728
import org.spongepowered.asm.mixin.Mixin;
28-
import org.spongepowered.asm.mixin.gen.Accessor;
29+
import org.spongepowered.asm.mixin.Shadow;
2930
import org.spongepowered.asm.mixin.injection.At;
3031
import org.spongepowered.asm.mixin.injection.Inject;
3132
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
3233

33-
@Mixin(targets = "net.minecraft.client.network.MultiplayerServerListPinger$1")
34-
public abstract class MixinMultiplayerServerListPingerListener implements ClientStatusPacketListener {
35-
@Accessor
36-
abstract Connection getField_3774(); // Synthetic
34+
@Mixin(targets = "net.minecraft.client.multiplayer.ServerStatusPinger$1")
35+
public abstract class MixinServerStatusPingerListener implements ClientStatusPacketListener {
3736

38-
@Accessor
39-
abstract ServerData getField_3776(); // Synthetic
37+
@Shadow
38+
@Final
39+
ServerData val$data;
4040

41-
@Inject(method = "onResponse(Lnet/minecraft/network/packet/s2c/query/QueryResponseS2CPacket;)V", at = @At(value = "HEAD"))
42-
private void onResponseCaptureServerInfo(ClientboundStatusResponsePacket packet, CallbackInfo ci) {
43-
FabricDecodeHandler decoder = ((MixinClientConnectionAccessor) this.getField_3774()).getChannel()
41+
@Shadow
42+
@Final
43+
Connection val$connection;
44+
45+
@Inject(method = "handleStatusResponse", at = @At(value = "HEAD"))
46+
private void onStatusResponseCaptureServerInfo(ClientboundStatusResponsePacket clientboundStatusResponsePacket, CallbackInfo ci) {
47+
FabricDecodeHandler decoder = ((MixinConnectionAccessor) this.val$connection).getChannel()
4448
.pipeline().get(FabricDecodeHandler.class);
4549
if (decoder != null) {
46-
((ViaServerData) getField_3776()).viaFabric$setTranslating(decoder.getInfo().isActive());
47-
((ViaServerData) getField_3776()).viaFabric$setServerVer(decoder.getInfo().getProtocolInfo().getServerProtocolVersion());
50+
((ViaServerData) this.val$data).viaFabric$setTranslating(decoder.getInfo().isActive());
51+
((ViaServerData) this.val$data).viaFabric$setServerVer(decoder.getInfo().getProtocolInfo().getServerProtocolVersion());
4852
}
4953
}
5054
}

viafabric-mc1215/src/main/java/com/viaversion/fabric/mc1215/mixin/pipeline/MixinClientConnection.java renamed to viafabric-mc1215/src/main/java/com/viaversion/fabric/mc1215/mixin/pipeline/MixinConnection.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,16 @@
4040
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
4141

4242
@Mixin(Connection.class)
43-
public class MixinClientConnection {
44-
@Shadow
45-
private Channel channel;
43+
public class MixinConnection {
44+
@Shadow
45+
private Channel channel;
4646

47-
@Inject(method = "setCompressionThreshold", at = @At("RETURN"))
48-
private void reorderCompression(int compressionThreshold, boolean rejectBad, CallbackInfo ci) {
49-
channel.pipeline().fireUserEventTriggered(new PipelineReorderEvent());
50-
}
47+
@Inject(method = "setupCompression", at = @At("RETURN"))
48+
private void reorderCompression(int compressionThreshold, boolean validateDecompressed, CallbackInfo ci) {
49+
channel.pipeline().fireUserEventTriggered(new PipelineReorderEvent());
50+
}
5151

52-
@Inject(method = "addHandlers", at = @At("RETURN"))
52+
@Inject(method = "configureSerialization", at = @At("RETURN"))
5353
private static void onAddHandlers(ChannelPipeline pipeline, PacketFlow side, boolean local, BandwidthDebugMonitor packetSizeLogger, CallbackInfo ci) {
5454
final Channel channel = pipeline.channel();
5555
if (channel instanceof SocketChannel) {

viafabric-mc1215/src/main/java/com/viaversion/fabric/mc1215/mixin/pipeline/client/MixinClientConnectionThread.java renamed to viafabric-mc1215/src/main/java/com/viaversion/fabric/mc1215/mixin/pipeline/client/MixinConnection.java

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,29 +17,28 @@
1717
*/
1818
package com.viaversion.fabric.mc1215.mixin.pipeline.client;
1919

20-
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
21-
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
2220
import com.viaversion.fabric.mc1215.ViaFabric;
2321
import com.viaversion.fabric.mc1215.service.ProtocolAutoDetector;
22+
import net.minecraft.util.debugchart.LocalSampleLogger;
2423
import org.spongepowered.asm.mixin.Mixin;
2524
import org.spongepowered.asm.mixin.injection.At;
25+
import org.spongepowered.asm.mixin.injection.Inject;
26+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
2627

2728
import java.net.InetSocketAddress;
28-
import java.util.Optional;
2929
import java.util.concurrent.TimeUnit;
3030
import java.util.logging.Level;
31+
import net.minecraft.network.Connection;
3132

32-
@Mixin(targets = "net/minecraft/client/gui/screen/multiplayer/ConnectScreen$1")
33-
public class MixinClientConnectionThread {
34-
@WrapOperation(method = "run", at = @At(value = "INVOKE", target = "Ljava/util/Optional;get()Ljava/lang/Object;"))
35-
private Object onConnect(Optional instance, Operation<InetSocketAddress> original) {
36-
InetSocketAddress address = original.call(instance);
33+
@Mixin(Connection.class)
34+
public class MixinConnection {
35+
@Inject(method = "connectToServer", at = @At("HEAD"))
36+
private static void onConnectToServer(InetSocketAddress address, boolean useEpollIfAvailable, LocalSampleLogger sampleLogger, CallbackInfoReturnable<Connection> cir) {
3737
try {
38-
if (!ViaFabric.config.isClientSideEnabled()) return address;
38+
if (!ViaFabric.config.isClientSideEnabled()) return;
3939
ProtocolAutoDetector.detectVersion(address).get(10, TimeUnit.SECONDS);
4040
} catch (Exception e) {
4141
ViaFabric.JLOGGER.log(Level.WARNING, "Could not auto-detect protocol for " + address + " " + e);
4242
}
43-
return address;
4443
}
4544
}

0 commit comments

Comments
 (0)