From 41832da25f9aa5cb37fee870752e64e5a9057c17 Mon Sep 17 00:00:00 2001 From: inglettronald Date: Sun, 4 Jun 2023 14:28:53 -0500 Subject: initial commit --- .../kotlin/com/dulkirfabric/DulkirModFabric.kt | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/main/kotlin/com/dulkirfabric/DulkirModFabric.kt (limited to 'src/main/kotlin/com/dulkirfabric/DulkirModFabric.kt') diff --git a/src/main/kotlin/com/dulkirfabric/DulkirModFabric.kt b/src/main/kotlin/com/dulkirfabric/DulkirModFabric.kt new file mode 100644 index 0000000..c81cb63 --- /dev/null +++ b/src/main/kotlin/com/dulkirfabric/DulkirModFabric.kt @@ -0,0 +1,55 @@ +/** + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * If it is not possible or desirable to put the notice in a particular + * file, then You may include the notice in a location (such as a LICENSE + * file in a relevant directory) where a recipient would be likely to look + * for such a notice. + * + * You may add additional accurate notices of copyright ownership. + */ + +package com.dulkirfabric + +import com.dulkirfabric.events.WidgetInitEvent +import meteordevelopment.orbit.EventBus +import meteordevelopment.orbit.EventHandler +import net.fabricmc.api.ModInitializer +import net.minecraft.client.MinecraftClient +import org.slf4j.LoggerFactory +import java.lang.invoke.MethodHandles + + +object DulkirModFabric : ModInitializer { + private val logger = LoggerFactory.getLogger("dulkirmod-fabric") + @JvmField + val EVENT_BUS = EventBus() + @JvmField + val mc: MinecraftClient = MinecraftClient.getInstance() + + var widgetLoadTime = 0L + + override fun onInitialize() { + logger.info("Initializing DulkirMod...") + + EVENT_BUS.registerLambdaFactory("com.dulkirfabric") { lookupInMethod, klass -> + lookupInMethod.invoke(null, klass, MethodHandles.lookup()) as MethodHandles.Lookup + } + + EVENT_BUS.subscribe(this) + } + + @EventHandler + fun onPreInit(event: WidgetInitEvent) { + if (!event.initialized) println("have not initialized widgets yet!!!!") + widgetLoadTime = System.nanoTime() + } + + @EventHandler + fun onPostInit(event: WidgetInitEvent) { + val time = System.nanoTime() - widgetLoadTime + if (event.initialized) println("widgets initialized!!!!!, took: $time ns") + } +} \ No newline at end of file -- cgit