[Anleitung] Spieler Nicken - Name und Skin ändern - 1.8.8

Hier könnt ihr anderen Leuten helfen, indem ihr Anleitungen oder praktische Codesegmente zur Verfügung stellt.

Re: [Anleitung] Spieler Nicken - Name und Skin ändern - 1.8+

Beitragvon Twister_21 » Mi 14. Jan 2015, 15:43

Also meine Klassen sehen jetzt so aus:

- UUIDFetcher:
http://hastebin.com/rajiqiluco.php
- GameProfileBuilder
http://hastebin.com/ehirusolih.php
- Nick-Klasse:
http://hastebin.com/ketitohoxa.avrasm
- eigene PlayerInfoData-Klasse:
http://hastebin.com/ocuziyitot.avrasm
- eigene EnumPlayerInfoAction-Klasse:
http://hastebin.com/asamiripab.java

Und der Fehler:
http://hastebin.com/dokisepece.avrasm

Weiß nicht, ob ich da alles richtig importiert habe. Brauche das ja für die ProtocolHack-Variante von Spigot. Die Klassen "EnumPlayerInfoAction" und "PlayerInfoData" musste ich aus der 1.8 kopieren, weil es die in der ProtocolHack-Variante noch nicht gibt.
Mit freundlichen Grüßen
Twister21
Benutzeravatar
Twister_21
 
Beiträge: 652
Registriert: Mi 11. Jun 2014, 05:51
Wohnort: Deutschland

Re: [Anleitung] Spieler Nicken - Name und Skin ändern - 1.8+

Beitragvon Jofkos » Mi 14. Jan 2015, 21:43

Twister_21 hat geschrieben:Also meine Klassen sehen jetzt so aus:

- UUIDFetcher:
http://hastebin.com/rajiqiluco.php
- GameProfileBuilder
http://hastebin.com/ehirusolih.php
- Nick-Klasse:
http://hastebin.com/ketitohoxa.avrasm
- eigene PlayerInfoData-Klasse:
http://hastebin.com/ocuziyitot.avrasm
- eigene EnumPlayerInfoAction-Klasse:
http://hastebin.com/asamiripab.java

Und der Fehler:
http://hastebin.com/dokisepece.avrasm

Weiß nicht, ob ich da alles richtig importiert habe. Brauche das ja für die ProtocolHack-Variante von Spigot. Die Klassen "EnumPlayerInfoAction" und "PlayerInfoData" musste ich aus der 1.8 kopieren, weil es die in der ProtocolHack-Variante noch nicht gibt.


Die API hat sich seit der ProtocolHack version ganz schön verändert. Hier für die ProtocolHack version:
Code: Alles auswählen
  1.    public PacketPlayOutNamedEntitySpawn getSpawnPacket(Player origin, GameProfile toNick) {
  2.       try {
  3.          PacketPlayOutNamedEntitySpawn packet = new PacketPlayOutNamedEntitySpawn(((CraftPlayer) origin).getHandle());
  4.          Reflect.set(packet, "b", toNick);
  5.          return packet;
  6.       } catch (Exception e) {
  7.          e.printStackTrace();
  8.       }
  9.       return null;
  10.    }
  11.    
  12.    @SuppressWarnings("deprecation")
  13.    public PacketPlayOutPlayerInfo getInfoPacket(Player origin, GameProfile toNick) {
  14.       try {
  15.          PacketPlayOutPlayerInfo packet = new PacketPlayOutPlayerInfo();
  16.          Reflecter reflect = new Reflecter(packet);
  17.          
  18.          reflect.set("action", 0);
  19.          reflect.set("username", toNick.getName());
  20.          reflect.set("player", toNick);
  21.          
  22.          reflect.set("ping", ((CraftPlayer) origin).getHandle().ping);
  23.          reflect.set("gamemode", origin.getGameMode().getValue());
  24.          
  25.          return packet;
  26.       } catch (Exception e) {
  27.          e.printStackTrace();
  28.       }
  29.       return null;
  30.    }
  31.    
  32.    public PacketPlayOutPlayerInfo getRemovePacket(GameProfile player) {
  33.       try {
  34.          PacketPlayOutPlayerInfo packet = new PacketPlayOutPlayerInfo();
  35.          Reflecter reflect = new Reflecter(packet);
  36.          
  37.          reflect.set("action", 4);
  38.          reflect.set("username", player.getName());
  39.          reflect.set("player", player);
  40.          
  41.          return packet;
  42.       } catch (Exception e) {
  43.          e.printStackTrace();
  44.       }
  45.       return null;
  46.    }

