Files
Client/src/main/java/de/fullrisk/citrusDev/client/CitrusDevClient.java
T

56 lines
1.9 KiB
Java

package de.fullrisk.citrusDev.client;
import de.fullrisk.citrusDev.Config;
import de.fullrisk.citrusDev.UI.Module_FPS;
import de.fullrisk.citrusDev.UI.MyScreen;
import de.fullrisk.citrusDev.UI.OverviewScreen;
import io.wispforest.owo.ui.hud.Hud;
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.minecraft.client.KeyMapping;
import net.minecraft.resources.Identifier;
import org.lwjgl.glfw.GLFW;
public class CitrusDevClient implements ClientModInitializer {
private static KeyMapping openScreenKey;
private static KeyMapping openOverviewKey;
@Override
public void onInitializeClient() {
Module_FPS.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_G,
category
));
openOverviewKey = KeyMappingHelper.registerKeyMapping(new KeyMapping(
"key.citrus-dev.open_ui",
GLFW.GLFW_KEY_RIGHT_SHIFT,
category
));
ClientTickEvents.END_CLIENT_TICK.register(client -> {
if (client.player != null && !client.isPaused()) {
PlaytimeTracker.tick();
}
Module_FPS.tick(); // update every tick, unconditionally
while (openScreenKey.consumeClick()) {
client.setScreen(new MyScreen(null)); // always general tab
}
while (openOverviewKey.consumeClick()) {
String lastModule = Config.get().lastModule;
client.setScreen(new MyScreen(lastModule)); // switch no longer even needed
}
});
}
}