          entityplayermp1.func_145769_d(p_72368_1_.func_145782_y());
          WorldServer worldserver = this.field_72400_f.func_71218_a(p_72368_1_.field_71093_bK);
          this.func_72381_a(entityplayermp1, p_72368_1_, worldserver);
-@@ -448,6 +476,11 @@
+@@ -448,14 +476,19 @@
  
      public void func_72356_a(EntityPlayerMP p_72356_1_, int p_72356_2_)
      {

         int j = p_72356_1_.field_71093_bK;
         WorldServer worldserver = this.field_72400_f.func_71218_a(p_72356_1_.field_71093_bK);
         p_72356_1_.field_71093_bK = p_72356_2_;
@@ -455,7 +488,7 @@
         p_72356_1_.field_71135_a.func_147359_a(new S07PacketRespawn(p_72356_1_.field_71093_bK, p_72356_1_.field_70170_p.field_73013_u, p_72356_1_.field_70170_p.func_72912_H().func_76067_t(), p_72356_1_.field_71134_c.func_73081_b()));
         worldserver.func_72973_f(p_72356_1_);
         p_72356_1_.field_70128_L = false;
-        this.func_82448_a(p_72356_1_, j, worldserver, worldserver1);

+            ChunkCoordinates spawnPoint = playerWorld.field_73011_w.getRandomizedSpawnPoint();
+            p_72355_2_.func_70107_b(spawnPoint.field_71574_a, spawnPoint.field_71572_b, spawnPoint.field_71573_c);
+        }
+
+        p_72355_2_.func_70029_a(playerWorld);
         p_72355_2_.field_71134_c.func_73080_a((WorldServer)p_72355_2_.field_70170_p);
         String s1 = "local";
