diff --git a/src/main/java/com/mineblock11/skinshuffle/client/skin/FileBackedSkin.java b/src/main/java/com/mineblock11/skinshuffle/client/skin/FileBackedSkin.java index 3fcf1cf..4d2b074 100644 --- a/src/main/java/com/mineblock11/skinshuffle/client/skin/FileBackedSkin.java +++ b/src/main/java/com/mineblock11/skinshuffle/client/skin/FileBackedSkin.java @@ -37,12 +37,11 @@ protected Object getTextureUniqueness() { @Override protected @Nullable AbstractTexture loadTexture(Runnable completionCallback) { try (var inputStream = Files.newInputStream(getFile())) { - var image = LegacySkinConverter.processTexture(NativeImage.read(NativeImage.Format.RGBA, inputStream)); - - var texture = new NativeImageBackedTexture(image); - - completionCallback.run(); - return texture; + try (var image = LegacySkinConverter.processTexture(NativeImage.read(NativeImage.Format.RGBA, inputStream))) { + var texture = new NativeImageBackedTexture(image); + completionCallback.run(); + return texture; + } } catch (Exception e) { SkinShuffle.LOGGER.warn("Failed to load skin from file: " + getFile(), e); return null; diff --git a/src/main/java/com/mineblock11/skinshuffle/util/LegacySkinConverter.java b/src/main/java/com/mineblock11/skinshuffle/util/LegacySkinConverter.java index bd0bfe3..feba877 100644 --- a/src/main/java/com/mineblock11/skinshuffle/util/LegacySkinConverter.java +++ b/src/main/java/com/mineblock11/skinshuffle/util/LegacySkinConverter.java @@ -23,6 +23,10 @@ public class LegacySkinConverter { * @return The converted image. */ public static NativeImage processTexture(NativeImage image) { + if (image == null) { + return image; + } + int imageHeight = image.getHeight(); int imageWidth = image.getWidth();