    001package net.minecraft.client;
    002
    003import cpw.mods.fml.relauncher.Side;
    004import cpw.mods.fml.relauncher.SideOnly;
    005import java.awt.BorderLayout;
    006import java.awt.Canvas;
    007import net.minecraft.client.settings.GameSettings;
    008import net.minecraft.crash.CrashReport;
    009import org.lwjgl.LWJGLException;
    010
    011@SideOnly(Side.CLIENT)
    012public class MinecraftAppletImpl extends Minecraft
    013{
    014    /** Reference to the main frame, in this case, the applet window itself. */
    015    final MinecraftApplet mainFrame;
    016
    017    public MinecraftAppletImpl(MinecraftApplet par1MinecraftApplet, Canvas par2Canvas, MinecraftApplet par3MinecraftApplet, int par4, int par5, boolean par6)
    018    {
    019        super(par2Canvas, par3MinecraftApplet, par4, par5, par6);
    020        this.mainFrame = par1MinecraftApplet;
    021    }
    022
    023    public void displayCrashReportInternal(CrashReport par1CrashReport)
    024    {
    025        this.mainFrame.removeAll();
    026        this.mainFrame.setLayout(new BorderLayout());
    027        this.mainFrame.add(new PanelCrashReport(par1CrashReport), "Center");
    028        this.mainFrame.validate();
    029    }
    030
    031    /**
    032     * Starts the game: initializes the canvas, the title, the settings, etcetera.
    033     */
    034    public void startGame() throws LWJGLException
    035    {
    036        this.mcDataDir = getMinecraftDir();
    037        this.gameSettings = new GameSettings(this, this.mcDataDir);
    038
    039        if (this.gameSettings.overrideHeight > 0 && this.gameSettings.overrideWidth > 0 && this.mainFrame.getParent() != null && this.mainFrame.getParent().getParent() != null)
    040        {
    041            this.mainFrame.getParent().getParent().setSize(this.gameSettings.overrideWidth, this.gameSettings.overrideHeight);
    042        }
    043
    044        super.startGame();
    045    }
    046}