first commit
This commit is contained in:
@@ -0,0 +1,164 @@
|
||||
package de.winniepat.citrus;
|
||||
|
||||
import de.winniepat.citrus.beta.*;
|
||||
import de.winniepat.citrus.cosmetics.*;
|
||||
import de.winniepat.citrus.cosmetics.capes.*;
|
||||
import de.winniepat.citrus.cosmetics.capes.sync.*;
|
||||
import de.winniepat.citrus.client.*;
|
||||
import de.winniepat.citrus.cosmetics.halo.HaloFeatureRenderer;
|
||||
import de.winniepat.citrus.cosmetics.hat.HatFeatureRenderer;
|
||||
import de.winniepat.citrus.cosmetics.wings.WingsFeatureRenderer;
|
||||
import de.winniepat.citrus.cosmetics.wings.sync.*;
|
||||
import de.winniepat.citrus.draggui.*;
|
||||
import de.winniepat.citrus.gui.*;
|
||||
import de.winniepat.citrus.managers.*;
|
||||
import de.winniepat.citrus.utils.*;
|
||||
import icyllis.modernui.mc.MuiModApi;
|
||||
import net.fabricmc.fabric.api.client.rendering.v1.LivingEntityFeatureRendererRegistrationCallback;
|
||||
import net.fabricmc.loader.api.FabricLoader;
|
||||
import net.minecraft.client.render.entity.PlayerEntityRenderer;
|
||||
import org.slf4j.*;
|
||||
|
||||
import net.fabricmc.fabric.api.client.event.lifecycle.v1.*;
|
||||
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.text.Text;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
public class Client {
|
||||
|
||||
public static final Logger logger = LoggerFactory.getLogger(Client.class);
|
||||
|
||||
public static final String CLIENT_BUILD = "0.1";
|
||||
public static final String clientInfo = "Citrus 1.21-" + CLIENT_BUILD + " | Minecraft 1.21";
|
||||
|
||||
public static final File CONFIG_DIR = new File(FabricLoader.getInstance().getGameDir().toFile(),"citrus");
|
||||
|
||||
public static final boolean debug = true;
|
||||
public static final boolean betaFeaturesEnabled = false;
|
||||
|
||||
public static final String API_URL = "https://api.citrus-client.de";
|
||||
public static final String CDN_URL = "https://cdn.citrus-client.de";
|
||||
public static final String BETA_URL = "https://beta.citrus-client.de";
|
||||
|
||||
private static BetaManager betaManager;
|
||||
|
||||
protected void init() throws IOException {
|
||||
|
||||
betaManager = BetaManager.getInstance();
|
||||
|
||||
betaManager.initialize();
|
||||
|
||||
ClientCommands.register();
|
||||
ClientKeybinds.register();
|
||||
CosmeticCommands.register();
|
||||
|
||||
CapeHandler.init();
|
||||
ConfigManager.load();
|
||||
HudConfig.load();
|
||||
HudRenderer.register();
|
||||
TestScreen.registerRenderer();
|
||||
|
||||
CapeSyncManager.init();
|
||||
WingSyncManager.init();
|
||||
WingSyncManager.startAutoSync();
|
||||
WallpaperManager.init();
|
||||
|
||||
ClientRegistrationManager.register();
|
||||
FriendManager.init();
|
||||
|
||||
ChatSound.init();
|
||||
|
||||
debugLog(SecurityUtils.getDailyKey());
|
||||
|
||||
RefreshUtil.start();
|
||||
|
||||
ClientPlayConnectionEvents.JOIN.register((handler, sender, client) -> {
|
||||
ClientRegistrationManager.register();
|
||||
client.execute(FriendManager::updateServerStatus);
|
||||
});
|
||||
|
||||
ClientPlayConnectionEvents.DISCONNECT.register((handler, client) -> FriendManager.updateServerStatus());
|
||||
|
||||
ClientLifecycleEvents.CLIENT_STOPPING.register(client -> ClientRegistrationManager.unregister());
|
||||
|
||||
ClientTickEvents.END_CLIENT_TICK.register(client -> {
|
||||
if (client.world == null || client.player == null) return;
|
||||
|
||||
PlayerCapeTracker.tick();
|
||||
|
||||
while (ClientKeybinds.OPEN_CAPE_SCREEN.wasPressed() && client.player != null) {
|
||||
CapeHandler.reloadCapes();
|
||||
client.setScreen(new CapeSelectionScreen());
|
||||
}
|
||||
|
||||
while (ClientKeybinds.OPEN_COSMETICS_SCREEN.wasPressed() && client.player != null) {
|
||||
client.setScreen(new CosmeticScreen());
|
||||
|
||||
if (client.world != null || client.player != null){
|
||||
PlayerCosmeticTracker.tick();
|
||||
}
|
||||
}
|
||||
|
||||
while (ClientKeybinds.OPEN_FRIENDS_SCREEN.wasPressed() && client.player != null) {
|
||||
FriendManager.refresh();
|
||||
client.setScreen(MuiModApi.get().createScreen(new FriendsFragment(), null, client.currentScreen));
|
||||
}
|
||||
|
||||
while (ClientKeybinds.OPEN_DRAGGUI.wasPressed()) {
|
||||
client.setScreen(MuiModApi.get().createScreen(new HudEditorFragment(), null, client.currentScreen));
|
||||
}
|
||||
|
||||
while (ClientKeybinds.REFRESH_CLIENT.wasPressed() && client.player != null) {
|
||||
RankManager.refreshRankIfChanged();
|
||||
CapeHandler.reloadCapes();
|
||||
CapeHandler.retryFailedCapes();
|
||||
assert MinecraftClient.getInstance().player != null;
|
||||
MinecraftClient.getInstance().player.sendMessage(Text.literal("Refreshed Client"), false);
|
||||
}
|
||||
|
||||
while (ClientKeybinds.TOGGLE_FULLBRIGHT.wasPressed()) {
|
||||
FullbrightManager.toggle(client);
|
||||
}
|
||||
|
||||
while (ClientKeybinds.OPEN_MODULETOGGLE.wasPressed()) {
|
||||
client.setScreen(new ModuleToggleScreen());
|
||||
}
|
||||
|
||||
while (ClientKeybinds.REFRESH_CLIENT.wasPressed()) {
|
||||
ClientRegistrationManager.forceUpdateOnlineUsers();
|
||||
CapeHandler.refreshCapeList();
|
||||
CapeHandler.retryFailedCapes();
|
||||
}
|
||||
|
||||
if (client.world != null && client.player != null) {
|
||||
PlayerWingTracker.tick();
|
||||
}
|
||||
|
||||
ZoomManager.setZooming(ClientKeybinds.ZOOM_KEY.isPressed());
|
||||
});
|
||||
|
||||
LivingEntityFeatureRendererRegistrationCallback.EVENT.register((entityType, entityRenderer, registrationHelper, context) -> {
|
||||
if (entityRenderer instanceof PlayerEntityRenderer playerRenderer) {
|
||||
registrationHelper.register(new WingsFeatureRenderer(playerRenderer));
|
||||
registrationHelper.register(new HatFeatureRenderer(playerRenderer));
|
||||
registrationHelper.register(new HaloFeatureRenderer(playerRenderer));
|
||||
|
||||
Client.debugLog("Registered cosmetic renderers for player");
|
||||
}
|
||||
});
|
||||
|
||||
CosmeticSyncManager.init();
|
||||
}
|
||||
|
||||
public static void debugLog(String message) {
|
||||
if (debug) {
|
||||
logger.info("[Citrus] [DEBUG] {}", message);
|
||||
}
|
||||
}
|
||||
|
||||
public static BetaManager getBetaManager() {
|
||||
return betaManager;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user