Помогите Сохранить мир в иной формат

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

koliab

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
kolia1_1
У меня есть игра, у меня есть мир для игры, у меня есть код для игры - мне нужно подгрузить мир из сохранения из json nbt или другое.

я хочу что-бы потребитель не утруждал себя скачиванием необходимого мира для игры, и поэтому хочу его подгрузить из кода.

схема:
plugin.jar -> onEnable() -> world.file -> worldcreator -> world -> gamemath
upload_2019-10-3_18-4-30.png
 
Ты так говоришь, будто есть какая-та разница между ванильным форматом хранения и твоим json. Но разницы нет - со всем оперируешь так, как тебе нужно.
Можешь прям в джарнике плагина хранить нужный мир или при запуске загружать архив мира c веб-сервера
 
Ты так говоришь, будто есть какая-та разница между ванильным форматом хранения и твоим json. Но разницы нет - со всем оперируешь так, как тебе нужно.

Можешь прям в джарнике плагина хранить нужный мир или при запуске загружать архив мира c веб-сервера
Как именно хранить в джарнике
 
Как именно хранить в джарнике
Дак очень просто же.
Пихай файлы в джарник, ибо джарник и есть архив. А в коде разархивируй указанный путь в своем джарнике в указанное место на диске
 
подскажи как извлекать
Код:
    public static void unzip(String folder, String file, String charset) throws IOException {
        ZipFile zip = new ZipFile(file, Charset.forName(charset));
        zip.stream().forEach(entry -> {
            if(entry.isDirectory()) {
                Paths.get(folder+File.separator+entry.getName()).toFile().mkdirs();
            } else {
                try {
                    Paths.get(folder+File.separator+entry.getName()).toFile().getParentFile().mkdirs();
                    Files.copy(zip.getInputStream(entry), Paths.get(folder+File.separator+entry.getName()), StandardCopyOption.REPLACE_EXISTING);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        });
        zip.close();
    }
С тебя фильтр на папку добавить, а то все распакует).
 
Назад
Верх