package net.minecraft.server; import com.google.gson.JsonObject; import com.mojang.authlib.GameProfile; import java.util.Date; import java.util.UUID; public class GameProfileBanEntry extends ExpirableListEntry<GameProfile> { public GameProfileBanEntry(GameProfile gameprofile) { this(gameprofile, (Date) null, (String) null, (Date) null, (String) null); } public GameProfileBanEntry(GameProfile gameprofile, Date date, String s, Date date1, String s1) { super(gameprofile, date, s, date1, s1); // Spigot } public GameProfileBanEntry(JsonObject jsonobject) { super(b(jsonobject), jsonobject); } @Override protected void a(JsonObject jsonobject) { if (this.getKey() != null) { jsonobject.addProperty("uuid", this.getKey().getId() == null ? "" : this.getKey().getId().toString()); jsonobject.addProperty("name", this.getKey().getName()); super.a(jsonobject); } } private static GameProfile b(JsonObject jsonobject) { // Spigot start // this whole method has to be reworked to account for the fact Bukkit only accepts UUID bans and gives no way for usernames to be stored! UUID uuid = null; String name = null; if (jsonobject.has("uuid")) { String s = jsonobject.get("uuid").getAsString(); try { uuid = UUID.fromString(s); } catch (Throwable throwable) { } } if ( jsonobject.has("name")) { name = jsonobject.get("name").getAsString(); } if ( uuid != null || name != null ) { return new GameProfile( uuid, name ); } else { return null; } // Spigot End } }