LibJF/libjf-config-network-v0/src/client/java/io/gitlab/jfronny/libjf/config/impl/network/client/JfConfigNetworkClient.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
});
}
}