-
Notifications
You must be signed in to change notification settings - Fork 28
Pour une MAJ Forge, supprimer ses dossiers automatiquement ! #19
Comments
Bon ! Je viens de faire un essai avec mon code. Les dossiers sont automatiquement gérés via une liste de dossiers écrite en dur dans le code et si dans le fichier de config, on remplace le paramètre 'official' dans la config des versions par 'forge', alors les dossiers sont automatiquement supprimés sauf les paramètres utilisateur. Cependant, pour rendre ce système plus ouvert, je souhaitais te demander comment :
Voilà voilà, merci d'avance ^^ |
Bon maintenant j'ai quelques difficultés à obtenir la propriété "versions.name" pour vérifier que la version est 'forge', comme dit plus haut... J'ai cette erreur : 14:13:11 [SEVERE] java.lang.NullPointerException14:13:11 [SEVERE] at com.arcandian.fml.integration.ForgeIntegration.cleanMods(ForgeIntegration.java:15)14:13:11 [SEVERE] at com.kokakiwi.mclauncher.core.updater.UpdaterWorker.update(UpdaterWorker.java:36)14:13:11 [SEVERE] at com.kokakiwi.mclauncher.core.Updater.run(Updater.java:72)14:13:11 [SEVERE] at java.lang.Thread.run(Unknown Source) |
Bon j'ai trouvé le souci, c'était simplement une faute d'innatention. Au lieu de faire "api.getConfig().getStringList("versions.name") ", suffisait de mettre simplement "api.getConfig().getString("versions.name") ", j'ai voulu récupérer un tableau de chaînes de caractères au lieu de récupérer simplement une seule chaîne dans "versions.name". Voili ^^ Je testerais pour la liste d'exclusions plus tard, bon codage ^^ |
Raté ! C'était pas une faute d'inattention ! Je comprends pas comment récupérer le contenu de la chaîne de caractères de "versions.name", et j'ignore pourquoi, la fonction getMinecraftDirectory() dont je souhaite avoir le chemin en String me renvoie encore une erreur de type NullPointerException ! Peux-tu m'éclairer sur le sujet? Merci d'avance et bon coding (^/^) |
Ça y est, le problème est résolu ! En fait, il suffisait simplement que j'ajoute un paramètre prenant un objet LauncherAPI à ma fonction, et vu qu'elle s'exécute dans UpdateWorker, ben ça marche nickel ! Si tu veux consulter le code que j'ai rajouté (c'est temporaire, le temps de faire un vrai système d'exclusions), c'est par là : https://github.com/Arcandian/MCLauncher Je mettrais d'autres coms sur ce ticket pour dire où j'en suis si t'es d'accord, ! A ++ (^/^) |
Re re Kiwi c'est encore moi !
Bon ben ça marche nickel avec cette nouvelle MAJ avec Forge ;-)
Par contre pour éviter des soucis de compatibilité avec des mods en conflits, des doublons de mods, des configs erronées, etc... je suggère d'avoir la possibilité de supprimer, grâce au fichier de config, des dossiers avec leurs fichiers, ou, si la disposition du répertoire de jeu est amener à évoluer, de supprimer entièrement le contenu de ce répertoire sauf certains répertoires ou fichiers dêfinis dans la config avec une liste d'exclusions.
Ça serait intéressant, ça éviterait bien des soucis aux utilisateurs finaux et aux admins ^^
Voilà voilà :-)
EDIT : Je tenterais d'écrire le code dedié à la gestion d'exclusions des dossiers, étant plus propre et simple à créer, si tu veux, je pusherais mon code à partir du fork de ton projet. Comme ça, si cela t'intéresse, on aura qu'à merger nos projets si cela te tente ^^
The text was updated successfully, but these errors were encountered: