From e62805f1d70fa79c531570261a763bf65cac4520 Mon Sep 17 00:00:00 2001 From: LexManos Date: Tue, 28 Jul 2020 16:44:29 -0700 Subject: [PATCH] Fix another case of swallowed errors not shutting down mods. --- build.gradle | 4 ++-- src/main/java/net/minecraftforge/fml/ModList.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 9976f00284..3c730e10a2 100644 --- a/build.gradle +++ b/build.gradle @@ -269,7 +269,7 @@ project(':forge') { environment 'FORGE_VERSION', project.version.substring(MC_VERSION.length() + 1).toString() environment 'LAUNCHER_VERSION', SPEC_VERSION property 'org.lwjgl.system.SharedLibraryExtractDirectory', 'lwjgl_dll' - property 'eventbus.checkTypesOnDispatch', 'true' + property 'eventbus.checkTypesOnDispatch', 'true' ideaModule "${rootProject.name}.${project.name}.userdev" @@ -304,7 +304,7 @@ project(':forge') { environment 'FORGE_SPEC', SPEC_VERSION environment 'FORGE_VERSION', project.version.substring(MC_VERSION.length() + 1).toString() environment 'LAUNCHER_VERSION', SPEC_VERSION - property 'eventbus.checkTypesOnDispatch', 'true' + property 'eventbus.checkTypesOnDispatch', 'true' ideaModule "${rootProject.name}.${project.name}.userdev" diff --git a/src/main/java/net/minecraftforge/fml/ModList.java b/src/main/java/net/minecraftforge/fml/ModList.java index 929870e3c1..2eefef2ac0 100644 --- a/src/main/java/net/minecraftforge/fml/ModList.java +++ b/src/main/java/net/minecraftforge/fml/ModList.java @@ -132,7 +132,7 @@ public class ModList DeferredWorkQueue.clear(); try { - final ForkJoinTask parallelTask = modLoadingThreadPool.submit(() -> this.mods.parallelStream().forEach(m -> m.transitionState(lifecycleEvent, errorHandler))); + final ForkJoinTask parallelTask = modLoadingThreadPool.submit(() -> this.mods.parallelStream().forEach(m -> m.transitionState(lifecycleEvent, errorHandler.andThen(e -> this.mods.forEach(ModContainer::shutdown))))); while (ticker != null && !parallelTask.isDone()) { executor.execute(ticker); }