001 package net.minecraft.client.multiplayer;
002
003 import cpw.mods.fml.relauncher.Side;
004 import cpw.mods.fml.relauncher.SideOnly;
005 import net.minecraft.nbt.NBTTagCompound;
006
007 @SideOnly(Side.CLIENT)
008 public class ServerData
009 {
010 public String serverName;
011 public String serverIP;
012
013 /**
014 * the string indicating number of players on and capacity of the server that is shown on the server browser (i.e.
015 * "5/20" meaning 5 slots used out of 20 slots total)
016 */
017 public String populationInfo;
018
019 /**
020 * (better variable name would be 'hostname') server name as displayed in the server browser's second line (grey
021 * text)
022 */
023 public String serverMOTD;
024
025 /** last server ping that showed up in the server browser */
026 public long pingToServer;
027 public int field_82821_f = 51;
028
029 /** Game version for this server. */
030 public String gameVersion = "1.4.7";
031 public boolean field_78841_f = false;
032 private boolean field_78842_g = true;
033 private boolean acceptsTextures = false;
034
035 /** Whether to hide the IP address for this server. */
036 private boolean hideAddress = false;
037
038 public ServerData(String par1Str, String par2Str)
039 {
040 this.serverName = par1Str;
041 this.serverIP = par2Str;
042 }
043
044 /**
045 * Returns an NBTTagCompound with the server's name, IP and maybe acceptTextures.
046 */
047 public NBTTagCompound getNBTCompound()
048 {
049 NBTTagCompound var1 = new NBTTagCompound();
050 var1.setString("name", this.serverName);
051 var1.setString("ip", this.serverIP);
052 var1.setBoolean("hideAddress", this.hideAddress);
053
054 if (!this.field_78842_g)
055 {
056 var1.setBoolean("acceptTextures", this.acceptsTextures);
057 }
058
059 return var1;
060 }
061
062 public boolean getAcceptsTextures()
063 {
064 return this.acceptsTextures;
065 }
066
067 public boolean func_78840_c()
068 {
069 return this.field_78842_g;
070 }
071
072 public void setAcceptsTextures(boolean par1)
073 {
074 this.acceptsTextures = par1;
075 this.field_78842_g = false;
076 }
077
078 public boolean isHidingAddress()
079 {
080 return this.hideAddress;
081 }
082
083 public void setHideAddress(boolean par1)
084 {
085 this.hideAddress = par1;
086 }
087
088 /**
089 * Takes an NBTTagCompound with 'name' and 'ip' keys, returns a ServerData instance.
090 */
091 public static ServerData getServerDataFromNBTCompound(NBTTagCompound par0NBTTagCompound)
092 {
093 ServerData var1 = new ServerData(par0NBTTagCompound.getString("name"), par0NBTTagCompound.getString("ip"));
094 var1.hideAddress = par0NBTTagCompound.getBoolean("hideAddress");
095
096 if (par0NBTTagCompound.hasKey("acceptTextures"))
097 {
098 var1.setAcceptsTextures(par0NBTTagCompound.getBoolean("acceptTextures"));
099 }
100
101 return var1;
102 }
103 }