Files
Tplus/src/main/java/net/nuggetmc/ai/utils/PlayerUtils.java

53 lines
1.5 KiB
Java
Raw Normal View History

2021-06-29 16:29:30 -05:00
package net.nuggetmc.ai.utils;
2021-07-21 13:52:21 -05:00
import net.nuggetmc.ai.TerminatorPlus;
2021-06-29 16:29:30 -05:00
import org.bukkit.GameMode;
2021-07-21 13:52:21 -05:00
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
2021-06-29 16:29:30 -05:00
public class PlayerUtils {
2021-07-21 13:52:21 -05:00
2021-07-19 17:35:28 -05:00
public static boolean isInvincible(GameMode mode) {
return mode != GameMode.SURVIVAL && mode != GameMode.ADVENTURE && mode != null;
2021-06-29 16:29:30 -05:00
}
2021-07-21 13:52:21 -05:00
private static final Set<String> USERNAME_CACHE = new HashSet<>();
public static String randomName() {
if (USERNAME_CACHE.isEmpty()) {
fillUsernameCache();
}
return MathUtils.getRandomSetElement(USERNAME_CACHE);
}
public static void fillUsernameCache() {
String file = TerminatorPlus.getInstance().getServer().getWorldContainer().getAbsolutePath();
file = file.substring(0, file.length() - 1) + "usercache.json";
JSONParser parser = new JSONParser();
try {
JSONArray array = (JSONArray) parser.parse(new FileReader(file));
for (Object obj : array) {
JSONObject jsonOBJ = (JSONObject) obj;
String username = (String) jsonOBJ.get("name");
USERNAME_CACHE.add(username);
}
}
catch (IOException | ParseException e) {
Debugger.log("Failed to fetch from the usercache.");
}
}
2021-06-29 16:29:30 -05:00
}