diff options
author | appable <enzospiacitelli@gmail.com> | 2022-10-11 14:32:32 -0700 |
---|---|---|
committer | appable <enzospiacitelli@gmail.com> | 2022-10-11 14:32:32 -0700 |
commit | 363b2426f8d9e45e52c472750c798dcaceb05a88 (patch) | |
tree | d50c71d73f4333253ef28f5e53c1a148fc7f8ab5 /src/main/kotlin/com/examplemod/ExampleMod.kt | |
download | AmbientAddons-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.kt | 61 |
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 |