Update SkinProvider.java
Instead of calling the scale method 3 times, just used a cached scaled image
@@ -162,6 +162,7 @@ public class SkinProvider {
private static byte[] requestImage(String imageUrl, boolean cape) throws Exception {
BufferedImage image = ImageIO.read(new URL(imageUrl));
+ BufferedImage scale = scale(image);
Geyser.getLogger().debug("Downloaded " + imageUrl);
if (cape && image.getWidth() <= 64) {
@@ -174,7 +175,7 @@ public class SkinProvider {
else if(cape && image.getWidth() >= 64 && image.getWidth() <= 128) {
BufferedImage newImage = new BufferedImage(64, 32, BufferedImage.TYPE_INT_RGB);
Graphics g = newImage.createGraphics();
- g.drawImage(scale(image), 0, 0, scale(image).getWidth(), scale(image).getHeight(), null);
+ g.drawImage(scale, 0, 0, scale.getWidth(), scale.getHeight(), null);
g.dispose();
image = newImage;
}
