package net.minecraft.server; import com.google.gson.JsonObject; import com.mojang.authlib.GameProfile; import java.util.Date; import java.util.Objects; import java.util.UUID; import javax.annotation.Nullable; public class GameProfileBanEntry extends ExpirableListEntry<GameProfile> { public GameProfileBanEntry(GameProfile gameprofile) { this(gameprofile, (Date) null, (String) null, (Date) null, (String) null); } public GameProfileBanEntry(GameProfile gameprofile, @Nullable Date date, @Nullable String s, @Nullable Date date1, @Nullable String s1) { super(gameprofile, date, s, date1, s1); } public GameProfileBanEntry(JsonObject jsonobject) { super(b(jsonobject), jsonobject); } @Override protected void a(JsonObject jsonobject) { if (this.getKey() != null) { jsonobject.addProperty("uuid", ((GameProfile) this.getKey()).getId() == null ? "" : ((GameProfile) this.getKey()).getId().toString()); jsonobject.addProperty("name", ((GameProfile) this.getKey()).getName()); super.a(jsonobject); } } @Override public IChatBaseComponent e() { GameProfile gameprofile = (GameProfile) this.getKey(); return new ChatComponentText(gameprofile.getName() != null ? gameprofile.getName() : Objects.toString(gameprofile.getId(), "(Unknown)")); } private static GameProfile b(JsonObject jsonobject) { if (jsonobject.has("uuid") && jsonobject.has("name")) { String s = jsonobject.get("uuid").getAsString(); UUID uuid; try { uuid = UUID.fromString(s); } catch (Throwable throwable) { return null; } return new GameProfile(uuid, jsonobject.get("name").getAsString()); } else { return null; } } }