001 package net.minecraft.client.multiplayer; 002 003 import cpw.mods.fml.relauncher.Side; 004 import cpw.mods.fml.relauncher.SideOnly; 005 import java.net.InetAddress; 006 import java.util.ArrayList; 007 import java.util.Collections; 008 import java.util.Iterator; 009 import java.util.List; 010 011 @SideOnly(Side.CLIENT) 012 public class LanServerList 013 { 014 private ArrayList listOfLanServers = new ArrayList(); 015 boolean wasUpdated; 016 017 public synchronized boolean getWasUpdated() 018 { 019 return this.wasUpdated; 020 } 021 022 public synchronized void setWasNotUpdated() 023 { 024 this.wasUpdated = false; 025 } 026 027 public synchronized List getLanServers() 028 { 029 return Collections.unmodifiableList(this.listOfLanServers); 030 } 031 032 public synchronized void func_77551_a(String par1Str, InetAddress par2InetAddress) 033 { 034 String var3 = ThreadLanServerPing.getMotdFromPingResponse(par1Str); 035 String var4 = ThreadLanServerPing.getAdFromPingResponse(par1Str); 036 037 if (var4 != null) 038 { 039 int var5 = var4.indexOf(58); 040 041 if (var5 > 0) 042 { 043 var4 = par2InetAddress.getHostAddress() + var4.substring(var5); 044 } 045 046 boolean var6 = false; 047 Iterator var7 = this.listOfLanServers.iterator(); 048 049 while (var7.hasNext()) 050 { 051 LanServer var8 = (LanServer)var7.next(); 052 053 if (var8.getServerIpPort().equals(var4)) 054 { 055 var8.updateLastSeen(); 056 var6 = true; 057 break; 058 } 059 } 060 061 if (!var6) 062 { 063 this.listOfLanServers.add(new LanServer(var3, var4)); 064 this.wasUpdated = true; 065 } 066 } 067 } 068 }