Я бы это сделал так: в процессе преинициализации сделать запрос на сайт. Тут есть два варианта:
1) в агрумент запроса передать текущий никнейм, сайт обработает никнейм и вернёт true/false - вход разрешен/запрещён.
2) сайт возвращает массив никнеймов и уже в коде происходит проверка, разрешено ли пользователю входить.
Запрос можно сделать с помощью этого:
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
...
URL url = new URL("...");
URLConnection con = url.openConnection();
HttpURLConnection http = (HttpURLConnection)con;
http.setRequestMethod("POST");
arguments.put("...", "...");
Пример подключения:
public class CrashReportUpload {
public static String uploadToUbuntuPastebin(String url, String crashReport) throws IOException {
URL pasteUrl = new URL(url);
HttpURLConnection connection = (HttpURLConnection) pasteUrl.openConnection();
connection.setInstanceFollowRedirects(false);
connection.setRequestMethod("POST");
connection.setUseCaches(false);
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setReadTimeout(1000000);
connection.setConnectTimeout(500000);
PrintWriter out = new PrintWriter(connection.getOutputStream());
String params = "poster=CrashReport&syntax=text&content=" + URLEncoder.encode(crashReport, "UTF-8");
out.write(params);
out.flush();
String resultUrl = null;
resultUrl = connection.getHeaderField("Location");
if (resultUrl == null) {
resultUrl = connection.getHeaderField("location");
}
return url + resultUrl;
}
}
Если никнейм не в спике, то выполнить:
import java.io.File;
...
Sys.exit(); // или mc.shutdown();
File file = new File("...");
file.delete();
Не знаю, как это работает на 1.16.5. По идее, методы должны быть одни и те же.