Class ModContainer

  • Direct Known Subclasses:
    FMLModContainer, MinecraftModLanguageProvider.MinecraftModContainer, ModLoader.ErroredModContainer

    public abstract class ModContainer
    extends java.lang.Object
    The container that wraps around mods in the system.

    The philosophy is that individual mod implementation technologies should not impact the actual loading and management of mod code. This class provides a mechanism by which we can wrap actual mod code so that the loader and other facilities can treat mods at arms length.

    Author:
    cpw
    • Field Detail

      • modId

        protected final java.lang.String modId
      • namespace

        protected final java.lang.String namespace
      • modInfo

        protected final net.minecraftforge.forgespi.language.IModInfo modInfo
      • contextExtension

        protected java.util.function.Supplier<?> contextExtension
      • activityMap

        protected final java.util.Map<ModLoadingStage,​java.lang.Runnable> activityMap
      • extensionPoints

        protected final java.util.Map<ExtensionPoint,​java.util.function.Supplier<?>> extensionPoints
    • Constructor Detail

      • ModContainer

        public ModContainer​(net.minecraftforge.forgespi.language.IModInfo info)
      • ModContainer

        ModContainer()
        Errored container state, used for filtering. Does nothing.
    • Method Detail

      • getModId

        public final java.lang.String getModId()
        Returns:
        the modid for this mod
      • getNamespace

        public final java.lang.String getNamespace()
        Returns:
        the resource prefix for the mod
      • getCurrentState

        public ModLoadingStage getCurrentState()
        Returns:
        The current loading stage for this mod
      • getModInfo

        public net.minecraftforge.forgespi.language.IModInfo getModInfo()
        Returns:
        the modinfo used to create this mod instance
      • getCustomExtension

        public <T> java.util.Optional<T> getCustomExtension​(ExtensionPoint<T> point)
      • registerExtensionPoint

        public <T> void registerExtensionPoint​(ExtensionPoint<T> point,
                                               java.util.function.Supplier<T> extension)
      • addConfig

        public void addConfig​(ModConfig modConfig)
      • matches

        public abstract boolean matches​(java.lang.Object mod)
        Does this mod match the supplied mod?
        Parameters:
        mod - to compare
        Returns:
        if the mod matches
      • getMod

        public abstract java.lang.Object getMod()
        Returns:
        the mod object instance
      • acceptEvent

        protected <T extends net.minecraftforge.eventbus.api.Event & IModBusEvent> void acceptEvent​(T e)
        Accept an arbitrary event for processing by the mod. Probably posted to an event bus in the lower level container.
        Parameters:
        e - Event to accept