1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем koliab, 3 окт 2019.

  1. Автор темы
    koliab

    koliab Активный участник Пользователь

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

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

    схема:
    plugin.jar -> onEnable() -> world.file -> worldcreator -> world -> gamemath
    upload_2019-10-3_18-4-30.png
     
  2. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Распакуй из архива.
     
  3. Автор темы
    koliab

    koliab Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    kolia1_1
    подробнее
     
  4. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Ты так говоришь, будто есть какая-та разница между ванильным форматом хранения и твоим json. Но разницы нет - со всем оперируешь так, как тебе нужно.
    Можешь прям в джарнике плагина хранить нужный мир или при запуске загружать архив мира c веб-сервера
     
  5. Автор темы
    koliab

    koliab Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    kolia1_1
    Как именно хранить в джарнике
     
  6. MurlikMurlik

    MurlikMurlik Активный участник Пользователь

    Баллы:
    96
    Дак очень просто же.
    Пихай файлы в джарник, ибо джарник и есть архив. А в коде разархивируй указанный путь в своем джарнике в указанное место на диске
     
  7. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Ровно так же, как и любые другие файлы. Конфиги же хранишь. Берешь и извлекаешь нужный путь
     
  8. Автор темы
    koliab

    koliab Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    kolia1_1
    подскажи как извлекать
     
  9. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    plugin.saveResource
     
  10. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Код:
        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();
        }
    С тебя фильтр на папку добавить, а то все распакует).
     

Поделиться этой страницей