Войти или зарегистрироваться

Туториал Удаление каталог(а/ов) перед обновлением клиента в лаунчере

  • Автор темы Автор темы lol63
  • Дата начала Дата начала

lol63

Старожил
Переводчик
Баллы
153
Special for kaban1997.
1) Открываем исходники вашего лаунчера.
2) Заходим в класс GameUpdater.java
3) Вставляем после
public class GameUpdater implements Runnable {
такой код:
Код:
  static public boolean deleteDirectory(File path) {
    if( path.exists() ) {
      File[] files = path.listFiles();
      for(int i=0; i<files.length; i++) {
        if(files[i].isDirectory()) {
          deleteDirectory(files[i]);
        }
        else {
          files[i].delete();
        }
      }
    }
    return( path.delete() );
  }
4) Ищем такие строки
if(forceUpdate) {
shouldUpdate = true;
и вставляем после них:
Код:
          File workdir = Util.getWorkingDirectory();
          deleteDirectory(new File(workdir,"папка_для_удаления_1"));
          deleteDirectory(new File(workdir,"папка_для_удаления_2"));
          deleteDirectory(new File(workdir,"папка_для_удаления_3"));
          deleteDirectory(new File(workdir,"папка_для_удаления_4"));
          deleteDirectory(new File(workdir,"папка_для_удаления_n"));
5) Сохраняем, компилируем.
6) ???
7) PROFIT!!!
 
можно задать тупой вопрос? а папки для удаления 1234n как их писать, полностью %appdata%\.minecraft\mods или просто папки которые в .minecraft config mods saves?

UPD: Кажется допёрло, спасибо большое
 
а подскажи плз код для удаления всей папки workdir (%appdata%\.minecraft) целиком, для того что бы не удалять все папки в нутри нее по очереди (как в уже описанном методе)!
 
а подскажи плз код для удаления всей папки workdir (%appdata%\.minecraft) целиком, для того что бы не удалять все папки в нутри нее по очереди (как в уже описанном методе)!

PHP:
deleteDirectory(new File(workdir))
 
Если поставить галочку "принудительное обновление" и использовать удаление всей папки, либо просто папки bin, то лаунчер пишет:
f870b0d810f4.jpg
Есть выход?
 
Если поставить галочку "принудительное обновление" и использовать удаление всей папки, либо просто папки bin, то лаунчер пишет:
f870b0d810f4.jpg
Есть выход?
у мня такая же беда если делать полностью по данному туториалу
 
Код:
File workdir = Util.getWorkingDirectory();
          deleteDirectory(new File(workdir));
 
Есть ли возможность удалить папку "natives" в "bin", при этом не затрагивая остальные файлы?
 
Код:
          File workdir = Util.getWorkingDirectory();
          deleteDirectory(new File(workdir,"natives"));
Я имел ввиду папку %appdata%/.minecraft/bin/natives
Если ставить

Код:
(workdir,"bin/natives")
 
(workdir,"bin,natives")
 
(workdir,bin,"natives")
То нечего не получается
 
Папка natives находится не в workdir, а в workdir/bin/
3 метода, которые я писал выше, не подходят для удаления именно папки natives
 
Не помогло.
Возможно ли таким же образом удалить файлы .jar?
 
Назад
Верх