001package net.minecraft.client.gui;
002
003import cpw.mods.fml.relauncher.Side;
004import cpw.mods.fml.relauncher.SideOnly;
005import java.util.List;
006import net.minecraft.client.Minecraft;
007import net.minecraft.client.mco.Location;
008import net.minecraft.util.StringTranslate;
009
010@SideOnly(Side.CLIENT)
011public class GuiScreenSelectLocation extends GuiScreen
012{
013    protected GuiScreenCreateOnlineWorld field_96242_a;
014    private int field_96238_b = -1;
015    private SelectionListLocation field_96239_c;
016    private GuiSmallButton field_96237_d;
017    private Location field_96243_n;
018    private List field_96244_o;
019    private String field_96241_p;
020    private String field_96240_q;
021
022    public GuiScreenSelectLocation(GuiScreenCreateOnlineWorld par1, List par2, Location par3, String par4Str, String par5Str)
023    {
024        this.field_96242_a = par1;
025        this.field_96244_o = par2;
026        this.field_96243_n = par3;
027        this.field_96241_p = par4Str;
028        this.field_96240_q = par5Str;
029    }
030
031    /**
032     * Adds the buttons (and other controls) to the screen in question.
033     */
034    public void initGui()
035    {
036        StringTranslate stringtranslate = StringTranslate.getInstance();
037        this.buttonList.add(this.field_96237_d = new GuiSmallButton(6, this.width / 2 - 75, this.height - 38, stringtranslate.translateKey("gui.done")));
038        this.field_96239_c = new SelectionListLocation(this);
039        this.field_96239_c.registerScrollButtons(this.buttonList, 7, 8);
040    }
041
042    /**
043     * Fired when a control is clicked. This is the equivalent of ActionListener.actionPerformed(ActionEvent e).
044     */
045    protected void actionPerformed(GuiButton par1GuiButton)
046    {
047        if (par1GuiButton.enabled)
048        {
049            switch (par1GuiButton.id)
050            {
051                case 5:
052                    break;
053                case 6:
054                    this.field_96242_a.func_96251_a(this.field_96243_n, this.field_96241_p, this.field_96240_q);
055                    this.mc.displayGuiScreen(this.field_96242_a);
056                    break;
057                default:
058                    this.field_96239_c.actionPerformed(par1GuiButton);
059            }
060        }
061    }
062
063    /**
064     * Draws the screen and all the components in it.
065     */
066    public void drawScreen(int par1, int par2, float par3)
067    {
068        this.field_96239_c.drawScreen(par1, par2, par3);
069
070        if (this.field_96238_b <= 0)
071        {
072            this.mc.texturePackList.updateAvaliableTexturePacks();
073            this.field_96238_b += 20;
074        }
075
076        StringTranslate stringtranslate = StringTranslate.getInstance();
077        this.drawCenteredString(this.fontRenderer, stringtranslate.translateKey("mco.create.world.location.title"), this.width / 2, 16, 16777215);
078        this.drawCenteredString(this.fontRenderer, "(" + stringtranslate.translateKey("mco.create.world.location.warning") + ")", this.width / 2, this.height - 56, 8421504);
079        super.drawScreen(par1, par2, par3);
080    }
081
082    /**
083     * Called from the main game loop to update the screen.
084     */
085    public void updateScreen()
086    {
087        super.updateScreen();
088        --this.field_96238_b;
089    }
090
091    static Minecraft func_96232_a(GuiScreenSelectLocation par0GuiScreenSelectLocation)
092    {
093        return par0GuiScreenSelectLocation.mc;
094    }
095
096    static List func_96236_b(GuiScreenSelectLocation par0GuiScreenSelectLocation)
097    {
098        return par0GuiScreenSelectLocation.field_96244_o;
099    }
100
101    static Location func_96234_a(GuiScreenSelectLocation par0GuiScreenSelectLocation, Location par1Location)
102    {
103        return par0GuiScreenSelectLocation.field_96243_n = par1Location;
104    }
105
106    static GuiSmallButton func_96230_c(GuiScreenSelectLocation par0GuiScreenSelectLocation)
107    {
108        return par0GuiScreenSelectLocation.field_96237_d;
109    }
110
111    static Location func_96233_d(GuiScreenSelectLocation par0GuiScreenSelectLocation)
112    {
113        return par0GuiScreenSelectLocation.field_96243_n;
114    }
115
116    static FontRenderer func_96231_e(GuiScreenSelectLocation par0GuiScreenSelectLocation)
117    {
118        return par0GuiScreenSelectLocation.fontRenderer;
119    }
120
121    static FontRenderer func_96235_f(GuiScreenSelectLocation par0GuiScreenSelectLocation)
122    {
123        return par0GuiScreenSelectLocation.fontRenderer;
124    }
125}