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

Помогите StringList

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

  1. alexandrage

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

    Баллы:
    173
    player.sendMessage(list.toArray(new String[]{})); Отправит игроку несколько строк. Никаких ручных циклов городить не надо.
     
  2. Roots

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

    Баллы:
    76
    Хех когда смотришь чей то код вроде все так просто, а вот когда сам что то питаешься за кодить а оно ничего не получается
     
  3. Nikolai_Faint

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

    Баллы:
    96
    Я не так юзал, извиняюсь.
     
  4. alexandrage

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

    Баллы:
    173
    Ибо нужно юзать фишки для людей.
    YamConfig<Tests> cfg = new YamConfig<Tests>(this.plugin, "config", new Tests());
    cfg.get()//TODO гетеры сетеры нашего объекта.
    cfg.save();//Сохраняем обратно в файл.
    Код:
    package Example;
    
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    
    import org.bukkit.plugin.java.JavaPlugin;
    
    import com.esotericsoftware.yamlbeans.YamlReader;
    import com.esotericsoftware.yamlbeans.YamlWriter;
    
    public class YamConfig<T> {
        private T t;
        private File file;
    
        public static boolean exist(JavaPlugin plugin, String name) {
            return new File(plugin.getDataFolder(), name + ".yml").exists();
        }
    
        public YamConfig(JavaPlugin plugin, String name, T o) {
            this.t = o;
            this.file = new File(plugin.getDataFolder(), name + ".yml");
            load();
        }
    
        private void load() {
            try {
                YamlReader reader = new YamlReader(new FileReader(this.file));
                this.t = (T) reader.read(this.t.getClass());
            } catch (Exception e) {
                try {
                    this.t = (T) this.t.getClass().newInstance();
                } catch (Exception e1) {
                    e1.printStackTrace();
                }
            }
        }
    
        public void save() {
            try {
                YamlWriter writer = new YamlWriter(new FileWriter(this.file));
                writer.getConfig().writeConfig.setWriteRootTags(false);
                writer.write(this.t);
                writer.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        public T get() {
            return this.t;
        }
    }
     
  5. Nikolai_Faint

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

    Баллы:
    96
    Я кажется не так понял, но это же:
    YamlConfiguration.load(file);
    YamlConfiguration.save(file);
    Нет?
     
  6. alexandrage

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

    Баллы:
    173
    snakeyaml не умеет в bean. Он так просто в класс не преобразует. Это на yamlbeans либе.
     
  7. zabelov

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

    Баллы:
    61
    Имя в Minecraft:
    Zabelov
    PHP:
    List<Stringmessages config.getStringList("test.test1");
    messages.forEach(player::sendMessage);
    Будет работать, наверно
     
  8. alexandrage

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

    Баллы:
    173
    В голос.
     

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