Помогите Не находит эффект

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

Sergeo

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Solomka
Проблема состоит в том, что при поиске эффекта по имени, которое указано в конфиге - null

Никак не могу понять проблему (Раньше такой фигни не было)

Класс с Эффектами:
Код:
private final Perm perm = new Perm();

public void clearAllEffect(@NotNull Player p) {
    if(p.getActivePotionEffects() == null) return;
    for(PotionEffect effect : p.getActivePotionEffects()) {
        p.removePotionEffect(effect.getType());
    }
}

public void clearEffect(@NotNull Player p, int id) {
    PotionEffectType effect = PotionEffectType.getByName(getString("Runes." + id + ".Effect"));
    if(!p.hasPotionEffect(effect)) return;
    p.removePotionEffect(effect);
}

public void addPotions(@NotNull Player p, int id) {
    CustomConfig data = new CustomConfig("data");
    for(int effId : perm.uploadEffectsId(perm.getGroupPlayer(p))) {
        if(data.getString("players." + p.getUniqueId() + "." + effId) == null) continue;
        p.addPotionEffect(new PotionEffect(PotionEffectType.getByName(getString("Runes." + effId + ".Effect")), 2147483646, data.getInt("players." + p.getUniqueId() + "." + id + ".Level"), true));
    }
}

public void joinAddEffect(@NotNull Player p, int id) {
    CustomConfig data = new CustomConfig("data");
    for(int effId : perm.uploadEffectsId(perm.getGroupPlayer(p))) {
        if(data.getString("players." + p.getUniqueId() + "." + effId) == null || data.getBoolean("players." + p.getUniqueId() + "." + effId + ".Enable")) continue;
        p.addPotionEffect(new PotionEffect(PotionEffectType.getByName(getString("Runes." + effId + ".Effect")), 2147483646, data.getInt("players." + p.getUniqueId() + "." + id + ".Level"), true));
    }
}

Проблема вот в этом (effId выдает значение, которые есть в конфиге, Поля с Effect заполнены):

Раньше такого не было

Код:
PotionEffectType.getByName(getString("Runes." + effId + ".Effect"))

Ошибка такого рода: java.lang.IllegalArgumentException: effect type cannot be null


Пример раздела с эффектом:

Код:
  1:
    Name: "&eРуна #1"
    Cost: 50
    Enable: true
    UpdateCost: 100
    Lore:
      - "&9Статус руны: {status_rune} &7({status_power}&7)"
      - "&7―――――――――"
      - "&6Описание: "
      - " &8&l> &fВыдает &c'волшебную'&f палочку "
      - " &8&l> &fс помощью которой вы сможете "
      - " &8&l> &eтелепортироваться&f по местности "
      - "&7―――――――――"
      - "&cИнформация: "
      - " &c&l> &fУровень руны: {level}"
      - "&7―――――――――――"
      - "&7Цена покупки:&f {cost_buy} exp"
      - "&7Цена улучшения:&f {cost_update} exp"
      - " "
      - "&aНажмите &cЛКМ&a, чтобы купить/улучшить... "
    Effect:
      - SLOW
 
У тебя по пути "Runes." + effId + ".Effect" StringList, а не String
 
Назад
Верх