public void run()
    {
        this.running = true;

        try
        {
            this.startGame();
        }
        catch (Exception var11)
        {
            var11.printStackTrace();
            this.onMinecraftCrash(new UnexpectedThrowable("Failed to start game", var11));
            return;
        }

        try
        {
            while (this.running)
            {
                try
                {
                    this.runGameLoop();
                }
                catch (MinecraftException var9)
                {
                    this.theWorld = null;
                    this.changeWorld1((World)null);
                    this.displayGuiScreen(new GuiConflictWarning());
                }
                catch (OutOfMemoryError var10)
                {
                    this.freeMemory();
                    this.displayGuiScreen(new GuiMemoryErrorScreen());
                    System.gc();
                }
            }
        }
        catch (MinecraftError var12)
        {
            ;
        }
        catch (Throwable var13)
        {
            this.freeMemory();
            var13.printStackTrace();
            this.onMinecraftCrash(new UnexpectedThrowable("Unexpected error", var13));
        }
        finally
        {
            this.shutdownMinecraftApplet();
        }
    }