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

Туториал Сохранить файл из JAR. AssetAPI.

Тема в разделе "Sponge", создана пользователем Jourdan, 19 окт 2017.

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

    Jourdan Участник Пользователь

    Баллы:
    31
    Полный туториал в источнике(на русском, с нормальным форматированием): https://spongeapi.com/d/15-sokhranit-fail-iz-jar-assetapi

    Иногда требуется сохранить файл из JAR плагина. Это может быть файл локализации или еще что-нибудь. Сделать это в Sponge очень легко.

    Есть только одно условие: все файлы должны быть в директории asset/{pluginid}.
    Например у нас есть плагин, у которого в аннотации @Plugin id=my_plugin, то ассеты должны должны лежать в директории asset/my_plugin.
    Есть 2 способа это сделать:
    1. Инжектировать PluginContainer и использовать метод .getAsset(String)
    2. Получить AssetManager и вызвать метод .getAsset(Object, String)
    (второй способ в источнике)
    Первый способ:
    1. Ижектируем PluginContainer и путь до директории с конфигом плагина:
    Код:
    @Inject
    private PluginContainer container;
    
    @Inject
    @ConfigDir(sharedRoot = false)
    private Path confDir;
    
    2. Получаем Asset из PluginContainer'а и сохраняем его в директория_плагина/bestdir
    Код:
    Optional<Asset> assetOpt1 = container.getAsset("bestdir/bestfile.txt");
    assetOpt1.ifPresent(asset -> {
       try {
           asset.copyToDirectory(confDir.resolve("bestdir"));
           logger.info("Файл распакован");
       } catch (IOException e) {
           logger.error("Ошибка распаковки файла!", e);
       }
    });
    
    Продолжение в источнике(на русском): https://spongeapi.com/d/15-sokhranit-fail-iz-jar-assetapi
     
  2. Mr Hosting

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