Launcher.getInstance().println("Starting Listing and Deleting bad mods...");
Ah ben j'ai toruvé la différence, la class lister est là, mais elle est pas appelée dans la class launcher. C'est un oubli ou c'est voulu?
Bon j'ai réactivé la class lister en modifiant la ligne suivante :
URL resourceUrl = new URL(LauncherConstants.URL_DOWNLOAD_MODS+"/nomrep/mods");
Pour qu'il retrouve le point d'entré des ressources/mods maintenant il fait le travail de delete des mods inexistants sur le ftp. J'ai pas lu tout le code entier de ton nouveau launcher donc je sais pas si c'est une bêtise ou pas mais ça à l'air de fonctionner pas trop mal.A toi de me dire si j'ai fais un gaffe. Au passage,as-tu déjà remarqué que (pas tout le temps mais souvent) certains fichiers sont redownloader sans réelles raisons ?
if(LauncherConstants.useModResource){
//Check version already installed
final File forgeModsDirectory = new File(Launcher.getInstance().getWorkingDirectory().getAbsolutePath(), "/mods");
if(!forgeModsDirectory.exists()){
forgeModsDirectory.mkdirs();
}
else{
String[] modsList = forgeModsDirectory.list();
for(String versionFile : modsList){
if(versionFile.contains(".version")){
String vers1 = versionFile.replace(".version", "");
Launcher.getInstance().println("You have mods for version : " + vers1);
String vers2 = version.getId();
Launcher.getInstance().println("Version gonna be played : " + vers2);
if(!vers1.equals(vers2)){
Launcher.getInstance().println("You have mods for an other version of the game, deleting local mods.");
deleteRecur(forgeModsDirectory);
forgeModsDirectory.mkdir();
}
}
}
}
File versf = new File(forgeModsDirectory.getAbsolutePath(), "/" + version.getId() + ".version");
if (versf.createNewFile()){
System.out.println("Version File created.");
}
job.addDownloadables(getModFiles(((RemoteVersionList)this.remoteVersionList).getProxy(), baseDirectory, version.getId()));
}
return job;