### OptifiNeoforge — OptiFine on NeoForge
A client-side mod that brings **OptiFine** to **NeoForge**. Put OptifiNeoforge and **your own OptiFine jar** into `mods/` and it takes care of the rest: OptiFine's own patching is applied at startup and the patched game classes are fed into NeoForge's transformation pipeline — the same idea as OptiFabric on Fabric Loader.
#### What this project is not
Written plain, because these are the things a reviewer or a user needs to be able to check rather than take on trust:
* **Independent implementation.** The code is written for this project and released under **MPL-2.0**. It is **not** a re-upload, port or rebrand of OptiFabric: it targets a different mod loader (NeoForge, not Fabric Loader), is a different implementation, and supports different Minecraft versions. OptiFabric's *approach* — patching OptiFine into the game at runtime — is the same, and is credited in the README; no code is taken from it.
* **No OptiFine content.** Unzip the jar and check: there are **zero `net/optifine` entries** and **no file copied from OptiFine**. The anti-aliasing post-effect definitions shipped here are authored by this project; the shader stages they name come from the OptiFine jar *you* supply.
* **OptiFine is not bundled or redistributed.** It is copyright **sp614x** and has to be obtained by the user from the official site. This project contains nothing of it.
* **Not affiliated with or endorsed by** OptiFine or NeoForge.
#### Supported versions
One jar per Minecraft version — they are **not interchangeable**. The version is in the file name: `OptifiNeoforge-1.0.0+mc1.21.8.jar`.
| Minecraft | NeoForge | Java | OptiFine build you need |
|---|---|---|---|
| 1.21 | `21.0.167` | 21 | HD U J1 **pre9** (preview only) |
| 1.21.1 | `21.1.250` | 21 | HD U J1 |
| 1.21.3 | `21.3.97` | 21 | HD U J2 |
| 1.21.4 | `21.4.149` | 21 | HD U J3 |
| 1.21.6 | `21.6.20-beta` | 21 | HD U J6 **pre3** (preview only) |
| 1.21.7 | `21.7.25-beta` | 21 | HD U J6 **pre7** (preview only) |
| 1.21.8 | `21.8.54` | 21 | HD U J6 **pre16** (preview only) |
| 1.21.9 | `21.9.16-beta` | 21 | HD U J7 **pre2** (preview only) |
| 1.21.10 | `21.10.64` | 21 | HD U J7 **pre11** (preview only) |
| 1.21.11 | `21.11.45` | 21 | HD U J9 |
The 1.20.x line (1.20.1 – 1.20.6, Java 17) and the 26.x line (26.1.2, Java 25) are separate branches with their own jars.
#### Installing
1. Install the **NeoForge** version matching your Minecraft version.
2. Put the matching **`OptifiNeoforge-1.0.0+mc.jar`** into `mods/`.
3. Put the matching **OptiFine jar** (downloaded by you) into `mods/` as well.
4. Launch with the Java version listed above.
There is no installer and nothing is written into your game files.
#### Known limitations
* **1.21.6 and 1.21.7: the shader pack does not load.** Shaders and FXAA are unavailable on those two versions (the available OptiFine builds for them fail inside OptiFine itself when a pack is enabled).
* **1.21 writes four `NoClassDefFoundError` lines to stderr on every launch.** OptiFine's Reflector swallows them; startup is not affected.
* **Multiplayer has not been tested.**
* FXAA has been verified at pixel level on 9 of the 15 supported versions (1.20.4, 1.20.6, 1.21.1, 1.21.3, 1.21.4, 1.21.8, 1.21.9, 1.21.10, 1.21.11). On the others it is not yet proven, and each release note says so.
#### Links
* **Downloads:** https://github.com/Kynarain/OptifiNeoforge/releases
* **Issues / source:** https://github.com/Kynarain/OptifiNeoforge
* **OptiFine (required, not included):** https://optifine.net/downloads

