    001package net.minecraft.client.mco;
    002
    003import cpw.mods.fml.relauncher.Side;
    004import cpw.mods.fml.relauncher.SideOnly;
    005import java.io.IOException;
    006import java.util.ArrayList;
    007import java.util.Collections;
    008import java.util.List;
    009import java.util.Timer;
    010import net.minecraft.util.Session;
    011
    012@SideOnly(Side.CLIENT)
    013public class McoServerList
    014{
    015    private volatile boolean field_98259_a = false;
    016    private TimerTaskMcoServerListUpdate field_98257_b;
    017    private Timer field_98258_c = new Timer();
    018    private List field_98255_d = new ArrayList();
    019    private boolean field_98256_e = false;
    020    private Session field_98254_f;
    021
    022    public McoServerList(Session par1Session)
    023    {
    024        this.field_98254_f = par1Session;
    025        this.field_98257_b = new TimerTaskMcoServerListUpdate(this, (McoServerListINNER1)null);
    026        this.field_98258_c.schedule(this.field_98257_b, 0L, 10000L);
    027    }
    028
    029    public synchronized boolean func_98251_a()
    030    {
    031        return this.field_98256_e;
    032    }
    033
    034    public synchronized void func_98250_b()
    035    {
    036        this.field_98256_e = false;
    037    }
    038
    039    public synchronized List func_98252_c()
    040    {
    041        return Collections.unmodifiableList(this.field_98255_d);
    042    }
    043
    044    private synchronized void func_96426_a(List par1List)
    045    {
    046        if (!par1List.equals(this.field_98255_d))
    047        {
    048            this.field_98255_d = par1List;
    049            this.field_98256_e = true;
    050        }
    051    }
    052
    053    public synchronized void func_98248_d()
    054    {
    055        this.field_98259_a = true;
    056        this.field_98257_b.cancel();
    057        this.field_98258_c.cancel();
    058    }
    059
    060    static Session func_100014_a(McoServerList par0McoServerList)
    061    {
    062        return par0McoServerList.field_98254_f;
    063    }
    064
    065    static boolean func_98249_b(McoServerList par0McoServerList)
    066    {
    067        return par0McoServerList.field_98259_a;
    068    }
    069
    070    static void func_98247_a(McoServerList par0McoServerList, List par1List) throws IOException
    071    {
    072        par0McoServerList.func_96426_a(par1List);
    073    }
    074}