package net.minecraft.network; import com.google.gson.JsonArray; import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonDeserializer; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonSerializationContext; import com.google.gson.JsonSerializer; import com.mojang.authlib.GameProfile; import java.lang.reflect.Type; import java.util.UUID; import net.minecraft.util.IChatComponent; import net.minecraft.util.JsonUtils; public class ServerStatusResponse { private IChatComponent serverMotd; private ServerStatusResponse.PlayerCountData playerCount; private ServerStatusResponse.MinecraftProtocolVersionIdentifier protocolVersion; private String favicon; private static final String __OBFID = "CL_00001385"; public IChatComponent getServerDescription() { return this.serverMotd; } public void setServerDescription(IChatComponent motd) { this.serverMotd = motd; } public ServerStatusResponse.PlayerCountData getPlayerCountData() { return this.playerCount; } public void setPlayerCountData(ServerStatusResponse.PlayerCountData countData) { this.playerCount = countData; } public ServerStatusResponse.MinecraftProtocolVersionIdentifier getProtocolVersionInfo() { return this.protocolVersion; } public void setProtocolVersionInfo(ServerStatusResponse.MinecraftProtocolVersionIdentifier protocolVersionData) { this.protocolVersion = protocolVersionData; } public void setFavicon(String faviconBlob) { this.favicon = faviconBlob; } public String getFavicon() { return this.favicon; } public static class MinecraftProtocolVersionIdentifier { private final String name; private final int protocol; private static final String __OBFID = "CL_00001389"; public MinecraftProtocolVersionIdentifier(String nameIn, int protocolIn) { this.name = nameIn; this.protocol = protocolIn; } public String getName() { return this.name; } public int getProtocol() { return this.protocol; } public static class Serializer implements JsonDeserializer, JsonSerializer { private static final String __OBFID = "CL_00001390"; public ServerStatusResponse.MinecraftProtocolVersionIdentifier deserialize(JsonElement p_deserialize_1_, Type p_deserialize_2_, JsonDeserializationContext p_deserialize_3_) { JsonObject var4 = JsonUtils.getElementAsJsonObject(p_deserialize_1_, "version"); return new ServerStatusResponse.MinecraftProtocolVersionIdentifier(JsonUtils.getJsonObjectStringFieldValue(var4, "name"), JsonUtils.getJsonObjectIntegerFieldValue(var4, "protocol")); } public JsonElement serialize(ServerStatusResponse.MinecraftProtocolVersionIdentifier p_serialize_1_, Type p_serialize_2_, JsonSerializationContext p_serialize_3_) { JsonObject var4 = new JsonObject(); var4.addProperty("name", p_serialize_1_.getName()); var4.addProperty("protocol", Integer.valueOf(p_serialize_1_.getProtocol())); return var4; } public JsonElement serialize(Object p_serialize_1_, Type p_serialize_2_, JsonSerializationContext p_serialize_3_) { return this.serialize((ServerStatusResponse.MinecraftProtocolVersionIdentifier)p_serialize_1_, p_serialize_2_, p_serialize_3_); } } } public static class PlayerCountData { private final int maxPlayers; private final int onlinePlayerCount; private GameProfile[] players; private static final String __OBFID = "CL_00001386"; public PlayerCountData(int p_i45274_1_, int p_i45274_2_) { this.maxPlayers = p_i45274_1_; this.onlinePlayerCount = p_i45274_2_; } public int getMaxPlayers() { return this.maxPlayers; } public int getOnlinePlayerCount() { return this.onlinePlayerCount; } public GameProfile[] getPlayers() { return this.players; } public void setPlayers(GameProfile[] playersIn) { this.players = playersIn; } public static class Serializer implements JsonDeserializer, JsonSerializer { private static final String __OBFID = "CL_00001387"; public ServerStatusResponse.PlayerCountData deserialize(JsonElement p_deserialize_1_, Type p_deserialize_2_, JsonDeserializationContext p_deserialize_3_) { JsonObject var4 = JsonUtils.getElementAsJsonObject(p_deserialize_1_, "players"); ServerStatusResponse.PlayerCountData var5 = new ServerStatusResponse.PlayerCountData(JsonUtils.getJsonObjectIntegerFieldValue(var4, "max"), JsonUtils.getJsonObjectIntegerFieldValue(var4, "online")); if (JsonUtils.jsonObjectFieldTypeIsArray(var4, "sample")) { JsonArray var6 = JsonUtils.getJsonObjectJsonArrayField(var4, "sample"); if (var6.size() > 0) { GameProfile[] var7 = new GameProfile[var6.size()]; for (int var8 = 0; var8 < var7.length; ++var8) { JsonObject var9 = JsonUtils.getElementAsJsonObject(var6.get(var8), "player[" + var8 + "]"); String var10 = JsonUtils.getJsonObjectStringFieldValue(var9, "id"); var7[var8] = new GameProfile(UUID.fromString(var10), JsonUtils.getJsonObjectStringFieldValue(var9, "name")); } var5.setPlayers(var7); } } return var5; } public JsonElement serialize(ServerStatusResponse.PlayerCountData p_serialize_1_, Type p_serialize_2_, JsonSerializationContext p_serialize_3_) { JsonObject var4 = new JsonObject(); var4.addProperty("max", Integer.valueOf(p_serialize_1_.getMaxPlayers())); var4.addProperty("online", Integer.valueOf(p_serialize_1_.getOnlinePlayerCount())); if (p_serialize_1_.getPlayers() != null && p_serialize_1_.getPlayers().length > 0) { JsonArray var5 = new JsonArray(); for (int var6 = 0; var6 < p_serialize_1_.getPlayers().length; ++var6) { JsonObject var7 = new JsonObject(); UUID var8 = p_serialize_1_.getPlayers()[var6].getId(); var7.addProperty("id", var8 == null ? "" : var8.toString()); var7.addProperty("name", p_serialize_1_.getPlayers()[var6].getName()); var5.add(var7); } var4.add("sample", var5); } return var4; } public JsonElement serialize(Object p_serialize_1_, Type p_serialize_2_, JsonSerializationContext p_serialize_3_) { return this.serialize((ServerStatusResponse.PlayerCountData)p_serialize_1_, p_serialize_2_, p_serialize_3_); } } } public static class Serializer implements JsonDeserializer, JsonSerializer { private static final String __OBFID = "CL_00001388"; public ServerStatusResponse deserialize(JsonElement p_deserialize_1_, Type p_deserialize_2_, JsonDeserializationContext p_deserialize_3_) { JsonObject var4 = JsonUtils.getElementAsJsonObject(p_deserialize_1_, "status"); ServerStatusResponse var5 = new ServerStatusResponse(); if (var4.has("description")) { var5.setServerDescription((IChatComponent)p_deserialize_3_.deserialize(var4.get("description"), IChatComponent.class)); } if (var4.has("players")) { var5.setPlayerCountData((ServerStatusResponse.PlayerCountData)p_deserialize_3_.deserialize(var4.get("players"), ServerStatusResponse.PlayerCountData.class)); } if (var4.has("version")) { var5.setProtocolVersionInfo((ServerStatusResponse.MinecraftProtocolVersionIdentifier)p_deserialize_3_.deserialize(var4.get("version"), ServerStatusResponse.MinecraftProtocolVersionIdentifier.class)); } if (var4.has("favicon")) { var5.setFavicon(JsonUtils.getJsonObjectStringFieldValue(var4, "favicon")); } return var5; } public JsonElement serialize(ServerStatusResponse p_serialize_1_, Type p_serialize_2_, JsonSerializationContext p_serialize_3_) { JsonObject var4 = new JsonObject(); if (p_serialize_1_.getServerDescription() != null) { var4.add("description", p_serialize_3_.serialize(p_serialize_1_.getServerDescription())); } if (p_serialize_1_.getPlayerCountData() != null) { var4.add("players", p_serialize_3_.serialize(p_serialize_1_.getPlayerCountData())); } if (p_serialize_1_.getProtocolVersionInfo() != null) { var4.add("version", p_serialize_3_.serialize(p_serialize_1_.getProtocolVersionInfo())); } if (p_serialize_1_.getFavicon() != null) { var4.addProperty("favicon", p_serialize_1_.getFavicon()); } return var4; } public JsonElement serialize(Object p_serialize_1_, Type p_serialize_2_, JsonSerializationContext p_serialize_3_) { return this.serialize((ServerStatusResponse)p_serialize_1_, p_serialize_2_, p_serialize_3_); } } }