diff --git a/src/main/java/com/minelittlepony/client/gui/hdskins/ClientPonyConfigHDSkins.java b/src/main/java/com/minelittlepony/client/gui/hdskins/ClientPonyConfigHDSkins.java new file mode 100644 index 00000000..74ae91a3 --- /dev/null +++ b/src/main/java/com/minelittlepony/client/gui/hdskins/ClientPonyConfigHDSkins.java @@ -0,0 +1,18 @@ +package com.minelittlepony.client.gui.hdskins; + +import com.minelittlepony.client.settings.ClientPonyConfig; +import com.minelittlepony.hdskins.HDSkins; +import com.minelittlepony.settings.PonyLevel; + +class ClientPonyConfigHDSkins extends ClientPonyConfig { + + @Override + public void setPonyLevel(PonyLevel ponylevel) { + // only trigger reloads when the value actually changes + if (ponylevel != getPonyLevel()) { + HDSkins.getInstance().getSkinParser().execute(); + } + + super.setPonyLevel(ponylevel); + } +} \ No newline at end of file diff --git a/src/main/java/com/minelittlepony/client/gui/hdskins/MineLPHDSkins.java b/src/main/java/com/minelittlepony/client/gui/hdskins/MineLPHDSkins.java index 72586e8f..2b735f5f 100644 --- a/src/main/java/com/minelittlepony/client/gui/hdskins/MineLPHDSkins.java +++ b/src/main/java/com/minelittlepony/client/gui/hdskins/MineLPHDSkins.java @@ -5,6 +5,7 @@ import net.minecraft.client.MinecraftClient; import net.minecraft.util.Identifier; import com.minelittlepony.client.MineLPClient; +import com.minelittlepony.client.settings.ClientPonyConfig; import com.minelittlepony.client.LegacySkinConverter; import com.minelittlepony.hdskins.HDSkins; import com.minelittlepony.hdskins.ISkinCacheClearListener; @@ -67,6 +68,11 @@ class MineLPHDSkins extends MineLPClient implements ISkinCacheClearListener { manager.setSkinsGui(GuiSkinsMineLP::new); } + @Override + protected ClientPonyConfig createConfig() { + return new ClientPonyConfigHDSkins(); + } + @Override public Map getProfileTextures(@Nullable GameProfile profile) { return HDSkins.getInstance().getTextures(profile);