diff --git a/src/main/java/dev/su5ed/sinytra/connector/locator/DependencyResolver.java b/src/main/java/dev/su5ed/sinytra/connector/locator/DependencyResolver.java index 5f2e9567..115ec8da 100644 --- a/src/main/java/dev/su5ed/sinytra/connector/locator/DependencyResolver.java +++ b/src/main/java/dev/su5ed/sinytra/connector/locator/DependencyResolver.java @@ -45,12 +45,12 @@ public final class DependencyResolver { private static final Logger LOGGER = LogUtils.getLogger(); public static final VersionOverrides VERSION_OVERRIDES = new VersionOverrides(); - public static final Supplier DEPENDENCY_OVERRIDES = Suppliers.memoize(DependencyResolver::loadDependencyOverrides); - private static final GlobalModAliases GLOBAL_MOD_ALIASES = new GlobalModAliases(FMLPaths.CONFIGDIR.get(), ConnectorUtil.DEFAULT_GLOBAL_MOD_ALIASES); + public static final Supplier DEPENDENCY_OVERRIDES = Suppliers.memoize(() -> loadConfigFile("fabric_loader_dependencies.json", () -> new DependencyOverrides(FMLPaths.CONFIGDIR.get()))); + private static final Supplier GLOBAL_MOD_ALIASES = Suppliers.memoize(() -> loadConfigFile("connector_global_mod_aliases.json", () -> new GlobalModAliases(FMLPaths.CONFIGDIR.get(), ConnectorUtil.DEFAULT_GLOBAL_MOD_ALIASES))); public static List resolveDependencies(Collection keys, Multimap jars, Iterable loadedMods) { // Add global mod aliases - FabricLoaderImpl.INSTANCE.aliasMods(GLOBAL_MOD_ALIASES.getAliases()); + FabricLoaderImpl.INSTANCE.aliasMods(GLOBAL_MOD_ALIASES.get().getAliases()); BiMap jarToCandidate = HashBiMap.create(); // Fabric candidates List candidates = createCandidatesRecursive(keys, keys, jars, jarToCandidate); @@ -130,11 +130,11 @@ private static ModCandidate createFabricLoaderMod() { return ModCandidate.createBuiltin(builtinMod, VERSION_OVERRIDES, DEPENDENCY_OVERRIDES.get()); } - private static DependencyOverrides loadDependencyOverrides() { + private static T loadConfigFile(String name, Supplier supplier) { try { - return new DependencyOverrides(FMLPaths.CONFIGDIR.get()); - } catch (Exception e) { - throw ConnectorEarlyLoader.createGenericLoadingException(e, "Invalid config file fabric_loader_dependencies.json"); + return supplier.get(); + } catch (Throwable t) { + throw ConnectorEarlyLoader.createGenericLoadingException(t, "Invalid config file " + name); } } }