Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Living entity

Тема в разделе "Разработка плагинов для новичков", создана пользователем Lite-craft, 1 апр 2016.

  1. Автор темы
    Lite-craft

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

    Баллы:
    46
    Имя в Minecraft:
    shiroihana
    Создал я код
    Код:
    @EventHandler
    public void onInteractss(PlayerInteractEvent e){
       Player p = e.getPlayer();
       Location loc = p.getLocation().add(0.0D, 1.5D, 0.0D);
       if (!(p.getDisplayName().equals(ChatColor.YELLOW + "IronMan " + ChatColor.RESET + p.getName())))return;
       if (p.getItemInHand().getType() != Material.BLAZE_ROD)return;
       if (p.getItemInHand().getAmount() < 1)return;
      LivingEntity entity = (LivingEntity) loc.getWorld().getNearbyEntities(loc, 1, 1, 1);
       entity.setHealth(0);
       Jarvis.getManager().msg(p, MessageType.GOOD, "Зафиксирован выстрел");
      for (int i = 1; i <= 50; i++)
      {
      loc=loc.add(loc.getDirection().getX(),loc.getDirection().getY(),loc.getDirection().getZ());
      ParticleEffect.CLOUD.display(-2.55F,1F,1F,0.01F,0,loc,400);
      }
         
    }
    
    Но консоль выдает ошибку
    Что не правильно в коде?
     
  2. Хостинг MineCraft
    <
  3. CoolBoy

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

    Баллы:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    Боже, ты синтаксис знаешь? Твой код не читабелен.[DOUBLEPOST=1459506755,1459506654][/DOUBLEPOST]И ещё, код нельзя "создать". Код пишется. Чтобы понять в чём ошибка - нам нужен стактрейс из консоли.
     
  4. Автор темы
    Lite-craft

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

    Баллы:
    46
    Имя в Minecraft:
    shiroihana
    Это да...
    Ошибся маленько...
    Скоро будет, прост щя не за компом.
     
  5. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Код:
    if (!(p.getDisplayName().equals(ChatColor.YELLOW + "IronMan " + ChatColor.RESET + p.getName())))
       return;
    Если видимое имя игрока не равно "§eIronMan §r****юк", ничего не делаем. Лол. Ну, просто забавная логика.

    Код:
    // Тут ещё ладно, взяли точку над головой игрока...
    Location loc = p.getLocation().add(0.0D, 1.5D, 0.0D);
    ...
    for (int i = 1; i <= 50; i++)
    {
       // Очень сложная математика тут, постоянно прибавляется по единичному вектору ... это рисуется линия?
       loc = loc.add(loc.getDirection().getX(), loc.getDirection().getY(),l oc.getDirection().getZ());
       ParticleEffect.CLOUD.display(-2.55f, 10.f, 1.0f, 0.01f, 0.0f, loc, 400);
    }
    Но ошибка-то понятна сразу, если внимательно прочитать созданный код.
    Entity.getNearbyEntities
     
  6. Автор темы
    Lite-craft

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

    Баллы:
    46
    Имя в Minecraft:
    shiroihana
    Это примитивная проверка на то написал ли игрок команду, этот дисплей нейм у игрока устанавливается когда он команду пишет. Не знал как такое по другому сделать
    Да[DOUBLEPOST=1459509803,1459509721][/DOUBLEPOST]
    Ай ай ай
    :D
    Сейчас посмотрю[DOUBLEPOST=1459510482][/DOUBLEPOST]
    Мне нужно просто убить всех энтити которые рядом с loc
     
  7. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Так хорошо держался, и в самом конце вдруг сдался и заоверквоттил (overquote). Эх...
    Ну возьми да убей. Всех.
     

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