Solved Moving an entity at the playerEyeLocation

Discussion in 'Spigot Plugin Development' started by TheL0w3R, May 30, 2016.

  1. Hi'm i'm coding a Harry Potter plugin, currently coding the spell Wingardium Leviosa(for those who don't know, this spell makes the entity you're looking follow your wand moves)

    Basically I need to move the entity to the player eye location but keeping a range of 15 blocks.

    I partially did it but the entity keeps flying away, this is what I did:
    Code (Text):
    fle.setVelocity(fp.getEyeLocation().getDirection());
    If there were a way to stop the directional moving, it works like a charm but the entity moves away.

    I'm pretty new on vectors, don't really know exactly how they works (i've read about it, bit still don't understand at all)

    Hope you understood me, sorry for my bad english and thanks!
     
  2. I know it should be able to made if you hold right click then you can drag entity anywhere ? I don't know just a guess.
     
  3. Hola, no necesariamente tienes que usar vectores, sino que puedas hacer que la entity que vos quieras se haga tp constantemente a la localizacion de los ojos del jugador. Ejemplo: entity.teleport(player.getEyeLocation().add(0, 0, 0)); donde dice 0, 0, 0 son "cordenadas" es para sumarle mas fuerzas a X lado (vector), si cambias el 0 del medio por un 10 estas haciendo mas fuerza para arriba asi que la entity se va a teletransportar a la localizacion de los ojos del jugador mas 10 de altura y ta eso vas viendo vos como jugar :). Espero que hayas entenido si no es asi dimelo y te lo explico mejor.
    PD: Te escribi en español ya que pusistes que no sabias hablar ingles xD
    PD2: Esto de los vectores te lo tienen que enseñar en el liceo :p a mi me lo enseñaron ahi
     
  4. :p What ?
     
  5. I wrote it in Spanish because TheL0w3R did not know to speak much English; so I guess that he speaks Spanish :'v
     
  6. Well what puts in your mind he could speak spanish ?
     
  7. If the non-speaking Spanish then write you in English
     
  8. Hola, gracias por contestar, el problema es que si uso los TP no puedo limitar la distancia, es decir, la entidad se tepea a donde miren mis ojos, pero no puedo poner un limite, no se si me entiendes.
     
  9. No xD, no se a que te refieres con limite... Quieres decir la distancia que estaria la entity ?
     
  10. Exacto, mi idea es mover a la entidad pero manteniendo una distancia fija entre el jugador y la entidad.
     
  11. Pues viste que te explique eso de .add(0,0,0) anda modificandolo hasta que este a la distancia que quieras y hace que le haga tp a cada rato como te dije y ya estaria a la distancia que vos quieras
     
  12. Igual ten cuidado porque si pones que se le haga tp o ya sea que lo hagas con vectores, etc si un jugador esta apuntando hacia abajo o a la pared la entity se metera dentro de la pared
     
  13. Okay, en cuanto pueda lo pruebo, muchas gracias!
     
  14. Nope, no funciona, la entidad desaparece (supongo que se tepea muy lejos...)
    No hay alguna forma de quitarle el movimiento hacia adelante de p.getEyeLocation().getDirection() ?
    Con eso, la entidad se mueve exactamente al punto donde el jugador mira, lo unico que falta es que no se aleje más de 15 bloques en cualquier coordenada (Se que es posible porque lo he visto en otros servers).
    Muchas gracias! :)
     
  15. Lo he arreglado, al final he hecho lo siguiente (en un BukkitRunnable por supuesto):
    Code (Text):

    fle.setFallDistance(0);
    Vector casterLocation = fp.getEyeLocation().toVector();
    Vector targetLocation = fle.getLocation().toVector();
    Vector wantedLocation = casterLocation.add(fp.getLocation().getDirection().multiply(10));
    Vector v = wantedLocation.subtract(targetLocation).multiply(1/25F + .1);
    fle.setVelocity(v);
     
     
    • Winner Winner x 1
  16. Was about to help with detailed knowledge of vectors... but noticed this thread went rogue and translated over to Spanish even though thats against the rules... So, I'll just leave..
     
  17. Oh, is that against the rules? I'm sorry man, didn't know that, I just started replying in Spanish because another user replied in spanish too...
    I'm sorry if that disturbs you but I think your help would be welcome for any other who may have the same question.
     
  18. It is not against the rules!
     
  19. Me alegro que lo hayas podido hacer :). Suerte y pon el post como resuelto!