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