package net.minecraft.client.gui; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import java.io.IOException; import java.net.ConnectException; import java.net.SocketTimeoutException; import java.net.UnknownHostException; import net.minecraft.client.multiplayer.ServerData; import net.minecraft.util.EnumChatFormatting; @SideOnly(Side.CLIENT) class ThreadPollServers extends Thread { /** An Instnace of ServerData. */ final ServerData pollServersServerData; /** Slot container for the server list */ final GuiSlotServer serverSlotContainer; ThreadPollServers(GuiSlotServer par1GuiSlotServer, ServerData par2ServerData) { this.serverSlotContainer = par1GuiSlotServer; this.pollServersServerData = par2ServerData; } public void run() { boolean flag = false; label183: { label184: { label185: { label186: { label187: { try { flag = true; this.pollServersServerData.serverMOTD = EnumChatFormatting.DARK_GRAY + "Polling.."; long i = System.nanoTime(); GuiMultiplayer.func_82291_a(this.pollServersServerData); long j = System.nanoTime(); this.pollServersServerData.pingToServer = (j - i) / 1000000L; flag = false; break label183; } catch (UnknownHostException unknownhostexception) { this.pollServersServerData.pingToServer = -1L; this.pollServersServerData.serverMOTD = EnumChatFormatting.DARK_RED + "Can\'t resolve hostname"; flag = false; } catch (SocketTimeoutException sockettimeoutexception) { this.pollServersServerData.pingToServer = -1L; this.pollServersServerData.serverMOTD = EnumChatFormatting.DARK_RED + "Can\'t reach server"; flag = false; break label187; } catch (ConnectException connectexception) { this.pollServersServerData.pingToServer = -1L; this.pollServersServerData.serverMOTD = EnumChatFormatting.DARK_RED + "Can\'t reach server"; flag = false; break label186; } catch (IOException ioexception) { this.pollServersServerData.pingToServer = -1L; this.pollServersServerData.serverMOTD = EnumChatFormatting.DARK_RED + "Communication error"; flag = false; break label185; } catch (Exception exception) { this.pollServersServerData.pingToServer = -1L; this.pollServersServerData.serverMOTD = "ERROR: " + exception.getClass(); flag = false; break label184; } finally { if (flag) { synchronized (GuiMultiplayer.getLock()) { GuiMultiplayer.decreaseThreadsPending(); } } } synchronized (GuiMultiplayer.getLock()) { GuiMultiplayer.decreaseThreadsPending(); return; } } synchronized (GuiMultiplayer.getLock()) { GuiMultiplayer.decreaseThreadsPending(); return; } } synchronized (GuiMultiplayer.getLock()) { GuiMultiplayer.decreaseThreadsPending(); return; } } synchronized (GuiMultiplayer.getLock()) { GuiMultiplayer.decreaseThreadsPending(); return; } } synchronized (GuiMultiplayer.getLock()) { GuiMultiplayer.decreaseThreadsPending(); return; } } synchronized (GuiMultiplayer.getLock()) { GuiMultiplayer.decreaseThreadsPending(); } } }