From e3a496be166890c0d81cc013d0b9daaeb2ed6c6e Mon Sep 17 00:00:00 2001 From: Matthew Messinger Date: Sat, 13 Jul 2019 19:12:19 -0400 Subject: [PATCH] Make less calls to Pony.getBufferedImage() and actually close it. --- .../com/minelittlepony/client/hdskins/gui/PonyPreview.java | 4 +--- src/main/java/com/minelittlepony/client/pony/Pony.java | 7 ++++--- .../java/com/minelittlepony/client/pony/PonyManager.java | 3 +-- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/minelittlepony/client/hdskins/gui/PonyPreview.java b/src/main/java/com/minelittlepony/client/hdskins/gui/PonyPreview.java index 78f1a872..5f2511dd 100644 --- a/src/main/java/com/minelittlepony/client/hdskins/gui/PonyPreview.java +++ b/src/main/java/com/minelittlepony/client/hdskins/gui/PonyPreview.java @@ -1,10 +1,8 @@ package com.minelittlepony.client.hdskins.gui; -import net.minecraft.client.texture.MissingSprite; import net.minecraft.util.Identifier; import com.minelittlepony.client.MineLittlePony; -import com.minelittlepony.client.pony.Pony; import com.minelittlepony.hdskins.dummy.DummyPlayer; import com.minelittlepony.hdskins.dummy.PlayerPreview; import com.minelittlepony.pony.IPony; @@ -37,7 +35,7 @@ class PonyPreview extends PlayerPreview { protected DummyPlayer ponify(DummyPlayer human, DummyPlayer pony) { Identifier loc = human.getTextures().get(Type.SKIN).getId(); - if (loc == null || Pony.getBufferedImage(loc) == MissingSprite.getMissingSpriteTexture().getImage()) { + if (loc == null) { return pony; } diff --git a/src/main/java/com/minelittlepony/client/pony/Pony.java b/src/main/java/com/minelittlepony/client/pony/Pony.java index 54397646..42e07506 100644 --- a/src/main/java/com/minelittlepony/client/pony/Pony.java +++ b/src/main/java/com/minelittlepony/client/pony/Pony.java @@ -71,8 +71,9 @@ public class Pony implements IPony { return data; } - NativeImage ponyTexture = getBufferedImage(resource); - return checkSkin(ponyTexture); + try (NativeImage ponyTexture = getBufferedImage(resource)) { + return checkSkin(ponyTexture); + } } @Override @@ -102,7 +103,7 @@ public class Pony implements IPony { return null; } - public static NativeImage getBufferedImage(@Nullable Identifier resource) { + private static NativeImage getBufferedImage(@Nullable Identifier resource) { if (resource != null) { try { Texture texture = MinecraftClient.getInstance().getTextureManager().getTexture(resource); diff --git a/src/main/java/com/minelittlepony/client/pony/PonyManager.java b/src/main/java/com/minelittlepony/client/pony/PonyManager.java index 3f44f915..0c0ef115 100644 --- a/src/main/java/com/minelittlepony/client/pony/PonyManager.java +++ b/src/main/java/com/minelittlepony/client/pony/PonyManager.java @@ -20,7 +20,6 @@ import net.fabricmc.fabric.api.resource.IdentifiableResourceReloadListener; import net.minecraft.client.MinecraftClient; import net.minecraft.client.network.AbstractClientPlayerEntity; import net.minecraft.client.network.PlayerListEntry; -import net.minecraft.client.texture.MissingSprite; import net.minecraft.client.util.DefaultSkinHelper; import net.minecraft.resource.Resource; import net.minecraft.resource.ResourceManager; @@ -99,7 +98,7 @@ public class PonyManager implements IPonyManager, IdentifiableResourceReloadList Identifier skin = playerInfo.getSkinTexture(); UUID uuid = playerInfo.getProfile().getId(); - if (Pony.getBufferedImage(skin) == MissingSprite.getMissingSpriteTexture().getImage()) { + if (skin == null) { return getDefaultPony(uuid); }