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

41 lines
1.3 KiB
Java
Raw Normal View History

package one.oth3r.sit;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
2024-07-11 13:43:54 -05:00
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
import one.oth3r.sit.file.Data;
import one.oth3r.sit.packet.SitPayloads;
import one.oth3r.sit.utl.Utl;
public class SitClient implements ClientModInitializer {
2024-07-11 13:43:54 -05:00
private static boolean IN_GAME = false;
@Override
public void onInitializeClient() {
2024-07-11 13:43:54 -05:00
Sit.client = true;
ClientPlayConnectionEvents.JOIN.register((handler, sender, client) -> {
2024-07-11 13:43:54 -05:00
IN_GAME = true;
if (client.isInSingleplayer()) Sit.singleplayer = true;
// send a data packet whenever joining a server
2024-07-11 13:43:54 -05:00
sendSettingsPackets();
});
// reset cashed things
ClientPlayConnectionEvents.DISCONNECT.register((handler, client) -> {
IN_GAME = false;
if (Sit.singleplayer) {
// flip the single player switch
Sit.singleplayer = false;
}
});
}
2024-07-11 13:43:54 -05:00
/**
* sends the settings packets to the server
*/
public static void sendSettingsPackets() {
if (IN_GAME) ClientPlayNetworking.send(new SitPayloads.SettingsPayload(Utl.getGson().toJson(Data.getHandConfig())));
}
}