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

В разработке Как найти силу полета стрелы.

Тема в разделе "Разработка плагинов для новичков", создана пользователем RusDieF, 12 июл 2014.

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

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

    Баллы:
    66
    Имя в Minecraft:
    DieF
    @EventHandler
    public void onShoot(EntityShootBowEvent e)
    {
    if(e.getEntity().getType() == EntityType.PLAYER)
    {
    Player player = (Player) e.getEntity();
    Arrow arrow = player.getWorld().spawn(e.getProjectile().getLocation(), Arrow.class);
    Vector BadVector = e.getProjectile().getLocation().getDirection();
    Vector NewVector = new Vector (-BadVector.getX(), BadVector.getY(), BadVector.getZ());
    Vector direction = VectorRotateY( NewVector, 10 );
    arrow.setVelocity( direction );
    }
    }
    public static Vector VectorRotateY(Vector dir, double angleD)
    {
    double angleR = Math.toRadians(angleD);
    double x = dir.getX();
    double z = dir.getZ();
    double cos = Math.cos(angleR);
    double sin = Math.sin(angleR);
    return (new Vector(x*cos+z*(-sin), 0.0, x*sin+z*cos)).normalize();
    }
     
  2. Хостинг MineCraft
    <
  3. ptnk

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

    Баллы:
    173
    Какая "сила полёта"? У стрелы есть vector, и чем больше он тем больше начальная скорость полёта. И это Velocity.
     

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