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

[SOLVED]Не отправляется сообщение в DamageInterface

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

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

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

    Баллы:
    46
    Имя в Minecraft:
    thematdev
    Делал я плагин, чтобы игроку который бьёт показывалось столько осталось хп у того кого они бил. Вот код:

    PHP:
    public void Damaging(EntityDamageByEntityEvent e) {
            
    Entity h e.getDamager();
            if (
    instanceof Player) {
                
    Player p = (Playere.getDamager();
                
    Entity en e.getEntity();
                
    LivingEntity len = (LivingEntitye.getEntity();
                
    String enh Double.toString(len.getHealth());
                
    String enhm Double.toString(len.getMaxHealth());
                
    p.sendMessage(enh "/" enhm " HP");
            }
        }
    Сначала хотел делать с ActionBar, но там не получилось, тут с мессагой, и игроку тупо ничего не отправляется. Благодарен за помощь)
     
  2. M1fest

    M1fest Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    Mifest
    Скинь, пожалуйста, весь код.
     
  3. Автор темы
    thematdev

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

    Баллы:
    46
    Имя в Minecraft:
    thematdev
    Забыл поставить EventHandler, работает, но теперь вопрос пишется хп до удара, а как сделать после удара
     
  4. M1fest

    M1fest Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    Mifest
    :). Попробуй сделать вопрос, если Player (враг) сделал удар по Player (ты), то начинается
    Код:
    public void Damaging(EntityDamageByEntityEvent e) {
            Entity h = e.getDamager();
            if (h instanceof Player) {
                Player p = (Player) e.getDamager();
                Entity en = e.getEntity();
                LivingEntity len = (LivingEntity) e.getEntity();
                String enh = Double.toString(len.getHealth());
                String enhm = Double.toString(len.getMaxHealth());
                p.sendMessage(enh + "/" + enhm + " HP");
            }
        }
    
    Сделай так, чтобы не циклилось - самое главное. Прости, щас код написать не могу - сейчас сам пишу плагин.
     
  5. Автор темы
    thematdev

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

    Баллы:
    46
    Имя в Minecraft:
    thematdev
    PHP:
    String enh Double.toString(Math.round(len.getHealth()));
    Это как я получаю хп у энтити.
     
  6. Автор темы
    thematdev

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

    Баллы:
    46
    Имя в Minecraft:
    thematdev
    *facepalm* Я пишу хп тому кто атакует, а не тому кого атакуют. И почему оно циклится? Ты где-то for заметил?
     
  7. M1fest

    M1fest Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    Mifest
    Те не понял. у того игрока проверка, сделал он удар или нет, если да, то выполняется твой код.
    Это - if, не while, есть такие, которые путают.
     
  8. Автор темы
    thematdev

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

    Баллы:
    46
    Имя в Minecraft:
    thematdev
    EntityDamageByEntityEvent e - это разве не проверка. Пишется только у того кто ударил. Ща попробую сделать так чтобы если смотрел тогда писалось
     
  9. M1fest

    M1fest Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    Mifest
    ты не спросил кто кого ударил. Тут задан удар от Entity
     
  10. Автор темы
    thematdev

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

    Баллы:
    46
    Имя в Minecraft:
    thematdev
    e.getDamager() это потвоему не Entity?
     
  11. Автор темы
    thematdev

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

    Баллы:
    46
    Имя в Minecraft:
    thematdev
    Решено, отнял e.getDamage()

    Закрыто.
     
Статус темы:
Закрыта.

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