diff --git a/common/implementation/base/src/main/java/com/dfsek/terra/registry/master/ConfigRegistry.java b/common/implementation/base/src/main/java/com/dfsek/terra/registry/master/ConfigRegistry.java index 859771972..01e06b585 100644 --- a/common/implementation/base/src/main/java/com/dfsek/terra/registry/master/ConfigRegistry.java +++ b/common/implementation/base/src/main/java/com/dfsek/terra/registry/master/ConfigRegistry.java @@ -23,6 +23,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.stream.Stream; import com.dfsek.terra.api.Platform; @@ -44,9 +45,9 @@ public class ConfigRegistry extends OpenRegistryImpl { public synchronized void loadAll(Platform platform) throws IOException, PackLoadFailuresException { Path packsDirectory = platform.getDataFolder().toPath().resolve("packs"); Files.createDirectories(packsDirectory); - List failedLoads = new ArrayList<>(); + List failedLoads = new CopyOnWriteArrayList<>(); try(Stream packs = Files.list(packsDirectory)) { - packs.forEach(path -> { + packs.parallel().forEach(path -> { try { ConfigPack pack = new ConfigPackImpl(path, platform); registerChecked(pack.getRegistryKey(), pack);