Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Dismiss Notice

Помогите Переменная из lore

Discussion in 'Разработка плагинов для новичков' started by Flllame, May 9, 2017.

Thread Status:
Not open for further replies.
  1. Автор темы
    Flllame

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

    Trophy Points:
    68
    Skype:
    alexsey0001
    хочу сделать прочность предмету через лор покопавшись в гугле я набросал такой код

    private void removeItem(Player p){

    int number = Integer.valueOf(p.getInventory().getItemInMainHand().getItemMeta().getLore().get(1).split(" ")[1]);
    int number2 = (number + 1);
    ItemMeta meta = p.getInventory().getItemInMainHand().getItemMeta();
    ArrayList<String> lore = new ArrayList<String>();
    lore.add(meta.getLore().get(0));
    lore.add(ChatColor.translateAlternateColorCodes('&', "&eПрочность: " + number2));
    meta.setLore(lore);
    if(number2 > 1){
    p.getInventory().getItemInMainHand().setItemMeta(meta);
    p.updateInventory();
    } else {
    p.getInventory().setItemInMainHand(new ItemStack(Material.AIR));
    }

    естественно такой вариант работать не захотел
    есть какие мысли по этому поводу?
     
  2. Хостинг MineCraft
    <
  3. Zнамя Юности

    Zнамя Юности Активный участник Пользователь

    Trophy Points:
    46
    как-то так мб?

    Code:
    if string.startsWith("§eПрочность: ") {
    int pos = lore.indexOf(string)
    int number = Integer.parseInt(string.replace("§eПрочность:"), "");
    number++;
    lore.remove(pos);
    lore.add(pos, "Прочность: " + number);
    }
     
  4. Автор темы
    Flllame

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

    Trophy Points:
    68
    Skype:
    alexsey0001
    что то я не понял как это применить
     
  5. Zнамя Юности

    Zнамя Юности Активный участник Пользователь

    Trophy Points:
    46
    мда. кароче, что именно у тебя не работает?
     
  6. Автор темы
    Flllame

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

    Trophy Points:
    68
    Skype:
    alexsey0001
    если я имею придмет с лорам Прочность: 100 когда я его юзаю его его лор установится Прочность: 99 если меньше 1 то предмет удаляется из руки[DOUBLEPOST=1494354019,1494353957][/DOUBLEPOST]мне надо получить из лоры Прочность: 100 цифру 100 как переменую
     
  7. Zнамя Юности

    Zнамя Юности Активный участник Пользователь

    Trophy Points:
    46
    ну как-то так
    Code:
    for (String s : lore) {
      if (s.startsWith("§eПрочность: ")) {
        int pos = lore.indexOf(string)
        int number = Integer.parseInt(string.replace("§eПрочность: "), "");
        if (number <= 1) {
           p.getInventory().setItemInMainHand(null);
           return;
        }
        number--;
        lore.remove(pos);
        lore.add(pos, "§eПрочность: " + number);
        meta.setLore(lore);
        item.setItemMeta(meta);
        p.getInventory().setItemInMainHand(item);
        break;
      }
    }
    }
     
  8. Автор темы
    Flllame

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

    Trophy Points:
    68
    Skype:
    alexsey0001
    что то не получается ничего
    что здесь не так ?

    private void removeItem(Player p){

    ItemStack item = p.getInventory().getItemInMainHand();
    ItemMeta item_meta = item.getItemMeta();

    ArrayList<String> lore = new ArrayList<String>();

    for (String s : lore) {
    if (s.startsWith("§eПрочность: ")) {
    int pos = lore.indexOf(item_meta.getLore().get(1));
    int number = Integer.parseInt(item_meta.getLore().get(1).replace("§eПрочность: "), "");
    if (number <= 1) {
    p.getInventory().setItemInMainHand(null);
    return;
    }
    number--;
    lore.remove(pos);
    lore.add(pos, "§eПрочность: " + number);
    item_meta.setLore(lore);
    item.setItemMeta(item_meta);
    p.getInventory().setItemInMainHand(item);
    break;
    }
    }


    }
     
  9. Zнамя Юности

    Zнамя Юности Активный участник Пользователь

    Trophy Points:
    46
    wtf???
    lore = item_meta.getLore();
     
  10. Автор темы
    Flllame

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

    Trophy Points:
    68
    Skype:
    alexsey0001
    к переменой lore не присаивается item_meta.getLore();
     
  11. Zнамя Юности

    Zнамя Юности Активный участник Пользователь

    Trophy Points:
    46
    List<String> lore = item_meta.getLore();
     
  12. Автор темы
    Flllame

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

    Trophy Points:
    68
    Skype:
    alexsey0001
    int pos = lore.indexOf(string)
    int number = Integer.parseInt(string.replace("§eПрочность: "), "");
    почему string красным подчёркивается ?[DOUBLEPOST=1494362366,1494356473][/DOUBLEPOST]слава яйцам проблему нашёл первая строчка .get(0) а я писал 1
     
Thread Status:
Not open for further replies.

Share This Page