package de.fullrisk.citrusDev.client; import de.fullrisk.citrusDev.Config; import de.fullrisk.citrusDev.UI.*; import de.fullrisk.citrusDev.UIHelper.DraggableHud; import de.fullrisk.citrusDev.helper.RankHelper; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; import net.fabricmc.fabric.api.client.keymapping.v1.KeyMappingHelper; import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents; import net.minecraft.client.KeyMapping; import net.minecraft.resources.Identifier; import org.lwjgl.glfw.GLFW; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class CitrusDevClient implements ClientModInitializer { public static final Logger logger = LoggerFactory.getLogger(CitrusDevClient.class); private static final boolean debug = true; public static final String API_URL = "https://citrus-api.winniepat.de"; private static KeyMapping openScreenKey; @Override public void onInitializeClient() { Module_FPS.register(); Module_KeyStrokes.register(); Module_Coords.register(); Module_Effects.register(); KeyMapping.Category category = KeyMapping.Category.register( Identifier.fromNamespaceAndPath("citrus-dev", "general")); openScreenKey = KeyMappingHelper.registerKeyMapping(new KeyMapping( "key.citrus-dev.open_screen", GLFW.GLFW_KEY_RIGHT_SHIFT, category )); ClientPlayConnectionEvents.JOIN.register((sender, client1, player) -> { RankHelper.fetchAllRanks(); }); ClientTickEvents.END_CLIENT_TICK.register(client -> { if (client.player != null && !client.isPaused()) { PlaytimeTracker.tick(); QuestsPanel.tick(); } Module_FPS.tick(); Module_KeyStrokes.tick(); Module_Coords.tick(); DraggableHud.tick(); Module_Effects.tick(); while (openScreenKey.consumeClick()) { if (client.player != null && client.player.isShiftKeyDown()) { String lastModule = Config.get().lastModule; client.setScreen(new MyScreen(lastModule)); } else { client.setScreen(new MyScreen(null)); } } }); } public static void debugLog(String message) { if (debug) { logger.info("[Citrus] [DEBUG] {}", message); } } }