[UtilKlasse] GameProfileFetcher - GameProfile mit Skin/Cape

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

Re: Komplettes GameProfile fetchen (mit Skin & Cape)

Beitragvon ilouHD » Di 18. Nov 2014, 16:29

Ich würde sagen, bei CapeURL null
Bild
Benutzeravatar
ilouHD
 
Beiträge: 1733
Registriert: Do 9. Jan 2014, 14:49

Re: Komplettes GameProfile fetchen (mit Skin & Cape)

Beitragvon Jofkos » Di 18. Nov 2014, 16:38

capeURL ist optional. Du kannst es einfach weglassen.
Jofkos

...........

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

Re: Komplettes GameProfile fetchen (mit Skin & Cape)

Beitragvon ImGameboy » Di 18. Nov 2014, 17:20

Nice, mit der neuen Version des Fetchers geht es jetzt auch bei mir :D
Danke, Jofkos!
Lückenstopfer ^^
Benutzeravatar
ImGameboy
 
Beiträge: 210
Registriert: Mi 17. Sep 2014, 15:25

Re: Komplettes GameProfile fetchen (mit Skin & Cape)

Beitragvon Sep2703 » Fr 12. Dez 2014, 20:04

Ich habe mal eine Frage:
Wenn man in die GameProfile.class geht, sind da ja ein paar Membervariablen:
  • legacity (boolean)
  • id (UUID)
  • name (String)
  • properties (PropertyMap)
Nun ... ich möchte an die SkinURL rankommen bzw. diese setzen.
Die muss sich ja scheinbar irgendwo in der PropertyMap verstecken.
Ich möchte nicht die Methode nutzen, so wie Jofkos uns sie hier zur Verfügung stellt, weil ich selber gerne einmal verstehen möchte, wie genau sich dieses GameProfile zusammensetzt.

Weiß jemand genau, welche Klasse ich da ansteuern muss?

Würde mich sehr über etwas Hilfe freuen.
Du möchtest programmieren lernen oder dein Bukkit-/Spigot-Wissen erweitern?
Hier habe ich für dich kostenlose Tutorials: https://youtube.com/janhektor
Benutzeravatar
Sep2703
 
Beiträge: 677
Registriert: Mi 8. Jan 2014, 15:13
Wohnort: 127.0.0.1

Re: Komplettes GameProfile fetchen (mit Skin & Cape)

Beitragvon IK_Raptor » Fr 12. Dez 2014, 20:36

PropertyMap ist eine spezielle Map<String, Property>. Ein Property Objekt besitzt 3 String-Variablen: name, value und optional (kann null sein) noch signature. Diese PropertyMap im GameProfile speichert unter dem Key "textures" die Property mit dem Namen "textures" und dem Value der in Base64 codierten Skin/Cape URL.
Benutzeravatar
IK_Raptor
 
Beiträge: 609
Registriert: Mo 12. Aug 2013, 15:37

Re: Komplettes GameProfile fetchen (mit Skin & Cape)

Beitragvon Sep2703 » Fr 12. Dez 2014, 21:24

Wie genau sieht die Skin(+Cape ist wahrscheinlich erforderlich)-URL genau aus (wenn sie dekodiert ist)?
Ist das im JSON-Format, oder Plain Text?
Du möchtest programmieren lernen oder dein Bukkit-/Spigot-Wissen erweitern?
Hier habe ich für dich kostenlose Tutorials: https://youtube.com/janhektor
Benutzeravatar
Sep2703
 
Beiträge: 677
Registriert: Mi 8. Jan 2014, 15:13
Wohnort: 127.0.0.1

Re: Komplettes GameProfile fetchen (mit Skin & Cape)

Beitragvon Jofkos » Fr 12. Dez 2014, 21:34

