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

Помогите addPotionEffect

Тема в разделе "Разработка плагинов для новичков", создана пользователем _XATuKO_, 11 сен 2018.

Статус темы:
Закрыта.
  1. Автор темы
    _XATuKO_

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

    Баллы:
    66
    Имя в Minecraft:
    _XATuKO_
    Здравствуйте. Как получить эффект из конфига?
    Допустим, в конфиге стоит:

    Effects:
    SPEED:
    duration: 60
    amplifier: 2

    (Не бейте, я не умею выделять код:cry:)

    Как мне в ивенте addPotionEffect получить этот эффект и его силу?
     
  2. LuckyZeeRo

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

    Баллы:
    96
    Имя в Minecraft:
    i0xHeX
    code.png
    Собираешь данные из конфига:
    PHP:
    // ...
    FileConfiguration config = ....;

    // Получаешь по сути тот же конфиг, но с рутом Effects
    ConfigurationSection section config.getConfigurationSection("Effects");
    // Перебираешь все ключи (false - не включая ключи глубже)
    for (String effectType section.getKeys(false)) {
        
    int duration section.getInt(effectType ".duration");
        
    int amplifier =  section.getInt(effectType ".amplifier");

        
    PotionEffect effect = ...;
        
    // ...
    }

    Создаешь эффект:
    PHP:
    PotionEffect effect = new PotionEffect(PotionEffectType.getByName(effectType), durationamplifier);
     
  3. Автор темы
    _XATuKO_

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

    Баллы:
    66
    Имя в Minecraft:
    _XATuKO_
    Спасибо, но я не понял одно. Как это засунуть в addPotionEffect?
    Я думал, что надо просто написать
    PHP:
    p.addPotionEffect(effect);
    Но, как оказалось, это не так. Помогите, пожалуйста:rolleyes:
     
  4. MemoryRAVE

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

    Баллы:
    66
    Имя в Minecraft:
    xR4V3
    Всё именно так
     
  5. Автор темы
    _XATuKO_

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

    Баллы:
    66
    Имя в Minecraft:
    _XATuKO_
    Точно?:eek:
    upload_2018-9-11_21-24-28.png
     
  6. MemoryRAVE

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

    Баллы:
    66
    Имя в Minecraft:
    xR4V3
    Код:
    for (String effectType : section.getKeys(false)) {
        int duration = section.getInt(effectType + ".duration");
        int amplifier =  section.getInt(effectType + ".amplifier");
    
    //p.addPotion....
    
    }
     
  7. Автор темы
    _XATuKO_

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

    Баллы:
    66
    Имя в Minecraft:
    _XATuKO_
    Спасибо большое:oops:
     
Статус темы:
Закрыта.

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