Reflect.set (auch beim Reflecter) setzt einfach die Felder.
Jofkos

...........

..Bild
Benutzeravatar
Jofkos
 
Beiträge: 1537
Registriert: So 16. Jun 2013, 22:45

Re: [Anleitung] Spieler Nicken - Name und Skin ändern - 1.8+

Beitragvon Twister_21 » Do 15. Jan 2015, 06:54

Und wo/wie muss ich das in die Klasse einsetzen?
Mit freundlichen Grüßen
Twister21
Benutzeravatar
Twister_21
 
Beiträge: 652
Registriert: Mi 11. Jun 2014, 05:51
Wohnort: Deutschland

Re: [Anleitung] Spieler Nicken - Name und Skin ändern - 1.8+

Beitragvon Twister_21 » Fr 16. Jan 2015, 17:40

#push
Mit freundlichen Grüßen
Twister21
Benutzeravatar
Twister_21
 
Beiträge: 652
Registriert: Mi 11. Jun 2014, 05:51
Wohnort: Deutschland

Re: [Anleitung] Spieler Nicken - Name und Skin ändern - 1.8+

Beitragvon Jofkos » Fr 16. Jan 2015, 18:14

Da wo die packets gesendet werden.
Jofkos

...........

..Bild
Benutzeravatar
Jofkos
 
Beiträge: 1537
Registriert: So 16. Jun 2013, 22:45

Re: [Anleitung] Spieler Nicken - Name und Skin ändern - 1.8+

Beitragvon Twister_21 » Fr 16. Jan 2015, 18:29

Kannst du das bitte noch mal als ganze Klasse für die ProtocolHack-Variante machen? Sonst mache ich da noch durch das falsche einsetzen Fehler.
Mit freundlichen Grüßen
Twister21
Benutzeravatar
Twister_21
 
Beiträge: 652
Registriert: Mi 11. Jun 2014, 05:51
Wohnort: Deutschland

Re: [Anleitung] Spieler Nicken - Name und Skin ändern - 1.8+

Beitragvon Twister_21 » Sa 17. Jan 2015, 16:10

Es fehlen zwar wieder 2 Stunden, aber ich will den Server gerne 1.8 kompatibel machen.
#push
Mit freundlichen Grüßen
Twister21
Benutzeravatar
Twister_21
 
Beiträge: 652
Registriert: Mi 11. Jun 2014, 05:51
Wohnort: Deutschland

Re: [Anleitung] Spieler Nicken - Name und Skin ändern - 1.8+

Beitragvon Jofkos » Sa 17. Jan 2015, 17:57

Twister_21 hat geschrieben:Es fehlen zwar wieder 2 Stunden, aber ich will den Server gerne 1.8 kompatibel machen.
#push

Ich versteh nicht was dir fehlt. Ich hab dir die Teile gegeben, jetzt musst du sie nur noch zusammenfügen. Wenn du das nicht schaffts solltest du die nochmal zu den Java-Grundsätzen begeben, oder deine Frage weniger allgemein formulieren.
Jofkos

...........

..Bild
Benutzeravatar
Jofkos
 
Beiträge: 1537
Registriert: So 16. Jun 2013, 22:45

Re: [Anleitung] Spieler Nicken - Name und Skin ändern - 1.8+

Beitragvon Doctorintro » Mo 19. Jan 2015, 20:15

Ich hab dazu mal drei fragen:
1: Bekomme ich dann mit p.getName() den genickten oder den echten namen?
2: kann man den Spieler auch wieder unnicken oder muss ich dafür den namen speichern und ihn dann nochmal nicken?
Benutzeravatar
Doctorintro
 
Beiträge: 97
Registriert: Sa 19. Apr 2014, 14:38

Re: [Anleitung] Spieler Nicken - Name und Skin ändern - 1.8+

Beitragvon ShortByte » Mo 19. Jan 2015, 20:29

Ich habe das Problem wenn ich den Spieler nick(p, p.getName()); mache, das der vorherige Nickname noch in der Tablist ist.
Benutzeravatar
ShortByte
 
Beiträge: 10
Registriert: Fr 16. Jan 2015, 13:39

VorherigeNächste

Zurück zu Anleitungen

Wer ist online?

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