Помогите получение значений из config.yml

Статус
Закрыто для дальнейших ответов.

Takehiko

Активный участник
Баллы
61
Имя в Minecraft
Takehik0
Есть config.yml :upload_2019-12-11_22-38-53.png
есть класс Main:upload_2019-12-11_22-37-37.png
здесь я достаю строки через цикл for, но проблема в том, что он дает только последнее значение переменной, а как сделать массив и юзать его в классе commands, я не знаю ((upload_2019-12-11_22-43-42.png
p.s. Соре за кривой код))
 

Вложения

  • upload_2019-12-11_22-36-14.png
    upload_2019-12-11_22-36-14.png
    147,5 КБ · Просмотры: 2
  • upload_2019-12-11_22-42-36.png
    upload_2019-12-11_22-42-36.png
    64,6 КБ · Просмотры: 2
Plugin#getConfig().get<String, Int, Double.......>("party.1.id");
Принцип понятен думаю
 
Plugin#getConfig().get<String, Int, Double.......>("party.1.id");
Принцип понятен думаю
ты прочитал класс Main ? я знаю как получить просто строку, но мне нужен массив, или делать через for, но тогда будет много говнокода)))
 
ты прочитал класс Main ? я знаю как получить просто строку, но мне нужен массив, или делать через for, но тогда будет много говнокода)))
тебе нужен массив полей классов 1 и 2? правильно понимаю? прост я чёто вообще не въехал что ты пытаешься сделать
 
ты прочитал класс Main ? я знаю как получить просто строку, но мне нужен массив, или делать через for, но тогда будет много говнокода)))
А зачем ты так делаешь:
g_item_lore = main.give_item_lore
.....
g_item_lore = (кароче новый инстанс создаёшь)
 
типо того, это работать должно типо как в chestcommand.
Ну смотри, я лично юзаю snakeYAML фреймворк, и всем советую. Вот пример сериализации и десериализации
Код:
public class Solution {

    static class first {
        public String text;
        public int number;

        public first(String text, int number) {
            this.text = text;
            this.number = number;
        }

        public first() {
        }
    }

    public static void main(String[] args) throws IOException {
        Yaml yaml = new Yaml();
        yaml.dump(new first("жопа", 24), new FileWriter("E:/test.yml"));

        first first = yaml.loadAs(new FileInputStream(new File("E:/test.yml")), first.class);
        List<String> fields = Arrays.asList(first.text, String.valueOf(first.number));
        fields.forEach(System.out::println);
    }
}

Вывод:
жопа
24
 
Ну смотри, я лично юзаю snakeYAML фреймворк, и всем советую. Вот пример сериализации и десериализации
Код:
public class Solution {

    static class first {
        public String text;
        public int number;

        public first(String text, int number) {
            this.text = text;
            this.number = number;
        }

        public first() {
        }
    }

    public static void main(String[] args) throws IOException {
        Yaml yaml = new Yaml();
        yaml.dump(new first("жопа", 24), new FileWriter("E:/test.yml"));

        first first = yaml.loadAs(new FileInputStream(new File("E:/test.yml")), first.class);
        List<String> fields = Arrays.asList(first.text, String.valueOf(first.number));
        fields.forEach(System.out::println);
    }
}
Спасибо щас чекну ))) если не разберусь отпишусь)))
 
типо того, это работать должно типо как в chestcommand.
Юзай ConfigurationSection#getKeys();
Везнёт Set<String>, где String = название полей. Так же можешь пройти по этому set'у и записать в отдейльныый лист значение каждой из строк (List<Object> если тип строк разный)
 
Ну смотри, я лично юзаю snakeYAML фреймворк, и всем советую. Вот пример сериализации и десериализации
Код:
public class Solution {

    static class first {
        public String text;
        public int number;

        public first(String text, int number) {
            this.text = text;
            this.number = number;
        }

        public first() {
        }
    }

    public static void main(String[] args) throws IOException {
        Yaml yaml = new Yaml();
        yaml.dump(new first("жопа", 24), new FileWriter("E:/test.yml"));

        first first = yaml.loadAs(new FileInputStream(new File("E:/test.yml")), first.class);
        List<String> fields = Arrays.asList(first.text, String.valueOf(first.number));
        fields.forEach(System.out::println);
    }
}

Вывод:
жопа
24
Лучшеб ты о ней не знал 😁. Такого ужаса я еще не видел.
 
Юзай ConfigurationSection#getKeys();
Везнёт Set<String>, где String = название полей. Так же можешь пройти по этому set'у и записать в отдейльныый лист значение каждой из строк (List<Object> если тип строк разный)
Либо я туплю либо ты не видел этого
for (String give_item_str : getConfig().getConfigurationSection("Settings.give_item").getKeys(false)) {
give_item_name = getConfig().getString("Settings.give_item." + give_item_str + ".name");} Если это не то можешь избить )))
 
Как же вас всех прет от уродлевых и не читабельных кусков мусора.
Код:
    public Stack(ConfigurationSection config) {
        this.material = config.getString("material");
        this.amount = config.getInt("amount", 1);
        this.damage= config.getInt("damage", 0);
        this.modeldata = config.getInt("modeldata");
        this.material = config.getString("material");
        this.lore = (List<String>) config.get("lore");;
    }
 
Как же вас всех прет от уродлевых и не читабельных кусков мусора.
Код:
    public Stack(ConfigurationSection config) {
        this.material = config.getString("material");
        this.amount = config.getInt("amount", 1);
        this.damage= config.getInt("damage", 0);
        this.modeldata = config.getInt("modeldata");
        this.material = config.getString("material");
        this.lore = (List<String>) config.get("lore");;
    }
Можешь в дс пойти?
 
Как же вас всех прет от уродлевых и не читабельных кусков мусора.
Код:
    public Stack(ConfigurationSection config) {
        this.material = config.getString("material");
        this.amount = config.getInt("amount", 1);
        this.damage= config.getInt("damage", 0);
        this.modeldata = config.getInt("modeldata");
        this.material = config.getString("material");
        this.lore = (List<String>) config.get("lore");;
    }
Хотелось бы понять, что ему нужно конкретно, ибо ему там что-то циклом делать надо...


Можешь в дс пойти?
Можешь со мной пойти, я хз: Lann#0479
 
Хотелось бы понять, что ему нужно конкретно, ибо ему там что-то циклом делать надо...



Можешь со мной пойти, я хз: Lann#0479
Как то так.
Код:
    public StackList(FileConfiguration cfgs) {
        for (String cfg : cfgs.getKeys(false)) {
            stack.put(cfg, new Stack(cfgs.getConfigurationSection(cfg)));
        }
    }
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх