Помогите Многоуровневый конфиг

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

SLywnow

Участник
Пользователь
Баллы
36
Имя в Minecraft
_Boris3000_
Как сделать многоуровневый конфиг по типу
Код:
test:
  test1:
     - lol
     - lol2
  test2
     - prom
Как создавать листы в конфиге понимаю, но не понимаю как делать такую ступенчитость?
И еще вопрос: как считывать не string с конфига, а например ItemStack?
Я только начал изучать Bukkit API и Java, так что не кидайтесь тапками =)
 
Как сделать многоуровневый конфиг по типу
Код:
test:
  test1:
     - lol
     - lol2
  test2
     - prom
Как создавать листы в конфиге понимаю, но не понимаю как делать такую ступенчитость?
И еще вопрос: как считывать не string с конфига, а например ItemStack?
Я только начал изучать Bukkit API и Java, так что не кидайтесь тапками =)
HashMap.
 
Последнее редактирование:
HashMap map = getConfig().getListString("test.test1");
map[0] == lol;
map[1] == lol2;

как то так.

Только lol и lol2 Надо в конфиге заключить в 'одинарные ковычки' , чтобы преоброзовать их в String.
Ты можеш записать ItemStack в конфиг. Но прочитать как ItemStack не сможеш. Ты сможеш вынемать из конфига...
getString("строку");
getInt("число"):
getList("массив строк");
всё

Если скажем ты в конфиг добавишь ItemStack();
config.add(new ItemStack(Material.DIAMOND_SWORD));
config.save();

Тебе добавит в конфиг дохрена строк, чисел, и массивов строк.
И вынемать ты сможеш их только по отдельности, а не сразу весь ItemStack();
 
Последнее редактирование:
HashMap map = getConfig().getListString("test.test1");
map[0] == lol;
map[1] == lol2;

как то так.

Только lol и lol2 Надо в конфиге заключить в 'одинарные ковычки' , чтобы преоброзовать их в String.
Ты можеш записать ItemStack в конфиг. Но прочитать как ItemStack не сможеш. Ты сможеш вынемать из конфига...
getString("строку");
getInt("число"):
getListString("массив строк");
всё

Если скажем ты в конфиг добавишь ItemStack();
config.add(new ItemStack(Material.DIAMOND_SWORD));
config.save();

Тебе добавит в конфиг дохрена строк, чисел, и массивов строк.
И вынемать ты сможеш их только по отдельности, а не сразу весь ItemStack();
Можно и записать итемстак и достать его. Достаточно свой метод написать.
 
Можно и записать итемстак и достать его. Достаточно свой метод написать.
Можно и насрать на потолок, Достаточно свой метод написать.))
Всеравно я в этом методе буду оброщатся, и возрощать строки, числа, и массивы строк.
 
HashMap map = getConfig().getListString("test.test1");
map[0] == lol;
map[1] == lol2;

как то так.

Только lol и lol2 Надо в конфиге заключить в 'одинарные ковычки' , чтобы преоброзовать их в String.
Ты можеш записать ItemStack в конфиг. Но прочитать как ItemStack не сможеш. Ты сможеш вынемать из конфига...
getString("строку");
getInt("число"):
getListString("массив строк");
всё

Если скажем ты в конфиг добавишь ItemStack();
config.add(new ItemStack(Material.DIAMOND_SWORD));
config.save();

Тебе добавит в конфиг дохрена строк, чисел, и массивов строк.
И вынемать ты сможеш их только по отдельности, а не сразу весь ItemStack();
Насчет ItemStack спасибо, кстати, вот это будет значить что item это бедрок или нет new ItemStack(7)?
А вот с ListString это не то, это то я умею, мне нужно понять какие подкотигории есть у test и получить test1 и test2
 
HashMap map = getConfig().getListString("test.test1");
map[0] == lol;
map[1] == lol2;

как то так.
59a800cbbf.png
 
А вот с ListString это не то, это то я умею, мне нужно понять какие подкотигории есть у test и получить test1 и test2
У тебя test1 и test2 Это массивы строк. Соответствено что бы понять, какие есть подкотегории (подкатегорий нету, есть список значений), Надо вернуть этот массив и потом его читать.
Java:
String[] test = detConfig().detList("test.test1");
Теперь в массиве test у нас есть два значения.
с индексами
0 = lol
и
1 = lol2
Чтобы их прочитать, узнаем длину массива
Java:
test.size();
И запускаем цикл который выведет все значения из массива.
Java:
for(int i = 0; i < test.size; i++){
System.out.print(test[i]);
}
 
Последнее редактирование:
Последнее редактирование:
Короче как то так.

Java:
        HashMap<String, List<String>> map = new HashMap<String, List<String>>();
        List<String> test1 = new ArrayList<String>();
        test1.add("lol");
        test1.add("lol2");
        List<String> test2 = new ArrayList<String>();
        test2.add("prom");
        map.put("test1", test1);
        map.put("test2", test2);
        this.getConfig().set("test", map);
        map = (HashMap<String, List<String>>) this.getConfig().get("test");
 
Короче как то так.

Java:
        HashMap<String, List<String>> map = new HashMap<String, List<String>>();
        List<String> test1 = new ArrayList<String>();
        test1.add("lol");
        test1.add("lol2");
        List<String> test2 = new ArrayList<String>();
        test2.add("prom");
        map.put("test1", test1);
        map.put("test2", test2);
        this.getConfig().set("test", map);
        map = (HashMap<String, List<String>>) this.getConfig().get("test");
Не, не так.
@Dereku, пожалуйста ... ОСТАНОВИ ЕГО!!!
Его уже не остановить. Снежный ком останавливается только тогда, когда его что-то разбивает.
 
Не, не так.
Его уже не остановить. Снежный ком останавливается только тогда, когда его что-то разбивает.
Ну примерно.
Не, не так.
Его уже не остановить. Снежный ком останавливается только тогда, когда его что-то разбивает.
P.s и ты меня зря поправил. Работает же.
 
Назад
Верх