private void updatePlayerList(Stream stream, int len) {
        while (stream.bitOffset + 10 < len * 8) {
            int j = stream.getBits(11);
            if (j == 2047) {
                break;
            }
            if (localPlayers[j] == null) {
                localPlayers[j] = new Player();
                if (playerAppearanceBuffers[j] != null) {
                    localPlayers[j].updatePlayer(playerAppearanceBuffers[j]);
                }
            }
            playerIndices[localPlayerCount++] = j;
            Player player = localPlayers[j];
            player.lastUpdate = Client.loopCycle;
            int k = stream.getBits(1);
            if (k == 1) {
                playerUpdateIndices[entityUpdateCount++] = j;
            }
            int l = stream.getBits(1);
            int i1 = stream.getBits(5);
            if (i1 > 15) {
                i1 -= 32;
            }
            int j1 = stream.getBits(5);
            if (j1 > 15) {
                j1 -= 32;
            }
            player.updatePosition(Client.myPlayer.walkQueueX[0] + j1, Client.myPlayer.walkQueueY[0] + i1, l == 1);
        }
        stream.endBitBlock();
    }