类 ModLoader
java.lang.Object
net.minecraftforge.fml.ModLoader
Loads mods.
Dispatch cycle is seen in
#loadMods()
and #finishMods()
Overall sequence for loadMods is:
- CONSTRUCT
- Constructs the mod instance. Mods can typically setup basic environment such as Event listeners and Configuration specifications here.
- Automated dispatches
- Dispatches automated elements :
net.minecraftforge.fml.common.Mod.EventBusSubscriber
,net.minecraftforge.event.RegistryEvent
,net.minecraftforge.common.capabilities.CapabilityInject
and others - CONFIG_LOAD
- Dispatches ConfigLoadEvent to mods
- COMMON_SETUP
- Dispatches
net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent
to mods - SIDED_SETUP
- Dispatches
net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent
ornet.minecraftforge.fml.event.lifecycle.FMLDedicatedServerSetupEvent
to mods
- ENQUEUE_IMC
- Dispatches
net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent
to mods, for enqueuingInterModComms
messages for other mods to receive subsequently - PROCESS_IMC
- Dispatches
net.minecraftforge.fml.event.lifecycle.InterModProcessEvent
to mods, for processingInterModComms
messages received from other mods prior to this event - COMPLETE
- Dispatches
net.minecraftforge.fml.event.lifecycle.FMLLoadCompleteEvent
to mods, and completes the mod loading sequence.
-
嵌套类概要
嵌套类修饰符和类型类说明private static class
private static final class
-
字段概要
字段修饰符和类型字段说明private final Set
<IModLoadingState> private final Set
<net.minecraftforge.forgespi.language.IModInfo> private final List
<ModLoadingException> private final LoadingModList
private static boolean
private final List
<ModLoadingWarning> private static final org.apache.logging.log4j.Logger
private ModList
private static boolean
private final ModStateManager
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明void
addWarning
(ModLoadingWarning warning) private ModContainer
buildModContainerFromTOML
(net.minecraftforge.forgespi.locating.IModFile modFile, Map<String, net.minecraftforge.forgespi.language.IModInfo> modInfoMap, String modId, net.minecraftforge.forgespi.language.IModLanguageProvider.IModLanguageLoader languageLoader) private List
<ModContainer> buildMods
(net.minecraftforge.forgespi.locating.IModFile modFile) private static String
private static String
private void
dispatchAndHandleError
(IModLoadingState state, ModWorkManager.DrivenExecutor syncExecutor, Executor parallelExecutor, Runnable ticker, ProgressMeter progressBar) void
finishMods
(ModWorkManager.DrivenExecutor syncExecutor, Executor parallelExecutor, Runnable periodicTask) void
gatherAndInitializeMods
(ModWorkManager.DrivenExecutor syncExecutor, Executor parallelExecutor, Runnable periodicTask) Run on the primary starting thread by ClientModLoader and ServerModLoaderstatic ModLoader
get()
private void
handleInlineTransition
(Consumer<ModList> transition, IModLoadingState state, ModWorkManager.DrivenExecutor syncExecutor, Runnable ticker) boolean
hasCompletedState
(String stateName) static boolean
static boolean
void
loadMods
(ModWorkManager.DrivenExecutor syncExecutor, Executor parallelExecutor, Runnable periodicTask) <T extends net.minecraftforge.eventbus.api.Event & IModBusEvent>
voidpostEvent
(T e) <T extends net.minecraftforge.eventbus.api.Event & IModBusEvent>
TpostEventWithReturn
(T e) <T extends net.minecraftforge.eventbus.api.Event & IModBusEvent>
voidpostEventWithWrapInModOrder
(T e, BiConsumer<ModContainer, T> pre, BiConsumer<ModContainer, T> post) <T extends net.minecraftforge.eventbus.api.Event & IModBusEvent>
voidpostEventWrapContainerInModOrder
(T event) <T extends net.minecraftforge.eventbus.api.Event & IModBusEvent>
voidrunEventGenerator
(Function<ModContainer, T> generator) private void
waitForTransition
(IModLoadingState state, ModWorkManager.DrivenExecutor syncExecutor, Runnable ticker, CompletableFuture<Void> transition)
-
字段详细资料
-
LOGGER
private static final org.apache.logging.log4j.Logger LOGGER -
loadingModList
-
loadingExceptions
-
erroredModInfos
-
loadingWarnings
-
stateManager
-
loadingStateValid
private static boolean loadingStateValid -
statusConsumer
-
completedStates
-
modList
-
runningDataGen
private static boolean runningDataGen
-
-
构造器详细资料
-
ModLoader
private ModLoader()
-
-
方法详细资料
-
computeLanguageList
-
computeModLauncherServiceList
-
get
-
gatherAndInitializeMods
public void gatherAndInitializeMods(ModWorkManager.DrivenExecutor syncExecutor, Executor parallelExecutor, Runnable periodicTask) Run on the primary starting thread by ClientModLoader and ServerModLoader- 参数:
syncExecutor
- An executor to run tasks on the main threadparallelExecutor
- An executor to run tasks on a parallel loading thread poolperiodicTask
- Optional periodic task to perform on the main thread while other activities run
-
loadMods
public void loadMods(ModWorkManager.DrivenExecutor syncExecutor, Executor parallelExecutor, Runnable periodicTask) -
finishMods
public void finishMods(ModWorkManager.DrivenExecutor syncExecutor, Executor parallelExecutor, Runnable periodicTask) -
dispatchAndHandleError
private void dispatchAndHandleError(IModLoadingState state, ModWorkManager.DrivenExecutor syncExecutor, Executor parallelExecutor, Runnable ticker, ProgressMeter progressBar) -
handleInlineTransition
private void handleInlineTransition(Consumer<ModList> transition, IModLoadingState state, ModWorkManager.DrivenExecutor syncExecutor, Runnable ticker) -
waitForTransition
private void waitForTransition(IModLoadingState state, ModWorkManager.DrivenExecutor syncExecutor, Runnable ticker, CompletableFuture<Void> transition) -
buildMods
-
buildModContainerFromTOML
private ModContainer buildModContainerFromTOML(net.minecraftforge.forgespi.locating.IModFile modFile, Map<String, net.minecraftforge.forgespi.language.IModInfo> modInfoMap, String modId, net.minecraftforge.forgespi.language.IModLanguageProvider.IModLanguageLoader languageLoader) -
isLoadingStateValid
public static boolean isLoadingStateValid()- 返回:
- If the current mod loading state is valid. Use if you interact with vanilla systems directly during loading and don't want to cause extraneous crashes due to trying to do things that aren't possible in a "broken load"
-
hasCompletedState
-
runEventGenerator
public <T extends net.minecraftforge.eventbus.api.Event & IModBusEvent> void runEventGenerator(Function<ModContainer, T> generator) -
postEvent
-
postEventWithReturn
-
postEventWrapContainerInModOrder
public <T extends net.minecraftforge.eventbus.api.Event & IModBusEvent> void postEventWrapContainerInModOrder(T event) -
postEventWithWrapInModOrder
public <T extends net.minecraftforge.eventbus.api.Event & IModBusEvent> void postEventWithWrapInModOrder(T e, BiConsumer<ModContainer, T> pre, BiConsumer<ModContainer, T> post) -
getWarnings
-
addWarning
-
isDataGenRunning
public static boolean isDataGenRunning()
-