--- a/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java
+++ b/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java
@@ -1,17 +1,21 @@
 package com.hypherionmc.craterlib;
 
-import com.hypherionmc.craterlib.client.NeoForgeClientHelper;
+import com.hypherionmc.craterlib.api.events.client.LateInitEvent;
 import com.hypherionmc.craterlib.common.NeoForgeServerEvents;
 import com.hypherionmc.craterlib.compat.Vanish;
+import com.hypherionmc.craterlib.core.event.CraterEventBus;
 import com.hypherionmc.craterlib.core.networking.CraterPacketNetwork;
 import com.hypherionmc.craterlib.core.networking.PacketRegistry;
 import com.hypherionmc.craterlib.core.networking.data.PacketSide;
 import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment;
 import com.hypherionmc.craterlib.network.CraterNeoForgeNetworkHandler;
+import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft;
+import com.hypherionmc.craterlib.nojang.client.BridgedOptions;
+import net.minecraft.client.Minecraft;
 import net.neoforged.bus.api.IEventBus;
 import net.neoforged.fml.common.Mod;
-import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent;
 import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent;
+import net.neoforged.fml.loading.FMLEnvironment;
 import net.neoforged.fml.loading.FMLLoader;
 import net.neoforged.neoforge.common.NeoForge;
 
@@ -23,7 +27,6 @@
     public CraterLib(IEventBus eventBus) {
         NeoForge.EVENT_BUS.register(new NeoForgeServerEvents());
         eventBus.addListener(this::commonSetup);
-        eventBus.addListener(this::clientSetup);
         handler = new CraterNeoForgeNetworkHandler(FMLLoader.getDist().isClient() ? PacketSide.CLIENT : PacketSide.SERVER);
 
         if (ModloaderEnvironment.INSTANCE.isModLoaded("vmod")) {
@@ -33,9 +36,9 @@
 
     public void commonSetup(FMLCommonSetupEvent evt) {
         new CraterPacketNetwork(handler);
-    }
-
-    public void clientSetup(FMLClientSetupEvent evt) {
-        NeoForgeClientHelper.registerClient();
+        if (FMLEnvironment.dist.isClient()) {
+            LateInitEvent event = new LateInitEvent(new BridgedMinecraft(), BridgedOptions.of(Minecraft.getInstance().options));
+            CraterEventBus.INSTANCE.postEvent(event);
+        }
     }
 }
