diff --git a/src/hdskins/java/com/voxelmodpack/hdskins/skins/LegacySkinServer.java b/src/hdskins/java/com/voxelmodpack/hdskins/skins/LegacySkinServer.java index 94b99831..974aa934 100644 --- a/src/hdskins/java/com/voxelmodpack/hdskins/skins/LegacySkinServer.java +++ b/src/hdskins/java/com/voxelmodpack/hdskins/skins/LegacySkinServer.java @@ -45,20 +45,20 @@ public class LegacySkinServer implements SkinServer { @Override public CompletableFuture getPreviewTextures(GameProfile profile) { - try { + return CallableFutures.asyncFailableFuture(() -> { SkinServer.verifyServerConnection(Minecraft.getMinecraft().getSession(), SERVER_ID); - } catch (Exception e) { - return CallableFutures.failedFuture(e); - } - if (Strings.isNullOrEmpty(gateway)) { - return CallableFutures.failedFuture(gatewayUnsupported()); - } - Map map = new EnumMap<>(MinecraftProfileTexture.Type.class); - for (MinecraftProfileTexture.Type type : MinecraftProfileTexture.Type.values()) { - map.put(type, new MinecraftProfileTexture(getPath(gateway, type, profile), null)); - } - return CompletableFuture.completedFuture(TexturesPayloadBuilder.createTexturesPayload(profile, map)); + if (Strings.isNullOrEmpty(gateway)) { + throw gatewayUnsupported(); + } + + Map map = new EnumMap<>(MinecraftProfileTexture.Type.class); + for (MinecraftProfileTexture.Type type : MinecraftProfileTexture.Type.values()) { + map.put(type, new MinecraftProfileTexture(getPath(gateway, type, profile), null)); + } + + return TexturesPayloadBuilder.createTexturesPayload(profile, map); + }, HDSkinManager.skinDownloadExecutor); } @Override