From a198359f0694b38e1404e4c9912c81d013fccf53 Mon Sep 17 00:00:00 2001 From: FlorianMichael <60033407+FlorianMichael@users.noreply.github.com> Date: Tue, 13 Jun 2023 00:05:24 +0200 Subject: [PATCH] Updated to 1.20.1 --- gradle.properties | 10 +++++----- .../mixin/base/MixinClientConnection.java | 14 +++++++------- .../fixes/viaversion/MixinProtocolVersion.java | 1 + .../mappings/PackFormatsMappings.java | 2 +- .../netty/viabedrock/RakNetClientConnection.java | 6 +++--- src/main/resources/fabric.mod.json | 2 +- 6 files changed, 18 insertions(+), 17 deletions(-) diff --git a/gradle.properties b/gradle.properties index 816a737c..94d78790 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,10 +3,10 @@ org.gradle.jvmargs=-Xmx8G org.gradle.parallel=true # minecraft and fabric -minecraft_version=1.20 -yarn_mappings=1.20+build.1 +minecraft_version=1.20.1 +yarn_mappings=1.20.1+build.1 loader_version=0.14.21 -fabric_api_version=0.83.0+1.20 +fabric_api_version=0.83.0+1.20.1 # viafabricplus mod_version=2.7.6-SNAPSHOT @@ -18,8 +18,8 @@ raknet_transport_version=1.0.0.CR1-SNAPSHOT classic4j_version=1.2.0 # viaversion (and required) libs -viaversion_version=4.7.0 -viabackwards_version=4.7.0 +viaversion_version=4.7.1-SNAPSHOT +viabackwards_version=4.7.1-SNAPSHOT snake_yml_version=2.0 # raphimc libs diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/base/MixinClientConnection.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/base/MixinClientConnection.java index b45ffd63..ebd19a32 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/base/MixinClientConnection.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/base/MixinClientConnection.java @@ -24,6 +24,8 @@ import de.florianmichael.viafabricplus.protocolhack.ProtocolHack; import de.florianmichael.viafabricplus.protocolhack.netty.ViaFabricPlusVLLegacyPipeline; import de.florianmichael.viafabricplus.protocolhack.netty.viabedrock.RakNetClientConnection; import io.netty.channel.*; +import io.netty.channel.epoll.EpollEventLoopGroup; +import io.netty.channel.nio.NioEventLoopGroup; import net.minecraft.network.ClientConnection; import net.minecraft.network.encryption.PacketDecryptor; import net.minecraft.network.encryption.PacketEncryptor; @@ -81,14 +83,12 @@ public abstract class MixinClientConnection extends SimpleChannelInboundHandler< } } - @Inject(method = "connect", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Lazy;get()Ljava/lang/Object;", shift = At.Shift.BEFORE), cancellable = true, locals = LocalCapture.CAPTURE_FAILHARD) - private static void captureAddress(InetSocketAddress address, boolean useEpoll, CallbackInfoReturnable cir, final ClientConnection clientConnection, Class class_, Lazy lazy) { - ((IClientConnection) clientConnection).viafabricplus_captureAddress(address); + @Inject(method = "connect(Ljava/net/InetSocketAddress;ZLnet/minecraft/network/ClientConnection;)Lio/netty/channel/ChannelFuture;", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Lazy;get()Ljava/lang/Object;", shift = At.Shift.BEFORE), cancellable = true, locals = LocalCapture.CAPTURE_FAILHARD) + private static void captureAddress(InetSocketAddress address, boolean useEpoll, ClientConnection connection, CallbackInfoReturnable cir, Class class_, Lazy lazy) { + ((IClientConnection) connection).viafabricplus_captureAddress(address); - if (ProtocolHack.getForcedVersions().containsKey(address) ? (ProtocolHack.getForcedVersions().get(address).getVersion() == VersionEnum.bedrockLatest.getVersion()) : - ProtocolHack.getTargetVersion() == VersionEnum.bedrockLatest) { - RakNetClientConnection.connectRakNet(clientConnection, address, lazy, class_); - cir.setReturnValue(clientConnection); + if (ProtocolHack.getTargetVersion(address) == VersionEnum.bedrockLatest) { + cir.setReturnValue(RakNetClientConnection.connectRakNet(connection, address, lazy, class_)); } } diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinProtocolVersion.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinProtocolVersion.java index 38d4c3b3..f4b86239 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinProtocolVersion.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinProtocolVersion.java @@ -46,6 +46,7 @@ public abstract class MixinProtocolVersion { viafabricplus_remaps.put("1.16.4/5", new Pair<>("1.16.4-1.16.5", null)); viafabricplus_remaps.put("1.18/1.18.1", new Pair<>("1.18-1.18.1", null)); viafabricplus_remaps.put("1.19.1/2", new Pair<>("1.19.1-1.19.2", null)); + viafabricplus_remaps.put("1.20/1.20.1", new Pair<>("1.20-1.20.1", null)); } @Redirect(method = "", at = @At(value = "INVOKE", target = "Lcom/viaversion/viaversion/api/protocol/version/ProtocolVersion;register(ILjava/lang/String;)Lcom/viaversion/viaversion/api/protocol/version/ProtocolVersion;")) diff --git a/src/main/java/de/florianmichael/viafabricplus/mappings/PackFormatsMappings.java b/src/main/java/de/florianmichael/viafabricplus/mappings/PackFormatsMappings.java index 69034678..5778e5ba 100644 --- a/src/main/java/de/florianmichael/viafabricplus/mappings/PackFormatsMappings.java +++ b/src/main/java/de/florianmichael/viafabricplus/mappings/PackFormatsMappings.java @@ -33,7 +33,7 @@ public class PackFormatsMappings { private final static Map protocolMap = new HashMap<>(); public static void load() { - registerVersion(VersionEnum.r1_20, 15, "1.20"); + registerVersion(VersionEnum.r1_20, 15, "1.20.1"); // 1.20 and 1.20.1 are the same, why care... registerVersion(VersionEnum.r1_19_4, 13, "1.19.4"); registerVersion(VersionEnum.r1_19_3, 12, "1.19.3"); registerVersion(VersionEnum.r1_19_1tor1_19_2, 9, "1.19.2"); diff --git a/src/main/java/de/florianmichael/viafabricplus/protocolhack/netty/viabedrock/RakNetClientConnection.java b/src/main/java/de/florianmichael/viafabricplus/protocolhack/netty/viabedrock/RakNetClientConnection.java index fb32a2af..fcf3f446 100644 --- a/src/main/java/de/florianmichael/viafabricplus/protocolhack/netty/viabedrock/RakNetClientConnection.java +++ b/src/main/java/de/florianmichael/viafabricplus/protocolhack/netty/viabedrock/RakNetClientConnection.java @@ -39,7 +39,7 @@ import java.util.concurrent.ThreadLocalRandom; public class RakNetClientConnection { private final static List rakNetPingSessions = new ArrayList<>(); - public static void connectRakNet(final ClientConnection clientConnection, final InetSocketAddress address, final Lazy lazy, final Class channelType) { + public static ChannelFuture connectRakNet(final ClientConnection clientConnection, final InetSocketAddress address, final Lazy lazy, final Class channelType) { final Bootstrap nettyBoostrap = new Bootstrap().group((EventLoopGroup) lazy.get()).handler(new ChannelInitializer<>() { @Override protected void initChannel(@NotNull Channel channel) { @@ -60,9 +60,9 @@ public class RakNetClientConnection { }).channelFactory(channelType == EpollSocketChannel.class ? RakChannelFactory.client(EpollDatagramChannel.class) : RakChannelFactory.client(NioDatagramChannel.class)); if (getRakNetPingSessions().contains(address)) { - nettyBoostrap.bind(new InetSocketAddress(0)).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE).syncUninterruptibly(); + return nettyBoostrap.bind(new InetSocketAddress(0)).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE); } else { - nettyBoostrap.connect(address.getAddress(), address.getPort()).syncUninterruptibly(); + return nettyBoostrap.connect(address.getAddress(), address.getPort()); } } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 635614e5..c085f880 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -29,7 +29,7 @@ "depends": { "fabricloader": ">=0.14.11", "fabric-api": "*", - "minecraft": "~1.20", + "minecraft": "~1.20.1", "java": ">=17" }, "breaks": {