]> git.lizzy.rs Git - LightOverlay.git/blob - fabric/src/main/java/me/shedaniel/lightoverlay/fabric/LightOverlay.java
Multi-loader common module build
[LightOverlay.git] / fabric / src / main / java / me / shedaniel / lightoverlay / fabric / LightOverlay.java
1 package me.shedaniel.lightoverlay.fabric;
2
3 import me.shedaniel.cloth.api.client.events.v0.ClothClientHooks;
4 import me.shedaniel.lightoverlay.common.AbstractPlatform;
5 import me.shedaniel.lightoverlay.common.LightOverlayCore;
6 import net.fabricmc.api.ClientModInitializer;
7 import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
8 import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
9 import net.fabricmc.loader.api.FabricLoader;
10 import net.minecraft.client.KeyMapping;
11 import net.minecraft.client.renderer.culling.Frustum;
12
13 import java.nio.file.Path;
14
15 public class LightOverlay implements ClientModInitializer, AbstractPlatform {
16     @Override
17     public void onInitializeClient() {
18         LightOverlayCore.register(this);
19     }
20     
21     @Override
22     public Path getConfigDir() {
23         return FabricLoader.getInstance().getConfigDir();
24     }
25     
26     @Override
27     public void registerClientTick(Runnable runnable) {
28         ClientTickEvents.END_CLIENT_TICK.register(minecraft -> runnable.run());
29     }
30     
31     @Override
32     public void registerDebugRenderer(Runnable runnable) {
33         ClothClientHooks.DEBUG_RENDER_PRE.register(runnable);
34     }
35     
36     @Override
37     public KeyMapping registerKeyBinding(KeyMapping keyMapping) {
38         return KeyBindingHelper.registerKeyBinding(keyMapping);
39     }
40     
41     @Override
42     public boolean isFrustumVisible(Frustum frustum, double minX, double minY, double minZ, double maxX, double maxY, double maxZ) {
43         return FrustumHelper.isVisible(frustum, minX, minY, minZ, maxX, maxY, maxZ);
44     }
45 }