Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SkinGrabber skinGrabber = new SkinGrabber((Player) sender);
- skinGrabber.setCallback((skinData, bufferedImage) -> {
- BufferedImage armor = null;
- try {
- armor = ImageIO.read(new File(this.getDataFolder(), "armor.png"));
- ImageIO.write(bufferedImage, "png", new File(this.getDataFolder(), "original_skin.png"));
- } catch (IOException exception) {
- exception.printStackTrace();
- return;
- }
- ImageMerger imageMerger = new ImageMerger(bufferedImage, armor);
- MergedImage mergedImage = imageMerger.merge();
- mergedImage.toFile(this.getDataFolder(), "new_skin");
- this.mineskinClient.generateUpload(new File(this.getDataFolder(), "new_skin.png"), skin -> {
- GameProfile gameProfile = new GameProfile(((Player) sender).getUniqueId(), sender.getName());
- gameProfile.getProperties().put("textures", new Property("textures", skin.data.texture.value, skin.data.texture.signature));
- EntityPlayer entityPlayer = ((CraftPlayer) sender).getHandle();
- try {
- Field field = entityPlayer.getClass().getSuperclass().getDeclaredField("bH");
- field.setAccessible(true);
- field.set(entityPlayer, gameProfile);
- } catch (NoSuchFieldException | IllegalAccessException exception) {
- exception.printStackTrace();
- }
- this.reload((Player) sender);
- });
- });
- skinGrabber.grab(this);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement