2023-11-19 15:44:13 +01:00
|
|
|
package net.anvilcraft.anvillib.cosmetics.remote.thread;
|
|
|
|
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.net.URI;
|
|
|
|
|
|
|
|
import net.anvilcraft.anvillib.cosmetics.remote.RemoteCosmeticProvider;
|
|
|
|
import net.anvilcraft.anvillib.cosmetics.remote.model.PlayerData;
|
|
|
|
|
2023-11-24 21:20:58 +01:00
|
|
|
public class PlayerCosmeticLoaderThread extends AbstractFileDownloaderThread {
|
2023-11-19 15:44:13 +01:00
|
|
|
private URI config;
|
|
|
|
private RemoteCosmeticProvider provider;
|
|
|
|
|
|
|
|
public PlayerCosmeticLoaderThread(URI config, RemoteCosmeticProvider provider) {
|
|
|
|
super("0.2.0");
|
|
|
|
this.config = config;
|
|
|
|
this.provider = provider;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void run() {
|
|
|
|
try {
|
|
|
|
PlayerData player = this.loadJson(config, PlayerData.class);
|
2023-11-24 18:52:05 +01:00
|
|
|
if (player == null)
|
|
|
|
return;
|
2023-11-19 15:44:13 +01:00
|
|
|
for (String id : player.cosmetics) {
|
|
|
|
this.provider.loadCosmetic(id);
|
|
|
|
this.provider.playerCosmetics.get(player.uuid).add(id);
|
|
|
|
}
|
2023-11-20 20:48:07 +01:00
|
|
|
if (player.cape != null) {
|
|
|
|
this.provider.loadCape(player.cape);
|
|
|
|
this.provider.playerCapes.put(player.uuid, player.cape);
|
|
|
|
}
|
2023-11-24 21:20:58 +01:00
|
|
|
|
|
|
|
this.provider.markDirty();
|
2023-11-19 15:44:13 +01:00
|
|
|
} catch (IOException e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|