Sep2703 hat geschrieben:Wie genau sieht die Skin(+Cape ist wahrscheinlich erforderlich)-URL genau aus (wenn sie dekodiert ist)?
Ist das im JSON-Format, oder Plain Text?
Ich will nichts sagen, aber es steht im ersten Post ;)
Jofkos hat geschrieben:In Minecraft 1.8 wird der Skin mehr oder weniger vom Server gesendet.
In vielen Packets, die z.B. den Spieler spawnen oder ihn zu Tab-Liste hinzufügen wird ein GameProfile gesendet.
Ab Minecraft 1.8 steht in diesem Profil ein Link zu Textur drinnen, in Base64 kodiert.
Das sieht dann z.B. so aus:
Code: Alles auswählen
  1. eyJ0aW1lc3RhbXAiOjE0MTYxNjc5NDExMzQsInByb2ZpbGVJZCI6IjA2OWE3OWY0NDRlOTQ3MjZhNWJlZmNhOTBlMzhhYWY1IiwicHJvZmlsZU5hbWUiOiJOb3RjaCIsImlzUHVibGljIjp0cnVlLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTExNmU2OWE4NDVlMjI3ZjdjYTFmZGRlOGMzNTdjOGM4MjFlYmQ0YmE2MTkzODJlYTRhMWY4N2Q0YWU5NCJ9LCJDQVBFIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2Y2ODhlMGU2OTliM2Q5ZmU0NDhiNWJiNTBhM2EyODhmOWM1ODk3NjJiM2RhZTgzMDg4NDIxMjJkY2I4MSJ9fX0=

Decodiert man diesen Code (z.B. auf base64decode.org), erhält man das:
Code: Alles auswählen
  1. {
  2.   "timestamp": 1416167941134,
  3.   "profileId": "069a79f444e94726a5befca90e38aaf5",
  4.   "profileName": "Notch",
  5.   "isPublic": true,
  6.   "textures": {
  7.     "SKIN": {
  8.       "url": "http://textures.minecraft.net/texture/a116e69a845e227f7ca1fdde8c357c8c821ebd4ba619382ea4a1f87d4ae94"
  9.     },
  10.     "CAPE": {
  11.       "url": "http://textures.minecraft.net/texture/3f688e0e699b3d9fe448b5bb50a3a288f9c589762b3dae8308842122dcb81"
  12.     }
  13.   }
  14. }
Man sieht hier einmal einen Link zum Skin, und ein Link zum Cape. Ich habe jetzt hier als Beispiel Notch genommen, er hat ein Mojang Cape.
Jofkos

...........

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

Re: Komplettes GameProfile fetchen (mit Skin & Cape)

Beitragvon Sep2703 » Sa 13. Dez 2014, 12:50

Achso, das komplette.
Ich dachte, man könnte nur den Skin oder nur das Cape setzen.
Danke!
Du möchtest programmieren lernen oder dein Bukkit-/Spigot-Wissen erweitern?
Hier habe ich für dich kostenlose Tutorials: https://youtube.com/janhektor
Benutzeravatar
Sep2703
 
Beiträge: 677
Registriert: Mi 8. Jan 2014, 15:13
Wohnort: 127.0.0.1

Re: Komplettes GameProfile fetchen (mit Skin & Cape)

Beitragvon zwoerni » Sa 13. Dez 2014, 16:07

Das Problem was ich jetzt aktuell habe ist, dass in der 1.8 das Field 'b' im PacketPlayOutNamedEntitySpawn kein GameProfile sondern eine UUID ist.
Benutzeravatar
zwoerni
 
Beiträge: 25
Registriert: Mo 15. Sep 2014, 15:20
Wohnort: Halle (Saale) - Sachsen Anhalt

Re: Komplettes GameProfile fetchen (mit Skin & Cape)

Beitragvon Jofkos » Mo 5. Jan 2015, 23:10

Update:
  • CacheTime veränderbar gemacht
  • JavaDocs hinzugefügt
Jofkos

...........

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

VorherigeNächste

Zurück zu Anleitungen

Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 3 Gäste

cron