aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/com/dulkirfabric/DulkirModFabric.kt
diff options
context:
space:
mode:
authoringlettronald <inglettronald@gmail.com>2023-06-04 14:28:53 -0500
committeringlettronald <inglettronald@gmail.com>2023-06-04 14:28:53 -0500
commit41832da25f9aa5cb37fee870752e64e5a9057c17 (patch)
treef7b6015ddee527367e1d8235b2fd36a155d62a20 /src/main/kotlin/com/dulkirfabric/DulkirModFabric.kt
downloadDulkirMod-Fabric-41832da25f9aa5cb37fee870752e64e5a9057c17.tar.gz
DulkirMod-Fabric-41832da25f9aa5cb37fee870752e64e5a9057c17.tar.bz2
DulkirMod-Fabric-41832da25f9aa5cb37fee870752e64e5a9057c17.zip
initial commit
Diffstat (limited to 'src/main/kotlin/com/dulkirfabric/DulkirModFabric.kt')
-rw-r--r--src/main/kotlin/com/dulkirfabric/DulkirModFabric.kt55
1 files changed, 55 insertions, 0 deletions
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