Создание своего файла в директории игры

Версия Minecraft
1.7.10
1,015
9
102
Когда вот так пытаюсь создать файл:

Java:
try {
            Files.write(Paths.get("/test.txt"), new ArrayList<>(), Charset.forName("UTF-8"));
        } catch (IOException e) {
            e.printStackTrace();
        }

То вылетает java.nio.file.AccessDeniedException: \test.txt
Видимо файлы надо создавать как-то по-другому, но как?
 
Решение
Все работает, если указать полный путь. Как его узнать? MinecraftServer.field_152367_a выдает путь к какому-то json файлу. Конешн можно засубстрингить, но если файл по-другому будет называться, то не получится такой костыль впилить
В preInitEvent есть геттер пути до папки конфигов, из него ты можешь получить главную папку (.minecraft).

Java:
try (BufferedWriter bw = new BufferedWriter(new FileWriter(<FileDir>)))
{
    bw.write("Shut up and take my text!");
}
1,015
9
102
Все работает, если указать полный путь. Как его узнать? MinecraftServer.field_152367_a выдает путь к какому-то json файлу. Конешн можно засубстрингить, но если файл по-другому будет называться, то не получится такой костыль впилить
 
3,005
192
592
Код:
    /**
     * Returns working directory or minecraft data-directory on client side. <br>
     * <b>Please use module directory instead!</b>
     */
    public static File getBaseDir()
    {
        if (FMLCommonHandler.instance().getSide().isClient())
            return Minecraft.getMinecraft().mcDataDir;
        else
            return new File(".");
    }
 

Icosider

Kotliner
Администратор
3,603
99
664
Все работает, если указать полный путь. Как его узнать? MinecraftServer.field_152367_a выдает путь к какому-то json файлу. Конешн можно засубстрингить, но если файл по-другому будет называться, то не получится такой костыль впилить
В preInitEvent есть геттер пути до папки конфигов, из него ты можешь получить главную папку (.minecraft).

Java:
try (BufferedWriter bw = new BufferedWriter(new FileWriter(<FileDir>)))
{
    bw.write("Shut up and take my text!");
}
 
Последнее редактирование:
Сверху