**What is DouyinView?**
DouyinView is a pure client-side mod that lets you browse Douyin (TikTok China) in Minecraft through a pinned floating mini-window. Press **F9** to call up the floating window, scan the QR code to log in once, and you'll stay logged in afterwards. Whether you're AFK farming XP, grinding mobs, or exploring, you can watch videos and play simultaneously without interference.
---
### Core Features
- 🪟 **Floating window** – Borderless always‑on‑top window, freely draggable, resizable from all four edges and corners; default landscape 16:9.
- ⚡ **Extremely low memory footprint** – Video decoding and page rendering are all handled in a separate process. The game JVM only sends very short local instructions, so in‑game memory usage is near zero and FPS is not affected.
- 📱 **Account login** – Supports Douyin QR‑code login; login state is saved locally – one login, long‑term auto‑login.
- 🎮 **In‑game controls** – F9 to show/hide; customizable keybinds for play/pause, previous/next.
- ⌨️ **Global hotkeys** – Ctrl+Alt+D to show/hide even outside the game (customizable).
- đźš« **Does not interrupt AFK** – Clicking the floating window does not pause the game, so AFK activities are unaffected (this behaviour can be disabled).
- 🔄 **On‑demand startup** – Occupies no resources normally; pressing F9 launches the floating window, closing it releases everything.
- đź’ľ **Memory function** – Window position, size, and always‑on‑top state are automatically saved.
- 📌 **Tray icon** – After minimising to the tray, double‑click or right‑click to call it up or exit at any time.
---
### Why is the memory footprint so low?
This is the core design of the entire mod. DouyinView uses a **dual‑process architecture**:
- **Inside the game:** Only a tiny "remote control" (the mod itself, a few KB) that handles key presses and sends HTTP commands.
- **Outside the game:** The floating window is an independent browser engine process (WebView2) that handles all heavy work – loading Douyin, video decoding, login, etc.
The two processes do not interfere with each other – if the floating window crashes, the game is unaffected; if the game crashes, the floating window is also unaffected. In contrast, solutions that cram video decoding into the game JVM cause memory spikes and severe FPS drops – DouyinView completely avoids this issue.
*Screenshot 1: Memory usage of this mod*
*Screenshot 2: Memory usage of the Douyin app*
---
### How to Use
1. Install the mod and launch the game. Press **F9** to call up the floating window (the first launch will automatically extract the window program – about 1‑2 seconds).
2. On the Douyin page that appears, scan the QR code to log in – after that, auto‑login is enabled.
3. Drag the title bar to move the window; move the mouse to the edges or the bottom‑right handle to resize.
4. Press F9 or Ctrl+Alt+D again to hide/show.
---
### Key Bindings
| Function | Default Key |
|------------------------|---------------------|
| Show / Hide floating window | F9 |
| Play / Pause | Unbound (set in Options → Controls → DouyinView) |
| Previous / Next | Unbound (same as above) |
| Global hotkey (outside game) | Ctrl+Alt+D |
---
### Configuration Files
- **Mod configuration:** `config/douyinview-client.toml` (port, floating window path, auto‑start, don't pause on focus loss, etc.)
- **Floating window configuration:** `douyin-window/config.json` (window size, position, always‑on‑top, zoom, hotkeys, etc.)
---
### Important Notes
- Please use **windowed** or **borderless fullscreen** mode for the game – in exclusive fullscreen, the floating window cannot overlay the game.
- Douyin's web version does not have a public "next episode" API; switching videos uses page key‑event emulation (best effort). It is recommended to use the mouse directly.
- Requires **WebView2 Runtime** (built into Windows 10/11 – no additional installation needed; **Mac users are not supported**).

