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 GuiDownloadTerrain extends GuiScreen 008 { 009 /** Network object that downloads the terrain data. */ 010 private NetClientHandler netHandler; 011 012 /** Counts the number of screen updates. */ 013 private int updateCounter = 0; 014 015 public GuiDownloadTerrain(NetClientHandler par1NetClientHandler) 016 { 017 this.netHandler = par1NetClientHandler; 018 } 019 020 /** 021 * Fired when a key is typed. This is the equivalent of KeyListener.keyTyped(KeyEvent e). 022 */ 023 protected void keyTyped(char par1, int par2) {} 024 025 /** 026 * Adds the buttons (and other controls) to the screen in question. 027 */ 028 public void initGui() 029 { 030 this.controlList.clear(); 031 } 032 033 /** 034 * Called from the main game loop to update the screen. 035 */ 036 public void updateScreen() 037 { 038 ++this.updateCounter; 039 040 if (this.updateCounter % 20 == 0) 041 { 042 this.netHandler.addToSendQueue(new Packet0KeepAlive()); 043 } 044 045 if (this.netHandler != null) 046 { 047 this.netHandler.processReadPackets(); 048 } 049 } 050 051 /** 052 * Draws the screen and all the components in it. 053 */ 054 public void drawScreen(int par1, int par2, float par3) 055 { 056 this.drawBackground(0); 057 StringTranslate var4 = StringTranslate.getInstance(); 058 this.drawCenteredString(this.fontRenderer, var4.translateKey("multiplayer.downloadingTerrain"), this.width / 2, this.height / 2 - 50, 16777215); 059 super.drawScreen(par1, par2, par3); 060 } 061 }