mirror of
https://github.com/ViaVersion/ViaFabricPlus.git
synced 2024-10-04 05:27:27 +02:00
load Classic stuff after Minecraft
This commit is contained in:
parent
8d71d19075
commit
12163042f5
@ -54,7 +54,6 @@ public class ViaFabricPlus {
|
||||
|
||||
// Classic Stuff
|
||||
CustomClassicProtocolExtensions.create();
|
||||
ClassicItemSelectionScreen.create();
|
||||
ClassicProtocolCommands.create();
|
||||
ClassiCubeAccountHandler.create();
|
||||
|
||||
@ -71,7 +70,9 @@ public class ViaFabricPlus {
|
||||
settingsSystem.init();
|
||||
informationSystem.init();
|
||||
|
||||
// Mappings
|
||||
// Stuff which requires Minecraft to be initialized
|
||||
ClassicItemSelectionScreen.create();
|
||||
|
||||
PackFormatsMappings.load();
|
||||
ItemReleaseVersionMappings.create();
|
||||
ArmorPointsMappings.load();
|
||||
|
@ -37,7 +37,9 @@ public class ChatLengthCalculation {
|
||||
if (protocolVersion.isOlderThanOrEqualTo(ProtocolVersion.v1_10)) {
|
||||
INSTANCE.maxLength = 100;
|
||||
|
||||
if (protocolVersion.isOlderThanOrEqualTo(LegacyProtocolVersion.c0_28toc0_30)) INSTANCE.maxLength = 64 - MinecraftClient.getInstance().getSession().getUsername().length() - 2;
|
||||
if (protocolVersion.isOlderThanOrEqualTo(LegacyProtocolVersion.c0_28toc0_30)) {
|
||||
INSTANCE.maxLength = 64 - MinecraftClient.getInstance().getSession().getUsername().length() - 2;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -26,14 +26,12 @@ import java.security.PrivateKey;
|
||||
|
||||
public abstract class AbstractChatSession extends StoredObject {
|
||||
private final ProfileKey profileKey;
|
||||
private final PrivateKey privateKey;
|
||||
|
||||
private final MessageSigner signer;
|
||||
|
||||
public AbstractChatSession(UserConnection user, final ProfileKey profileKey, final PrivateKey privateKey) {
|
||||
super(user);
|
||||
this.profileKey = profileKey;
|
||||
this.privateKey = privateKey;
|
||||
|
||||
this.signer = MessageSigner.create(privateKey, "SHA256withRSA");
|
||||
}
|
||||
@ -42,10 +40,6 @@ public abstract class AbstractChatSession extends StoredObject {
|
||||
return profileKey;
|
||||
}
|
||||
|
||||
public PrivateKey getPrivateKey() {
|
||||
return privateKey;
|
||||
}
|
||||
|
||||
public MessageSigner getSigner() {
|
||||
return signer;
|
||||
}
|
||||
|
@ -32,6 +32,8 @@ public class MixinCreativeInventoryScreen {
|
||||
@Inject(method = "init", at = @At("RETURN"))
|
||||
public void replaceCreativeMenu(CallbackInfo ci) {
|
||||
if (VisualSettings.INSTANCE.replaceCreativeInventory.getValue()) {
|
||||
if (ClassicItemSelectionScreen.INSTANCE == null) return;
|
||||
|
||||
MinecraftClient.getInstance().setScreen(ClassicItemSelectionScreen.INSTANCE);
|
||||
}
|
||||
}
|
||||
|
@ -20,7 +20,7 @@ package de.florianmichael.viafabricplus.protocolhack.netty;
|
||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||
import de.florianmichael.viafabricplus.ViaFabricPlus;
|
||||
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
|
||||
import de.florianmichael.viafabricplus.protocolhack.netty.viabedrock.DisconnectHandle;
|
||||
import de.florianmichael.viafabricplus.protocolhack.netty.viabedrock.DisconnectAdapter;
|
||||
import de.florianmichael.viafabricplus.protocolhack.netty.viabedrock.codec.PingEncapsulationCodec;
|
||||
import de.florianmichael.viafabricplus.protocolhack.netty.viabedrock.codec.RakMessageEncapsulationCodec;
|
||||
import de.florianmichael.viafabricplus.protocolhack.netty.viabedrock.codec.library_fix.FixedUnconnectedPingEncoder;
|
||||
@ -89,7 +89,7 @@ public class ViaFabricPlusVLBPipeline extends VLBPipeline {
|
||||
|
||||
pipeline.replace("splitter", VIA_BEDROCK_BATCH_LENGTH_HANDLER_NAME, new BatchLengthCodec());
|
||||
|
||||
pipeline.addBefore(VIA_BEDROCK_BATCH_LENGTH_HANDLER_NAME, VIA_BEDROCK_DISCONNECT_HANDLER_NAME, new DisconnectHandle());
|
||||
pipeline.addBefore(VIA_BEDROCK_BATCH_LENGTH_HANDLER_NAME, VIA_BEDROCK_DISCONNECT_HANDLER_NAME, new DisconnectAdapter());
|
||||
pipeline.addAfter(VIA_BEDROCK_DISCONNECT_HANDLER_NAME, VIA_BEDROCK_FRAME_ENCAPSULATION_HANDLER_NAME, new RakMessageEncapsulationCodec());
|
||||
pipeline.addAfter(VIA_BEDROCK_BATCH_LENGTH_HANDLER_NAME, VIA_BEDROCK_PACKET_ENCAPSULATION_HANDLER_NAME, new PacketEncapsulationCodec());
|
||||
|
||||
|
@ -21,7 +21,7 @@ import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.channel.ChannelOutboundHandlerAdapter;
|
||||
import io.netty.channel.ChannelPromise;
|
||||
|
||||
public class DisconnectHandle extends ChannelOutboundHandlerAdapter {
|
||||
public class DisconnectAdapter extends ChannelOutboundHandlerAdapter {
|
||||
private boolean calledDisconnect = false;
|
||||
|
||||
@Override
|
@ -36,11 +36,9 @@ import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
public class RakNetClientConnection {
|
||||
public static void connectRakNet(final ClientConnection clientConnection, final InetSocketAddress address, final Lazy lazy, final Class channelType) {
|
||||
Bootstrap nettyBoostrap = new Bootstrap();
|
||||
nettyBoostrap = nettyBoostrap.group((EventLoopGroup) lazy.get());
|
||||
nettyBoostrap = nettyBoostrap.handler(new ChannelInitializer<>() {
|
||||
final Bootstrap nettyBoostrap = new Bootstrap().group((EventLoopGroup) lazy.get()).handler(new ChannelInitializer<>() {
|
||||
@Override
|
||||
protected void initChannel(@NotNull Channel channel) throws Exception {
|
||||
protected void initChannel(@NotNull Channel channel) {
|
||||
try {
|
||||
channel.config().setOption(RakChannelOption.RAK_PROTOCOL_VERSION, 11);
|
||||
channel.config().setOption(RakChannelOption.RAK_CONNECT_TIMEOUT, 4_000L);
|
||||
@ -55,8 +53,7 @@ public class RakNetClientConnection {
|
||||
|
||||
ProtocolHack.injectVLBPipeline(clientConnection, channel, address);
|
||||
}
|
||||
});
|
||||
nettyBoostrap = nettyBoostrap.channelFactory(channelType == EpollSocketChannel.class ? RakChannelFactory.client(EpollDatagramChannel.class) : RakChannelFactory.client(NioDatagramChannel.class));
|
||||
}).channelFactory(channelType == EpollSocketChannel.class ? RakChannelFactory.client(EpollDatagramChannel.class) : RakChannelFactory.client(NioDatagramChannel.class));
|
||||
|
||||
if (ProtocolHack.getRakNetPingSessions().contains(address)) {
|
||||
nettyBoostrap.bind(new InetSocketAddress(0)).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE).syncUninterruptibly();
|
||||
|
@ -35,7 +35,6 @@ import io.netty.channel.epoll.EpollSocketChannel;
|
||||
import io.netty.channel.socket.nio.NioSocketChannel;
|
||||
import io.netty.handler.timeout.ReadTimeoutHandler;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.network.ServerAddress;
|
||||
import net.minecraft.network.ClientConnection;
|
||||
import net.minecraft.network.NetworkSide;
|
||||
import net.minecraft.network.NetworkState;
|
||||
@ -45,10 +44,8 @@ import net.minecraft.network.packet.c2s.query.QueryRequestC2SPacket;
|
||||
import net.minecraft.network.packet.s2c.query.QueryPongS2CPacket;
|
||||
import net.minecraft.network.packet.s2c.query.QueryResponseS2CPacket;
|
||||
import net.minecraft.text.Text;
|
||||
import net.minecraft.util.Lazy;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.net.InetAddress;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.net.SocketAddress;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
@ -66,10 +63,7 @@ public class ViaFabricPlusVLBBaseVersionProvider extends VLBBaseVersionProvider
|
||||
final ClientConnection clientConnection = new ClientConnection(NetworkSide.CLIENTBOUND);
|
||||
final boolean useEpoll = Epoll.isAvailable() && MinecraftClient.getInstance().options.shouldUseNativeTransport();
|
||||
|
||||
final Class class_ = useEpoll ? EpollSocketChannel.class : NioSocketChannel.class;
|
||||
final Lazy lazy = useEpoll ? ClientConnection.EPOLL_CLIENT_IO_GROUP : ClientConnection.CLIENT_IO_GROUP;
|
||||
|
||||
final ChannelFuture channelFuture = new Bootstrap().group((EventLoopGroup) lazy.get()).handler(new ChannelInitializer<>() {
|
||||
final ChannelFuture channelFuture = new Bootstrap().group((useEpoll ? ClientConnection.EPOLL_CLIENT_IO_GROUP : ClientConnection.CLIENT_IO_GROUP).get()).handler(new ChannelInitializer<>() {
|
||||
protected void initChannel(@NotNull Channel channel) {
|
||||
try {
|
||||
channel.config().setOption(ChannelOption.TCP_NODELAY, true);
|
||||
@ -81,7 +75,7 @@ public class ViaFabricPlusVLBBaseVersionProvider extends VLBBaseVersionProvider
|
||||
ClientConnection.addHandlers(channelPipeline, NetworkSide.CLIENTBOUND);
|
||||
channelPipeline.addLast("packet_handler", clientConnection);
|
||||
}
|
||||
}).channel(class_).connect(address);
|
||||
}).channel(useEpoll ? EpollSocketChannel.class : NioSocketChannel.class).connect(address);
|
||||
|
||||
channelFuture.addListener(future1 -> {
|
||||
if (!future1.isSuccess()) {
|
||||
|
Loading…
Reference in New Issue
Block a user