mirror of
https://github.com/plexusorg/Plex.git
synced 2024-12-22 17:17:37 +00:00
make bans and kicks not take too long
This commit is contained in:
parent
bb019abd89
commit
cc9967f9c2
@ -65,7 +65,7 @@ public class PlexPlayer
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public PlexPlayer(UUID playerUUID, boolean loadExtraData)
|
public PlexPlayer(UUID playerUUID, boolean loadPunishments)
|
||||||
{
|
{
|
||||||
this.uuid = playerUUID;
|
this.uuid = playerUUID;
|
||||||
this.name = "";
|
this.name = "";
|
||||||
@ -78,7 +78,7 @@ public class PlexPlayer
|
|||||||
|
|
||||||
this.coins = 0;
|
this.coins = 0;
|
||||||
|
|
||||||
if (loadExtraData)
|
if (loadPunishments)
|
||||||
{
|
{
|
||||||
this.loadPunishments();
|
this.loadPunishments();
|
||||||
// this.permissions.addAll(Plex.get().getSqlPermissions().getPermissions(this.uuid));
|
// this.permissions.addAll(Plex.get().getSqlPermissions().getPermissions(this.uuid));
|
||||||
|
@ -3,6 +3,7 @@ package dev.plex.punishment;
|
|||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.GsonBuilder;
|
import com.google.gson.GsonBuilder;
|
||||||
import dev.plex.Plex;
|
import dev.plex.Plex;
|
||||||
|
import dev.plex.cache.DataUtils;
|
||||||
import dev.plex.storage.annotation.SQLTable;
|
import dev.plex.storage.annotation.SQLTable;
|
||||||
import dev.plex.util.MojangUtils;
|
import dev.plex.util.MojangUtils;
|
||||||
import dev.plex.util.PlexUtils;
|
import dev.plex.util.PlexUtils;
|
||||||
@ -48,12 +49,12 @@ public class Punishment
|
|||||||
|
|
||||||
public static Component generateBanMessage(Punishment punishment)
|
public static Component generateBanMessage(Punishment punishment)
|
||||||
{
|
{
|
||||||
return PlexUtils.messageComponent("banMessage", banUrl, punishment.getReason(), TimeUtils.useTimezone(punishment.getEndDate()), punishment.getPunisher() == null ? "CONSOLE" : MojangUtils.getInfo(punishment.getPunisher().toString()).getUsername());
|
return PlexUtils.messageComponent("banMessage", banUrl, punishment.getReason(), TimeUtils.useTimezone(punishment.getEndDate()), punishment.getPunisher() == null ? "CONSOLE" : Plex.get().getSqlPlayerData().getNameByUUID(punishment.getPunisher()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Component generateKickMessage(Punishment punishment)
|
public static Component generateKickMessage(Punishment punishment)
|
||||||
{
|
{
|
||||||
return PlexUtils.messageComponent("kickMessage", punishment.getReason(), punishment.getPunisher() == null ? "CONSOLE" : MojangUtils.getInfo(punishment.getPunisher().toString()).getUsername());
|
return PlexUtils.messageComponent("kickMessage", punishment.getReason(), punishment.getPunisher() == null ? "CONSOLE" : Plex.get().getSqlPlayerData().getNameByUUID(punishment.getPunisher()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Component generateIndefBanMessageWithReason(String type, String reason)
|
public static Component generateIndefBanMessageWithReason(String type, String reason)
|
||||||
|
@ -111,6 +111,38 @@ public class SQLPlayerData
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the player from cache or from the SQL database
|
||||||
|
*
|
||||||
|
* @param uuid The unique ID of the player
|
||||||
|
* @return a PlexPlayer object
|
||||||
|
* @see PlexPlayer
|
||||||
|
*/
|
||||||
|
public String getNameByUUID(UUID uuid)
|
||||||
|
{
|
||||||
|
if (Plex.get().getPlayerCache().getPlexPlayerMap().containsKey(uuid))
|
||||||
|
{
|
||||||
|
return Plex.get().getPlayerCache().getPlexPlayerMap().get(uuid).getName();
|
||||||
|
}
|
||||||
|
|
||||||
|
try (Connection con = Plex.get().getSqlConnection().getCon())
|
||||||
|
{
|
||||||
|
PreparedStatement statement = con.prepareStatement("SELECT `name` FROM `players` WHERE uuid=?");
|
||||||
|
statement.setString(1, uuid.toString());
|
||||||
|
ResultSet set = statement.executeQuery();
|
||||||
|
if (set.next())
|
||||||
|
{
|
||||||
|
return set.getString("name");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (SQLException throwables)
|
||||||
|
{
|
||||||
|
throwables.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public PlexPlayer getByUUID(UUID uuid)
|
public PlexPlayer getByUUID(UUID uuid)
|
||||||
{
|
{
|
||||||
return this.getByUUID(uuid, true);
|
return this.getByUUID(uuid, true);
|
||||||
|
Loading…
Reference in New Issue
Block a user