27 lines
1.4 KiB
Java
27 lines
1.4 KiB
Java
package io.gitlab.jfronny.libjf.config.impl.network.client;
|
|
|
|
import io.gitlab.jfronny.libjf.config.impl.network.packet.ConfigurationCompletePacket;
|
|
import io.gitlab.jfronny.libjf.config.impl.network.packet.ConfigurationPacket;
|
|
import io.gitlab.jfronny.libjf.config.impl.network.RequestRouter;
|
|
import net.fabricmc.fabric.api.client.networking.v1.*;
|
|
|
|
public class JfConfigNetworkClient {
|
|
public static boolean isAvailable = false;
|
|
public static void initialize() {
|
|
JfConfigNetworkCommands.initialize();
|
|
ClientPlayNetworking.registerGlobalReceiver(RequestRouter.RESPONSE_ID, (client, handler, buf, responseSender) -> {
|
|
RequestRouter.acceptResponse(buf, responseSender);
|
|
});
|
|
ClientPlayNetworking.registerGlobalReceiver(RequestRouter.REQUEST_ID, (client, handler, buf, responseSender) -> {
|
|
RequestRouter.acceptRequest(buf, responseSender);
|
|
});
|
|
ClientConfigurationNetworking.registerGlobalReceiver(ConfigurationPacket.PACKET_TYPE, (packet, responseSender) -> {
|
|
isAvailable = packet.version() == RequestRouter.PROTOCOL_VERSION; // Handshake possible?
|
|
responseSender.sendPacket(new ConfigurationCompletePacket());
|
|
});
|
|
ClientConfigurationConnectionEvents.INIT.register((handler, client) -> {
|
|
isAvailable = false; // Reset for new server connection
|
|
});
|
|
}
|
|
}
|