Skip to content

Commit

Permalink
feat: child folder mod locator
Browse files Browse the repository at this point in the history
- will not load child folder named `optional` or `disabled`
  • Loading branch information
Oganesson897 committed Feb 16, 2025
1 parent 5af8616 commit 6d58098
Showing 1 changed file with 16 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -469,12 +469,15 @@ else if (!list.contains(file))

for (String dir : new String[]{"mods", "mods" + File.separatorChar + ForgeVersion.mcVersion})
{
List<File> location = new ArrayList<>();
File base = new File(mcDir, dir);
if (!base.isDirectory() || !base.exists())
continue;

scanningChildFolder(base, location);

FMLLog.log.info("Searching {} for mods", base.getAbsolutePath());
for (File f : base.listFiles(MOD_FILENAME_FILTER))
for (File f : location)
{
if (!list.contains(f))
{
Expand All @@ -492,6 +495,18 @@ else if (!list.contains(file))
return list;
}

private static void scanningChildFolder(File directory, List<File> list) {
if (directory.isDirectory() && !(directory.getName().contains("optional") || directory.getName().contains("disabled"))) {
for (File file : directory.listFiles()) {
if (file.isDirectory()) {
scanningChildFolder(file, list);
} else if (MOD_FILENAME_FILTER.accept(file, file.getName())) {
list.add(file);
}
}
}
}

public static Repository getDefaultRepo()
{
return libraries_dir;
Expand Down

0 comments on commit 6d58098

Please sign in to comment.