@EventHandler
public void onAsyncPrelogin(AsyncPlayerPreLoginEvent event) {
InetAddress address = event.getAddress();
String name = event.getName();
String uuid = event.getUniqueId().toString();
String ip = PunishmentManager.parseIP(address);
PunishmentManager.registerIP(event.getUniqueId(), ip);
/*
* Check if user has a ban in effect matching either UUID or IP
*/
AutoCloseable[] ac_dub = SQLManager.prepare("SELECT * FROM punishments WHERE uuid = ? OR ip = ?");
try {
PreparedStatement request_punishment_status = (PreparedStatement) ac_dub[0];
request_punishment_status.setString(1, uuid);
request_punishment_status.setString(2, ip);
AutoCloseable[] ac_trip = SQLManager.executeQuery(request_punishment_status);
ResultSet rs = (ResultSet) ac_trip[0];
while (rs.next()) {
Punishment pun = new Punishment();
pun.load(rs);
if (pun.isValid()) {
if (pun.type == PunishmentType.BAN || pun.type == PunishmentType.IPBAN) {
System.out.println("Kicking " + name + " for active ban.");
event.disallow(Result.KICK_OTHER, pun.getReason());
} else if (pun.type == PunishmentType.MUTE) {
muted_byUUID.put(uuid, pun);
}
}
}
SQLManager.close(ac_dub);
SQLManager.close(ac_trip);
} catch (Exception e) {
e.printStackTrace();
}
}
PunishmentManager.java 文件源码
java
阅读 23
收藏 0
点赞 0
评论 0
项目:ZentrelaCore
作者:
评论列表
文章目录