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    }