Помогите Внесение предметов из конфига в кастомных инвентарь

  • Автор темы Автор темы iD3LSY
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

iD3LSY

Активный участник
Пользователь
Баллы
76
Здравствуйте :)

Столкнулся с проблемой, заключающейся в том, что нужно заполнять инвентарь предметами, имя и лор которых, берётся из конфига.

Код:
items:
    stone:
        name: "&7Камень"
        lore: "Предмет"
    oak:
        name: "&6Дуб"
        lore: "Из него делаются доски xd"

И вот этот самый камень с дубом должны быть в том инвентаре.
 
Ну даже не знаю как ответить, но скорее всего в том, что я донный. Я вообще не догоняю как реализовать подобную фигню.
 
Ну даже не знаю как ответить, но скорее всего в том, что я донный. Я вообще не догоняю как реализовать подобную фигню.
Java:
public void openGUI(Player p) {
    List<String> items = new ArrayList<>(data.getConfigurationSection("items").getKeys(false));
    Inventory inv = Bukkit.createInventory(null, 9, "Названьице");
    for (String s: items){
        ItemStack item = new ItemStack(Material.getMaterial(s.toUpperCase()));
        item.getItemMeta().setDisplayName(data.getString("items."+s+".name").replace("&", "§"));
        item.getItemMeta().setLore(data.getStringList("items."+s+"lore"));
        inv.addItem(item);
    }
    p.openInventory(inv);
}

Т.к. lore это List<String> то в конфиге он должен быть так

YAML:
lore:
  - 'string1'
 - 'string2'

А еще есть гугыл и как минимум один годный видос (тык)
 
Последнее редактирование:
Java:
public void openGUI(Player p) {
    List<String> items = new ArrayList<>(data.getConfigurationSection("items").getKeys(false));
    Inventory inv = Bukkit.createInventory(null, 9, "Названьице");
    for (String s: items){
        ItemStack item = new ItemStack(Material.getMaterial(s.toUpperCase()));
        item.getItemMeta().setDisplayName(data.getString("items."+s+".name").replace("&", "§"));
        item.getItemMeta().setLore(data.getStringList("items."+s+"lore"));
        inv.addItem(item);
    }
    p.openInventory(inv);
}

Т.к. lore это List<String> то в конфиге он должен быть так

YAML:
lore:
  - 'string1'
- 'string2'

А еще есть гугыл и как минимум один годный видос (тык)
А если в конфиге одиночное значение, то можно использовать singeltonList, для добавления lore.
 
Java:
public void openGUI(Player p) {
    List<String> items = new ArrayList<>(data.getConfigurationSection("items").getKeys(false));
    Inventory inv = Bukkit.createInventory(null, 9, "Названьице");
    for (String s: items){
        ItemStack item = new ItemStack(Material.getMaterial(s.toUpperCase()));
        item.getItemMeta().setDisplayName(data.getString("items."+s+".name").replace("&", "§"));
        item.getItemMeta().setLore(data.getStringList("items."+s+"lore"));
        inv.addItem(item);
    }
    p.openInventory(inv);
}

Т.к. lore это List<String> то в конфиге он должен быть так

YAML:
lore:
  - 'string1'
- 'string2'

А еще есть гугыл и как минимум один годный видос (тык)
Хмм... Интересно, только ты всегда отвечаешь мне на мои тупенькие вопросы?)

Впрочем не важно. Как всегда - спасибо :)
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх