aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/com/examplemod/ExampleMod.kt
diff options
context:
space:
mode:
authorappable <enzospiacitelli@gmail.com>2022-10-11 14:32:32 -0700
committerappable <enzospiacitelli@gmail.com>2022-10-11 14:32:32 -0700
commit363b2426f8d9e45e52c472750c798dcaceb05a88 (patch)
treed50c71d73f4333253ef28f5e53c1a148fc7f8ab5 /src/main/kotlin/com/examplemod/ExampleMod.kt
downloadAmbientAddons-363b2426f8d9e45e52c472750c798dcaceb05a88.tar.gz
AmbientAddons-363b2426f8d9e45e52c472750c798dcaceb05a88.tar.bz2
AmbientAddons-363b2426f8d9e45e52c472750c798dcaceb05a88.zip
Initial commit
Diffstat (limited to 'src/main/kotlin/com/examplemod/ExampleMod.kt')
-rw-r--r--src/main/kotlin/com/examplemod/ExampleMod.kt61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/main/kotlin/com/examplemod/ExampleMod.kt b/src/main/kotlin/com/examplemod/ExampleMod.kt
new file mode 100644
index 0000000..50434a1
--- /dev/null
+++ b/src/main/kotlin/com/examplemod/ExampleMod.kt
@@ -0,0 +1,61 @@
+import com.examplemod.commands.ExampleCommand
+import com.examplemod.config.Config
+import com.examplemod.config.PersistentData
+import net.minecraft.client.Minecraft
+import net.minecraft.client.gui.GuiScreen
+import net.minecraftforge.client.ClientCommandHandler
+import net.minecraftforge.common.MinecraftForge
+import net.minecraftforge.fml.common.Mod
+import net.minecraftforge.fml.common.ModMetadata
+import net.minecraftforge.fml.common.event.FMLInitializationEvent
+import net.minecraftforge.fml.common.event.FMLPreInitializationEvent
+import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
+import net.minecraftforge.fml.common.gameevent.TickEvent
+import java.io.File
+
+@Mod(
+ modid = "examplemod",
+ name = "ExampleMod",
+ version = "1.0",
+ useMetadata = true,
+ clientSideOnly = true
+)
+class ExampleMod {
+
+ @Mod.EventHandler
+ fun preInit(event: FMLPreInitializationEvent) {
+ metadata = event.modMetadata
+ val directory = File(event.modConfigurationDirectory, event.modMetadata.modId)
+ directory.mkdirs()
+ configDirectory = directory
+ persistentData = PersistentData.load()
+ config = Config
+ }
+
+ @Mod.EventHandler
+ fun onInit(event: FMLInitializationEvent) {
+ ClientCommandHandler.instance.registerCommand(ExampleCommand())
+
+ listOf(
+ this
+ ).forEach(MinecraftForge.EVENT_BUS::register)
+ }
+
+ @SubscribeEvent
+ fun onTick(event: TickEvent.ClientTickEvent) {
+ if (event.phase != TickEvent.Phase.START || currentGui == null) return
+ mc.displayGuiScreen(currentGui)
+ currentGui = null
+ }
+
+ companion object {
+ val mc: Minecraft = Minecraft.getMinecraft()
+ var currentGui: GuiScreen? = null
+
+ lateinit var configDirectory: File
+ lateinit var config: Config
+ lateinit var persistentData: PersistentData
+
+ lateinit var metadata: ModMetadata
+ }
+} \ No newline at end of file