1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Получение эффекта из StringList

Тема в разделе "Разработка плагинов для новичков", создана пользователем Nec4ick, 6 фев 2023.

  1. Автор темы
    Nec4ick

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

    Баллы:
    61
    Имя в Minecraft:
    Nec4ick
    Есть конфиг:

    effects:
    - SPEED:20:5
    - BLIDNESS:30:5

    Код:
    player.addPotionEffect(new PotionEffect(PotionEffectType.не-дописано));

    Как выдать игроку все эти эффекты из StringList?
    Желательно сразу код
     
  2. Sturm_PT

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

    Баллы:
    76
    1) сразу код тебе редко будут давать, ибо зачем кому-то тратить на это время. Учись писать сам.
    2) методы, которые тебе нужны
    Configuration.getStringList()
    String.split()
    PotionEffectType.valueOf()
    Integer.parseInt()
     
  3. Автор темы
    Nec4ick

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

    Баллы:
    61
    Имя в Minecraft:
    Nec4ick
    Пытался сделать через цикл for, не получилось

    Можно код если не трудно?
     
  4. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Лучше ты покажи свой, а мы скажем, что не так
     
  5. MrAlexeiMK

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

    Баллы:
    66
    Имя в Minecraft:
    MrAlexeiMK
    Код:
    List<String> spl = config.getStringList("effects");
    for(String effectStr : spl) {
        String[] spl = effectStr.split(":");
        try {
            player.addPotionEffect(new PotionEffect(
                PotionEffectType.getByName(spl[0]), 
                    Integer.valueOf(spl[1]), Integer.valueOf(spl[2])));
       } catch (Exception ignored) {}
    }
    Эффекты возможно в кавычках понадобятся:
    effects:
    - "SPEED:20:5"
    - "BLIDNESS:30:5"
     
  6. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Не стоит игнорировать исключения
     
  7. MrAlexeiMK

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

    Баллы:
    66
    Имя в Minecraft:
    MrAlexeiMK
    Признаю, грешен. Ну, по-хорошему в блоке catch просто в лог писать с какой строкой траблы
     

Поделиться этой страницей