Clean up the mod loading context objects. There is only one ThreadLocal now.

**BREAKING CHANGE** FMLModLoadingContext is renamed to FMLJavaModLoadingContext.
LanguageProviders can setup additional contextual data.

Signed-off-by: cpw <[email protected]>
This commit is contained in:
cpw committed 2019-02-13 22:13:59 -05:00
1 parent 586c24f9d6
commit 28c0ffe333
8 files changed
+100 -95

No files matched your search

@@ -45,6 +45,7 @@ public abstract class ModContainer
protected final String namespace;
protected final IModInfo modInfo;
protected ModLoadingStage modLoadingStage;
protected Supplier<?> contextExtension;
protected final Map<ModLoadingStage, Consumer<LifecycleEventProvider.LifecycleEvent>> triggerMap;
protected final Map<ExtensionPoint, Supplier<?>> extensionPoints = new IdentityHashMap<>();
protected final EnumMap<ModConfig.Type, ModConfig> configs = new EnumMap<>(ModConfig.Type.class);
@@ -95,8 +96,10 @@ public abstract class ModContainer
{
try
{
ModLoadingContext.get().setActiveContainer(this, contextExtension.get());
triggerMap.getOrDefault(modLoadingStage, e->{}).accept(event);
modLoadingStage = event.toStage();
ModLoadingContext.get().setActiveContainer(null, null);
}
catch (ModLoadingException e)
{