58 lines
1.3 KiB
Java
58 lines
1.3 KiB
Java
package de.pauljako.cosmeticserver;
|
|
|
|
import de.craftsblock.craftscore.json.Json;
|
|
import de.craftsblock.craftscore.json.JsonParser;
|
|
import de.craftsblock.craftsnet.addon.Addon;
|
|
import de.craftsblock.craftsnet.api.Handler;
|
|
|
|
import java.io.File;
|
|
|
|
public class CosmeticServer extends Addon {
|
|
|
|
|
|
private static CosmeticServer instance;
|
|
|
|
private Json serverCosmetics;
|
|
|
|
private Thread thread;
|
|
|
|
@Override
|
|
public void onEnable() {
|
|
|
|
instance = this;
|
|
|
|
File assets = new File(getDataFolder(), "assets");
|
|
assets.mkdirs();
|
|
|
|
File file = new File(getDataFolder(), "cosmetics.json");
|
|
serverCosmetics = JsonParser.parse(file);
|
|
|
|
routeRegistry().share("/v1/cosmetic/assets", assets);
|
|
|
|
CosmeticSocket socket = new CosmeticSocket();
|
|
routeRegistry().register((Handler) socket);
|
|
listenerRegistry().register(socket);
|
|
new HeartbeatThread();
|
|
}
|
|
|
|
@Override
|
|
public void onDisable() {
|
|
try {
|
|
thread.interrupt();
|
|
thread.join(15);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
instance = null;
|
|
|
|
}
|
|
|
|
public Json getServerCosmetics() {
|
|
return serverCosmetics;
|
|
}
|
|
|
|
public static CosmeticServer instance() {
|
|
return instance;
|
|
}
|
|
}
|