 +		header1.setHorizontalAlignment(SwingConstants.CENTER);
 +		header1.setAlignmentX(Component.CENTER_ALIGNMENT);
 +		crashPanel.add(header1);
- 
--        if (crashReportIn.getFile() != null)
--        {
--            Bootstrap.func_179870_a("#@!@# Game crashed! Crash report saved to: #@!@# " + crashReportIn.getFile());
--            System.exit(-1);
--        }
--        else if (crashReportIn.saveToFile(var3))
--        {
--            Bootstrap.func_179870_a("#@!@# Game crashed! Crash report saved to: #@!@# " + var3.getAbsolutePath());
--            System.exit(-1);
--        }
--        else
--        {
--            Bootstrap.func_179870_a("#@?@# Game crashed! Crash report could not be saved. #@?@#");
--            System.exit(-2);
--        }
++
 +		final JButton fileButton = new JButton("<html><u>" + reportPath);
 +		fileButton.setForeground(new Color(0x0000ff));
 +		fileButton.setAlignmentX(Component.CENTER_ALIGNMENT);

+            					thePlayer.sendChatMessage(eventCommand);
+            			}
+                    	
                         if (var1 == 1)
                         {
                             this.displayInGameMenu();
@@ -2049,7 +2312,7 @@ public class Minecraft implements IThreadListener, IPlayerUsage
             {
                 if (this.gameSettings.keyBindsHotbar[var1].isPressed())
                 {
-                    if (this.thePlayer.func_175149_v())
+                    if (this.thePlayer.isSpectator())
                     {
                         this.ingameGUI.func_175187_g().func_175260_a(var1);
                     }
@@ -2077,7 +2340,7 @@ public class Minecraft implements IThreadListener, IPlayerUsage
 
             while (this.gameSettings.keyBindDrop.isPressed())
             {
-                if (!this.thePlayer.func_175149_v())
+                if (!this.thePlayer.isSpectator())
                 {
                     this.thePlayer.dropOneItem(GuiScreen.isCtrlKeyDown());
                 }
@@ -2315,6 +2578,9 @@ public class Minecraft implements IThreadListener, IPlayerUsage
         var12.sendPacket(new C00Handshake(47, var11.toString(), 0, EnumConnectionState.LOGIN));
         var12.sendPacket(new C00PacketLoginStart(this.getSession().getProfile()));
         this.myNetworkManager = var12;
+        
+        //TODO: Client
+        SpamProcessor.runScript("joinworld", "Runs whenever you join a singlepalyer world.");
     }
 
     /**
@@ -2489,7 +2755,7 @@ public class Minecraft implements IThreadListener, IPlayerUsage
 
             if (this.objectMouseOver.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK)
             {
-                BlockPos var6 = this.objectMouseOver.func_178782_a();
+                BlockPos var6 = this.objectMouseOver.getBlockPos();
                 Block var7 = this.theWorld.getBlockState(var6).getBlock();
 
                 if (var7.getMaterial() == Material.air)
@@ -2515,6 +2781,31 @@ public class Minecraft implements IThreadListener, IPlayerUsage
             }
             else
             {
+                //TODO: Client
+                if (this.objectMouseOver.entityHit != null && this.objectMouseOver.entityHit instanceof EntityPlayer)
+                {

+                IOUtils.closeQuietly(var3);
+            }
+    		frame.setVisible(true);
+        }
+    }
+
+    private void startLWJGL_1()
+    {
+        Util.EnumOS var1 = Util.getOSType();
+
+        if (var1 != Util.EnumOS.OSX)
+        {
+            InputStream var2 = null;
+            InputStream var3 = null;
+
+            try
+            {
+                var2 = this.mcDefaultResourcePack.func_152780_c(new ResourceLocation("icons/icon_16x16.png"));
+                var3 = this.mcDefaultResourcePack.func_152780_c(new ResourceLocation("icons/icon_32x32.png"));
+
+                if (var2 != null && var3 != null)
+                {
+                    Display.setIcon(new ByteBuffer[] {this.readImageToBuffer(var2), this.readImageToBuffer(var3)});
+                }
+            }
+            catch (IOException var8)
+            {
+                logger.error("Couldn\'t set icon", var8);
+            }
+            finally
+            {
+                IOUtils.closeQuietly(var2);
+                IOUtils.closeQuietly(var3);
+            }
+        }
+    }
+    
+    //TODO: Client
+    private boolean isAutoMaximize()
