Sit/src/main/java/one/oth3r/sit/SitClient.java

33 lines
1.2 KiB
Java

package one.oth3r.sit;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
import one.oth3r.sit.packet.CustomPayloads;
public class SitClient implements ClientModInitializer {
public static boolean inGame = false;
@Override
public void onInitializeClient() {
Sit.isClient = true;
ClientPlayConnectionEvents.JOIN.register((handler, sender, client) -> {
inGame = true;
// send a data packet whenever joining a server
sendSettingsPackets();
});
// reset inGame
ClientPlayConnectionEvents.DISCONNECT.register((handler, client) -> inGame = false);
}
/**
* sends the settings packets to the server is the client is in game
*/
public static void sendSettingsPackets() {
if (inGame) {
Gson gson = new GsonBuilder().disableHtmlEscaping().create();
ClientPlayNetworking.send(new CustomPayloads.SettingsPayload(gson.toJson(Utl.HandSettings.getHandSettings())));
}
}
}