WASD Packet Moving

Wenn ihr bei eurem Plugin nicht weiter kommt, könnt ihr hier euer Problem beschreiben und um Hilfe bitten.

WASD Packet Moving

Beitragvon Ste3et_C0st » Sa 30. Apr 2016, 16:23

Heyho für mein Plugin FurnitureMaker möchte ich meine ArmorStands über WASD moven können ich hab nun über PacketType.Play.Client.STEER_VEHICLE die Tasten

WASD & jump ausgelsen un triggere damit ein event welches nun den ArmorStand über setVelocity verschieben soll diese function sied nun wie folgt aus:

Code: Alles auswählen
  1.    public void setVelocity(Vector v) {
  2.       int x = (int) (v.getX() * 8000.0D);
  3.       int y = (int) (v.getY() * 8000.0D);
  4.       int z = (int) (v.getZ() * 8000.0D);
  5.       PacketContainer c = new PacketContainer(PacketType.Play.Server.ENTITY_VELOCITY);
  6.       c.getIntegers().write(0, getEntityID());
  7.       c.getIntegers().write(1, x).write(2, y).write(3, z);
  8.       for (Player p : getObjID().getPlayerList()) {
  9.          try {
  10.             getManager().sendServerPacket(p, c);
  11.          } catch (Exception e) {
  12.             e.printStackTrace();
  13.          }
  14.       }
  15.    }


Alles anzeigenAber da tut sich garnichts ich bekomm weder einen error in der console noch bewegt sich mein armorstand verschiedene Test Outputs kommen an also der code scheint zu funktionieren aber dennoch bewegt sich der ArmorStand nicht ich suche nun nach einer sinvollen antwort bitte. Natürlich könnt ihr euch meine Code auch komplett anscheun github.com/Ste3et/FurnitureLib…/entity/fEntity.java#L424
Benutzeravatar
Ste3et_C0st
 
Beiträge: 6
Registriert: So 17. Mai 2015, 15:57

Re: WASD Packet Moving

Beitragvon Letsplaybar » So 1. Mai 2016, 20:32

hier der code worüber du gesendete Packete bewegen kannst:
Code: Alles auswählen
  1. public void move(double x, double y, double z){
  2.       PacketPlayOutRelEntityMove packet = new PacketPlayOutRelEntityMove(entityid, (byte)toFixedPointNumber(x), (byte)toFixedPointNumber(y), (byte)toFixedPointNumber(z),true);
  3.        for(Player p : Bukkit.getOnlinePlayers()){
  4.               ((CraftPlayer)p).getHandle().playerConnection.sendPacket(packet);
  5.            }
  6.    }
  7.    
  8.    
  9.    public void look(float yaw, float pitch){
  10.       PacketPlayOutEntityLook packet = new PacketPlayOutEntityLook(entityid, toPackedByte(yaw), toPackedByte(pitch), true);
  11.        for(Player p : Bukkit.getOnlinePlayers()){
  12.               ((CraftPlayer)p).getHandle().playerConnection.sendPacket(packet);
  13.            }
  14.    }
  15.    
  16.    public void head(float yaw){
  17.       try {
  18.          PacketPlayOutEntityHeadRotation packet = new PacketPlayOutEntityHeadRotation();
  19.       set(packet, "a", entityid);
  20.       set(packet, "b", toPackedByte(yaw));
  21.        for(Player p : Bukkit.getOnlinePlayers()){
  22.               ((CraftPlayer)p).getHandle().playerConnection.sendPacket(packet);
  23.            }
  24.       } catch (Exception e) {
  25.          e.printStackTrace();
  26.       }
  27.       
  28.    }


so mit diesem Code kann man dan die Kordinate von Packet entitys ändern und auch die Blickrichtung ...
Bild
Helfe Wo ich kann.
Mein MinecraftServer: Letsplaybaro.de - Suchen Developer/Bilder

I hacked 127.0.0.1!!! :)
Benutzeravatar
Letsplaybar
 
Beiträge: 195
Registriert: Mo 1. Feb 2016, 17:21
Wohnort: Berlin

Re: WASD Packet Moving

Beitragvon Ste3et_C0st » Mo 2. Mai 2016, 12:11

Danke ich habs nun hinbekommen
Benutzeravatar
Ste3et_C0st
 
Beiträge: 6
Registriert: So 17. Mai 2015, 15:57


Zurück zu Hilfe und Support

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 21 Gäste

cron