Помогите Получить нужный lore

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

MemoryRAVE

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
xR4V3
Хочу получить значение из лора.

Код:
    private double getHand(Player p) {
         for(String line : p.getItemInHand().getItemMeta().getLore()) {
                if(line.startsWith("Damage: ")){
                   String level = line.replace("Damage: ", "");
                   level = ChatColor.stripColor(level);
                  String l = level;
             return Double.parseDouble(l);
                  }
                }
        return 0;
        
    }

Консоль : https://hastebin.com/luqehopoyu.pl
 
При всех таких ситуациях надо делать проверку на null. getItemInHand, getItemMeta, getLore все эти методы могут вернуть null
Это то понятно,просто null даже,если предмет и лор имеется.
Сделал так:
Код:
    private double getHand(Player p) {
         try {

         for(String line : p.getItemInHand().getItemMeta().getLore()) {
             line = ChatColor.stripColor(line);
             if(line.startsWith("Урон")){
                 String dmg = line.replace("Урон: ", "");
                return Double.parseDouble(dmg);
                  }
                }
         } catch (NullPointerException e) {
         }
         return 0;
       
    }
В итоге, всё что нужно я получил и консоль не орет.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх