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

[Решено] Получение степени натяжения лука

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

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

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

    Баллы:
    88
    Товарищи! Выручайте. Подскажите кто знает любым способом как получить уровень натяжения лука у игрока в руке в методе EntityByEntityDamage
    Не спрашивайте зачем.
    Надо получить степень натяжения лука и дальше работать с уроном в зависимости от натяжки.
     
  2. Studenikin

    Studenikin Старожил Пользователь

    Баллы:
    123
    Skype:
    vanya.studenikin
    Имя в Minecraft:
    stuvanya
  3. Автор темы
    baksovic111

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

    Баллы:
    88
  4. Studenikin

    Studenikin Старожил Пользователь

    Баллы:
    123
    Skype:
    vanya.studenikin
    Имя в Minecraft:
    stuvanya
    Оттуда его взять и не получится, тут другой евент нужен, я дал ссылку
     
  5. Автор темы
    baksovic111

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

    Баллы:
    88
    Я в нем к сожалению не смогу изменить урон.
    Возможно у меня мало опыта и я чего-то не знаю?
     
  6. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Нужно получать атакующего и приводить к типу стрелы
     
  7. Автор темы
    baksovic111

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

    Баллы:
    88
    Вообщем решил я это все костылем)

    Сделал переменную в классе
    private float BowForce;

    @EventHandler
    public void PlayerShot(EntityShootBowEvent event){

    if ((event.isCancelled()) || (!(event.getEntity() instanceof Player)))
    return;
    BowForce = event.getForce();
    }


    И дальше вот таким вот образом в DamageEntityByDamageEvent


    if(BowForce >= 0.9){
    Damage = Damage * 0.9;
    }
    else if(BowForce >= 0.8){
    Damage = Damage * 0.8;
    }
    else if(BowForce >= 0.7){
    Damage = Damage * 0.7;
    }
    else if(BowForce >= 0.6){
    Damage = Damage * 0.6;
    }
    else if(BowForce >= 0.5){
    Damage = Damage * 0.5;
    }
    else if(BowForce >= 0.4){
    Damage = Damage * 0.4;
    }
    else if(BowForce >= 0.3){
    Damage = Damage * 0.3;
    }
    else if(BowForce >= 0.2){
    Damage = Damage * 0.2;
    }
    else if(BowForce >= 0.1){
    Damage = Damage * 0.1;
    }
     
  8. ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Лови евент стрельбы, бери стрелу, пиши ей в мету силу, при уроне проверяй наличие у стрелы меты.. Профит
     
  9. Автор темы
    baksovic111

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

    Баллы:
    88
    Мой способ в принципе отлично работает.
    Причем кода меньше таким образом будет)
     
  10. Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Ага, и не будет работать если два игрока выстрелят одновременно, ты тупо перезапишешь силу натяжения последним выстрелившим.
     
  11. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    Это у вас кода меньше, чем с использованием меты?
     
  12. Timings

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

    Баллы:
    88
    Имя в Minecraft:
    NextGeneric
  13. Studenikin

    Studenikin Старожил Пользователь

    Баллы:
    123
    Skype:
    vanya.studenikin
    Имя в Minecraft:
    stuvanya
    Ищем по поиску мои сообщения, и на каждое пишем неадекватный комментарий?
     
  14. Timings

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

    Баллы:
    88
    Имя в Minecraft:
    NextGeneric
    Тоже, кстати, неплохая идея, благодарю
     

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