Decluster this epic

This commit is contained in:
Sollace 2018-07-21 15:32:55 +02:00
parent cba69ae1f5
commit e071242fd3

View file

@ -102,17 +102,23 @@ public class SkinResourceManager implements IResourceManagerReloadListener {
*/
private void loadSkinResource(@Nullable ResourceLocation res) {
if (res != null) {
inProgress.computeIfAbsent(res, r -> CompletableFuture.supplyAsync(new ImageLoader(r), executor).whenComplete((loc, t) -> {
if (loc != null) {
converted.put(res, loc);
} else {
LogManager.getLogger().warn("Errored while processing {}. Using original.", res, t);
converted.put(res, res);
}
}));
if (!inProgress.containsKey(res)) {
inProgress.put(res, scheduleConvertion(res));
}
}
}
private Future<ResourceLocation> scheduleConvertion(ResourceLocation res) {
return CompletableFuture.supplyAsync(new ImageLoader(res), executor).whenComplete((result, error) -> {
if (result == null) {
result = res;
LogManager.getLogger().warn("Errored while processing {}. Using original.", res, error);
}
converted.put(res, result);
});
}
@Nullable
private Skin getSkin(GameProfile profile) {
Skin skin = uuidSkins.get(profile.getId());