1414import protocolsupportpocketstuff .api .util .PocketPacketListener ;
1515import protocolsupportpocketstuff .packet .handshake .ClientLoginPacket ;
1616import protocolsupportpocketstuff .packet .play .SkinPacket ;
17+ import protocolsupportpocketstuff .util .PacketUtils ;
1718import protocolsupportpocketstuff .util .StuffUtils ;
1819
1920public class PeToPcProvider implements PocketPacketListener , Listener {
@@ -27,23 +28,24 @@ public void onConnect(Connection connection, ClientLoginPacket packet) {
2728 String skinData = packet .getJsonPayload ().get ("SkinData" ).getAsString ();
2829 byte [] skinByteArray = Base64 .getDecoder ().decode (skinData );
2930 boolean slim = packet .getJsonPayload ().get ("SkinGeometryName" ).getAsString ().equals ("geometry.humanoid.customSlim" );
31+ plugin .debug ("SLIM: " + slim + " DATA LENGTH: " + skinByteArray .length );
3032 new MineskinThread (skinByteArray , slim , (skindata ) -> {
33+ //TODO rewrite when PS properties event is more sane.
3134 if (connection .getPlayer () == null ) {
3235 plugin .debug ("MEta added!" );
3336 connection .addMetadata (StuffUtils .APPLY_SKIN_ON_JOIN_KEY , skindata );
34- } else {
37+ }
38+ new PacketUtils .RunWhenOnline (connection , () -> {
3539 plugin .debug ("Dynamic skin update!" );
3640 SkinUtils .updateSkin (connection .getPlayer (), skinByteArray , skindata , slim );
37- }
41+ }, 2 ). start ();
3842 }).start ();
3943 }
4044
4145 @ PocketPacketHandler
4246 public void onSkinChange (Connection connection , SkinPacket packet ) {
43- //boolean slim = packet.getSkinName().equals("skin.Standard.CustomSlim");
4447 System .out .println (packet .getGeometryId ());
4548 boolean slim = packet .getGeometryId ().equals ("geometry.humanoid.customSlim" );
46- plugin .debug (slim + "sdkfjsdlfj" );
4749 new MineskinThread (packet .getSkinData (), slim , (skindata ) -> {
4850 plugin .debug ("Dynamic skin update!" );
4951 SkinUtils .updateSkin (connection .getPlayer (), packet .getSkinData (), skindata , slim );
0 commit comments