102 lines
2.6 KiB
Java
102 lines
2.6 KiB
Java
package eu.univento.core.api.player;
|
|
|
|
import eu.univento.core.Core;
|
|
import eu.univento.core.api.database.MySQL;
|
|
|
|
import java.sql.ResultSet;
|
|
import java.sql.SQLException;
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.Random;
|
|
|
|
/**
|
|
* gets nick settings for players
|
|
* @author joethei
|
|
* @version 1.1
|
|
*/
|
|
public class NickName {
|
|
|
|
/**
|
|
* nick names of players
|
|
*/
|
|
static HashMap<CustomPlayer, String> nicks = new HashMap<>();
|
|
|
|
|
|
/**
|
|
*
|
|
* @param p remove nickname from player
|
|
*/
|
|
public static void remove(CustomPlayer p) {
|
|
if (nicks.containsKey(p))
|
|
nicks.remove(p);
|
|
}
|
|
|
|
/**
|
|
* sets nick boolean
|
|
* @param p player
|
|
* @param nick boolean
|
|
* @throws ClassNotFoundException Class couldn't be found
|
|
* @throws SQLException SQL server not available or throwing error
|
|
*/
|
|
static void setNick(CustomPlayer p, boolean nick) throws SQLException, ClassNotFoundException {
|
|
MySQL sql = Core.returnSQL();
|
|
sql.openConnection();
|
|
if (nick)
|
|
sql.getConnection().createStatement().executeUpdate("UPDATE PlayerSettings SET nick = '1' WHERE ID = '" + p.getID() + "';");
|
|
else
|
|
sql.getConnection().createStatement().executeUpdate("UPDATE PlayerSettings SET nick = '0' WHERE ID = '" + p.getID() + "';");
|
|
sql.closeConnection();
|
|
}
|
|
|
|
/**
|
|
* gets if player is nicked
|
|
* @param p player
|
|
* @return true / false
|
|
* @throws ClassNotFoundException Class couldn't be found
|
|
* @throws SQLException SQL server not available or throwing error
|
|
*/
|
|
static boolean isNicked(CustomPlayer p) throws SQLException, ClassNotFoundException {
|
|
MySQL sql = Core.returnSQL();
|
|
sql.openConnection();
|
|
ResultSet rs = sql.getConnection().createStatement().executeQuery("SELECT nick FROM PlayerSettings WHERE ID = '" + p.getID() + "';");
|
|
if (rs.next()) {
|
|
return rs.getInt("nick") == 1;
|
|
}
|
|
sql.closeConnection();
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* gets nickname of player
|
|
* @param p player
|
|
* @return String
|
|
*/
|
|
static String getNick(CustomPlayer p) {
|
|
if (nicks.containsKey(p)) {
|
|
return nicks.get(p);
|
|
}else if(p.isNicked()){
|
|
nicks.put(p, getRandomNick());
|
|
return nicks.get(p);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
/**
|
|
* gets random Nickname
|
|
* @return String
|
|
*/
|
|
static String getRandomNick() {
|
|
ArrayList<String> names = new ArrayList<>();
|
|
names.add("XXKevinXX");
|
|
names.add("xxGamelcrafterxx");
|
|
names.add("LiaaamDesigns");
|
|
names.add("Firestarter88");
|
|
names.add("MatelLucario99");
|
|
names.add("Ghostcraft_No");
|
|
|
|
Random r = new Random();
|
|
int i = r.nextInt(names.size());
|
|
|
|
return names.get(i);
|
|
}
|
|
} |