cpw.mods.fml.relauncher

## Interface IFMLLoadingPlugin

- All Known Implementing Classes:
    FMLCorePlugin, FMLForgePlugin

      public interface IFMLLoadingPlugin

  The base plugin that provides class name meta information to FML to enhance the classloading lifecycle for mods in FML

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `IFMLLoadingPlugin.DependsOn`
    `static interface` | `IFMLLoadingPlugin.MCVersion` Use this to target a specific minecraft version for your coremod.
    `static interface` | `IFMLLoadingPlugin.Name` Name this coremod something other than the "short class name"
    `static interface` | `IFMLLoadingPlugin.SortingIndex` A simple sorting index, interleaved with other tweakers from other sources, as well as FML
    `static interface` | `IFMLLoadingPlugin.TransformerExclusions` Annotate your load plugin with a list of package prefixes that will *not* be processed by the ASM transformation stack.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getAccessTransformerClass()` Return an optional access transformer class for this coremod.
    `java.lang.String[]` | `getASMTransformerClass()` Return a list of classes that implements the IClassTransformer interface
    `java.lang.String` | `getModContainerClass()` Return a class name that implements "ModContainer" for injection into the mod list The "getName" function should return a name that other mods can, if need be, depend on.
    `java.lang.String` | `getSetupClass()` Return the class name of an implementor of "IFMLCallHook", that will be run, in the main thread, to perform any additional setup this coremod may require.
    `void` | `injectData(java.util.Map<java.lang.String,java.lang.Object> data)` Inject coremod data into this coremod This data includes: "mcLocation" : the location of the minecraft directory, "coremodList" : the list of coremods "coremodLocation" : the file this coremod loaded from,

- - ### Method Detail

    - #### getASMTransformerClass

          java.lang.String[] getASMTransformerClass()

      Return a list of classes that implements the IClassTransformer interface
      Returns:
        a list of classes that implements the IClassTransformer interface

    - #### getModContainerClass

          java.lang.String getModContainerClass()

      Return a class name that implements "ModContainer" for injection into the mod list The "getName" function should return a name that other mods can, if need be, depend on. Trivially, this modcontainer will be loaded before all regular mod containers, which means it will be forced to be "immutable" - not susceptible to normal sorting behaviour. All other mod behaviours are available however- this container can receive and handle normal loading events

    - #### getSetupClass

          java.lang.String getSetupClass()

      Return the class name of an implementor of "IFMLCallHook", that will be run, in the main thread, to perform any additional setup this coremod may require. It will be run prior to Minecraft starting, so it CANNOT operate on minecraft itself. The game will deliberately crash if this code is detected to trigger a minecraft class loading (TODO: implement crash ;) )

    - #### injectData

          void injectData(java.util.Map<java.lang.String,java.lang.Object> data)

      Inject coremod data into this coremod This data includes: "mcLocation" : the location of the minecraft directory, "coremodList" : the list of coremods "coremodLocation" : the file this coremod loaded from,

    - #### getAccessTransformerClass

          java.lang.String getAccessTransformerClass()

      Return an optional access transformer class for this coremod. It will be injected post-deobf so ensure your ATs conform to the new srgnames scheme.
      Returns:
        the name of an access transformer class or null if none is provided