Package net.minecraftforge.fml
Class ModContainer
java.lang.Object
net.minecraftforge.fml.ModContainer
- Direct Known Subclasses:
FMLModContainer
,LowCodeModContainer
,MinecraftModContainer
,ModLoader.ErroredModContainer
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.
-
Field Summary
Modifier and TypeFieldDescriptionprotected final Map<ModLoadingStage,
Runnable> protected Optional<Consumer<IConfigEvent>>
protected final EnumMap<ModConfig.Type,
ModConfig> protected Supplier<?>
protected final Map<Class<? extends IExtensionPoint<?>>,
Supplier<?>> protected final String
protected final net.minecraftforge.forgespi.language.IModInfo
protected ModLoadingStage
protected final String
-
Constructor Summary
ConstructorDescriptionErrored container state, used for filtering.ModContainer
(net.minecraftforge.forgespi.language.IModInfo info) -
Method Summary
Modifier and TypeMethodDescriptionprotected <T extends net.minecraftforge.eventbus.api.Event & IModBusEvent>
voidacceptEvent
(T e) Accept an arbitrary event for processing by the mod.void
static <T extends net.minecraftforge.eventbus.api.Event & IModBusEvent>
CompletableFuture<Void>buildTransitionHandler
(ModContainer target, IModStateTransition.EventGenerator<T> eventGenerator, ProgressMeter progressBar, BiFunction<ModLoadingStage, Throwable, ModLoadingStage> stateChangeHandler, Executor executor) void
dispatchConfigEvent
(IConfigEvent event) getCustomExtension
(Class<? extends IExtensionPoint<T>> point) abstract Object
getMod()
final String
getModId()
net.minecraftforge.forgespi.language.IModInfo
final String
abstract boolean
Does this mod match the supplied mod?void
registerDisplayTest
(String version, BiPredicate<String, Boolean> remoteVersionTest) void
registerDisplayTest
(Supplier<String> suppliedVersion, BiPredicate<String, Boolean> remoteVersionTest) void
registerDisplayTest
(Supplier<IExtensionPoint.DisplayTest> displayTest) void
registerDisplayTest
(IExtensionPoint.DisplayTest displayTest) <T extends Record & IExtensionPoint<T>>
voidregisterExtensionPoint
(Class<? extends IExtensionPoint<T>> point, Supplier<T> extension)
-
Field Details
-
modId
-
namespace
-
modInfo
protected final net.minecraftforge.forgespi.language.IModInfo modInfo -
modLoadingStage
-
contextExtension
-
activityMap
-
extensionPoints
-
configs
-
configHandler
-
-
Constructor Details
-
ModContainer
public ModContainer(net.minecraftforge.forgespi.language.IModInfo info) -
ModContainer
ModContainer()Errored container state, used for filtering. Does nothing.
-
-
Method Details
-
getModId
- Returns:
- the modid for this mod
-
getNamespace
- Returns:
- the resource prefix for the mod
-
getCurrentState
- Returns:
- The current loading stage for this mod
-
buildTransitionHandler
public static <T extends net.minecraftforge.eventbus.api.Event & IModBusEvent> CompletableFuture<Void> buildTransitionHandler(ModContainer target, IModStateTransition.EventGenerator<T> eventGenerator, ProgressMeter progressBar, BiFunction<ModLoadingStage, Throwable, ModLoadingStage> stateChangeHandler, Executor executor) -
getModInfo
public net.minecraftforge.forgespi.language.IModInfo getModInfo() -
getCustomExtension
-
registerExtensionPoint
public <T extends Record & IExtensionPoint<T>> void registerExtensionPoint(Class<? extends IExtensionPoint<T>> point, Supplier<T> extension) -
registerDisplayTest
-
registerDisplayTest
-
registerDisplayTest
-
registerDisplayTest
public void registerDisplayTest(Supplier<String> suppliedVersion, BiPredicate<String, Boolean> remoteVersionTest) -
addConfig
-
dispatchConfigEvent
-
matches
Does this mod match the supplied mod?- Parameters:
mod
- to compare- Returns:
- if the mod matches
-
getMod
- Returns:
- the mod object instance
-
acceptEvent
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
-