Advertisement
Guest User

Untitled

a guest
May 26th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. SkinGrabber skinGrabber = new SkinGrabber((Player) sender);
  2.  
  3. skinGrabber.setCallback((skinData, bufferedImage) -> {
  4.  
  5. BufferedImage armor = null;
  6. try {
  7. armor = ImageIO.read(new File(this.getDataFolder(), "armor.png"));
  8.  
  9. ImageIO.write(bufferedImage, "png", new File(this.getDataFolder(), "original_skin.png"));
  10. } catch (IOException exception) {
  11. exception.printStackTrace();
  12. return;
  13. }
  14.  
  15. ImageMerger imageMerger = new ImageMerger(bufferedImage, armor);
  16.  
  17. MergedImage mergedImage = imageMerger.merge();
  18.  
  19. mergedImage.toFile(this.getDataFolder(), "new_skin");
  20.  
  21. this.mineskinClient.generateUpload(new File(this.getDataFolder(), "new_skin.png"), skin -> {
  22.  
  23.  
  24. GameProfile gameProfile = new GameProfile(((Player) sender).getUniqueId(), sender.getName());
  25.  
  26. gameProfile.getProperties().put("textures", new Property("textures", skin.data.texture.value, skin.data.texture.signature));
  27.  
  28. EntityPlayer entityPlayer = ((CraftPlayer) sender).getHandle();
  29.  
  30. try {
  31. Field field = entityPlayer.getClass().getSuperclass().getDeclaredField("bH");
  32. field.setAccessible(true);
  33. field.set(entityPlayer, gameProfile);
  34. } catch (NoSuchFieldException | IllegalAccessException exception) {
  35. exception.printStackTrace();
  36. }
  37. this.reload((Player) sender);
  38. });
  39.  
  40. });
  41. skinGrabber.grab(this);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement