anvillib/common/src/main/java/net/anvilcraft/anvillib/cosmetics/remote/thread/CosmeticLoaderThread.java
2023-11-24 21:20:58 +01:00

35 lines
1.1 KiB
Java

package net.anvilcraft.anvillib.cosmetics.remote.thread;
import java.io.IOException;
import java.net.URI;
import net.anvilcraft.anvillib.AnvilLib;
import net.anvilcraft.anvillib.cosmetics.remote.RemoteCosmetic;
import net.anvilcraft.anvillib.cosmetics.remote.RemoteCosmeticProvider;
import net.anvilcraft.anvillib.cosmetics.remote.model.CosmeticData;
public class CosmeticLoaderThread extends AbstractFileDownloaderThread {
private URI url;
private RemoteCosmeticProvider provider;
public CosmeticLoaderThread(URI url, RemoteCosmeticProvider provider) {
super("0.2.0");
this.url = url;
this.provider = provider;
}
@Override
public void run() {
try {
CosmeticData data = this.loadJson(url, CosmeticData.class);
if (data == null)
throw new IOException("Cosmetic not found");
RemoteCosmetic cosmetic = new RemoteCosmetic(data.id);
this.provider.cosmetics.put(data.id, cosmetic);
this.provider.loadAssets(data, cosmetic);
} catch (IOException e) {
AnvilLib.LOGGER.error("Can't load cosmetic", e);
}
}
}