Minecraft Client Expert
Comprehensive reference for Minecraft Java Edition client optimization on Windows.
Scope: client-side FPS, NeoForge modded performance, shaders (Iris/Oculus), JVM tuning, PrismLauncher management.
Quick Reference
| Topic |
File |
Use When |
| Vanilla FPS & Windows settings |
FPS-OPTIMIZATION.md |
Low FPS without mods, in-game settings |
| Shader installation & config |
SHADERS.md |
Iris/Oculus setup, per-tier shader tuning |
| NeoForge performance mods |
NEOFORGE-MODS.md |
Building a performance mod stack |
| JVM flags & Java selection |
JVM-FLAGS.md |
Memory allocation, GC flags, Java version |
| PrismLauncher config |
PRISM-LAUNCHER.md |
Per-instance settings, override system |
| Hardware profiling (PowerShell) |
SYSTEM-PROFILING.md |
Detecting GPU/CPU/RAM on Windows |
| Full optimization workflow |
cookbook/optimize-instance.md |
New instance setup, end-to-end tuning |
Scope
- Edition: Java Edition only
- Loader: NeoForge (primary), Forge (secondary)
- Platform: Windows only (PowerShell for system commands)
- Launcher: PrismLauncher
- Focus: Client FPS, shaders, modded performance
Core Principles
- Embeddium > OptiFine for NeoForge. OptiFine is unmaintained for modern modded play.
- Iris/NeOculus > OptiFine shaders — better FPS, mod compatibility, faster updates.
- ZGC Generational > G1GC for Java 21+ clients. Lower pause times, better frame consistency.
- FerriteCore + ModernFix are non-negotiable in any modpack for RAM reduction.
- Always profile first — run hardware detection before recommending settings.
Known Configurations
User's BMC5 instance (NeoForge 1.21.1) is a validated reference baseline:
- JVM:
-XX:+UseZGC -XX:+ZGenerational -XX:+AlwaysPreTouch -XX:+UseStringDeduplication -XX:+UnlockExperimentalVMOptions -XX:+AlwaysActAsServerClassMachine -XX:+DisableExplicitGC -XX:+UseNUMA -XX:ReservedCodeCacheSize=400M
- Memory: 8192 MB min/max, PermGen 1024
- Java: Microsoft JDK 21 (bundled by PrismLauncher)
When to Read Reference Files
Read FPS-OPTIMIZATION.md when:
- User reports low FPS without a clear cause
- Asking for vanilla/base game settings to tweak
- Windows-level GPU and process optimizations needed
Read SHADERS.md when:
- Installing shaders for the first time
- Shader FPS is too low — need to tune settings
- Choosing between shader packs for a given GPU tier
Read NEOFORGE-MODS.md when:
- Building or auditing a performance mod stack
- Diagnosing mod compatibility (Moonrise vs C2ME, Embeddium vs Rubidium)
- Looking for the right mod for a specific bottleneck (RAM, entity lag, startup)
Read JVM-FLAGS.md when:
- Configuring memory allocation (Xmx/Xms)
- Choosing garbage collector (ZGC vs G1GC)
- Selecting Java version for a Minecraft version
- Crashes with OutOfMemoryError or severe GC pauses
Read PRISM-LAUNCHER.md when:
- Creating or importing an instance
- Configuring per-instance Java/memory overrides
- Understanding instance.cfg and mmc-pack.json schemas
Read SYSTEM-PROFILING.md when:
- Starting a new optimization session without hardware info
- Need PowerShell commands to detect GPU, VRAM, CPU cores, RAM
- Checking installed Java versions on Windows
Read cookbook/optimize-instance.md when:
- Setting up a new NeoForge instance from scratch
- Doing a full optimization pass on an existing instance
- User wants a guided, step-by-step workflow
1---2name: minecraft-client-expert3description: Expert knowledge for Minecraft Java Edition client optimization on Windows — FPS settings, NeoForge performance mods, shader configuration (Iris/Oculus), JVM flags, and PrismLauncher instance management. Auto-loads when discussing Minecraft performance, mods, shaders, or configuration.4---56# Minecraft Client Expert78Comprehensive reference for Minecraft Java Edition client optimization on Windows.9Scope: **client-side FPS, NeoForge modded performance, shaders (Iris/Oculus), JVM tuning, PrismLauncher management.**1011## Quick Reference1213| Topic | File | Use When |14|-------|------|----------|15| Vanilla FPS & Windows settings | [FPS-OPTIMIZATION.md](FPS-OPTIMIZATION.md) | Low FPS without mods, in-game settings |16| Shader installation & config | [SHADERS.md](SHADERS.md) | Iris/Oculus setup, per-tier shader tuning |17| NeoForge performance mods | [NEOFORGE-MODS.md](NEOFORGE-MODS.md) | Building a performance mod stack |18| JVM flags & Java selection | [JVM-FLAGS.md](JVM-FLAGS.md) | Memory allocation, GC flags, Java version |19| PrismLauncher config | [PRISM-LAUNCHER.md](PRISM-LAUNCHER.md) | Per-instance settings, override system |20| Hardware profiling (PowerShell) | [SYSTEM-PROFILING.md](SYSTEM-PROFILING.md) | Detecting GPU/CPU/RAM on Windows |21| Full optimization workflow | [cookbook/optimize-instance.md](cookbook/optimize-instance.md) | New instance setup, end-to-end tuning |2223## Scope2425- **Edition**: Java Edition only26- **Loader**: NeoForge (primary), Forge (secondary)27- **Platform**: Windows only (PowerShell for system commands)28- **Launcher**: PrismLauncher29- **Focus**: Client FPS, shaders, modded performance3031## Core Principles32331. **Embeddium > OptiFine** for NeoForge. OptiFine is unmaintained for modern modded play.342. **Iris/NeOculus > OptiFine shaders** — better FPS, mod compatibility, faster updates.353. **ZGC Generational > G1GC** for Java 21+ clients. Lower pause times, better frame consistency.364. **FerriteCore + ModernFix** are non-negotiable in any modpack for RAM reduction.375. **Always profile first** — run hardware detection before recommending settings.3839## Known Configurations4041**User's BMC5 instance (NeoForge 1.21.1)** is a validated reference baseline:42- JVM: `-XX:+UseZGC -XX:+ZGenerational -XX:+AlwaysPreTouch -XX:+UseStringDeduplication -XX:+UnlockExperimentalVMOptions -XX:+AlwaysActAsServerClassMachine -XX:+DisableExplicitGC -XX:+UseNUMA -XX:ReservedCodeCacheSize=400M`43- Memory: 8192 MB min/max, PermGen 102444- Java: Microsoft JDK 21 (bundled by PrismLauncher)4546## When to Read Reference Files4748**Read FPS-OPTIMIZATION.md when:**49- User reports low FPS without a clear cause50- Asking for vanilla/base game settings to tweak51- Windows-level GPU and process optimizations needed5253**Read SHADERS.md when:**54- Installing shaders for the first time55- Shader FPS is too low — need to tune settings56- Choosing between shader packs for a given GPU tier5758**Read NEOFORGE-MODS.md when:**59- Building or auditing a performance mod stack60- Diagnosing mod compatibility (Moonrise vs C2ME, Embeddium vs Rubidium)61- Looking for the right mod for a specific bottleneck (RAM, entity lag, startup)6263**Read JVM-FLAGS.md when:**64- Configuring memory allocation (Xmx/Xms)65- Choosing garbage collector (ZGC vs G1GC)66- Selecting Java version for a Minecraft version67- Crashes with OutOfMemoryError or severe GC pauses6869**Read PRISM-LAUNCHER.md when:**70- Creating or importing an instance71- Configuring per-instance Java/memory overrides72- Understanding instance.cfg and mmc-pack.json schemas7374**Read SYSTEM-PROFILING.md when:**75- Starting a new optimization session without hardware info76- Need PowerShell commands to detect GPU, VRAM, CPU cores, RAM77- Checking installed Java versions on Windows7879**Read cookbook/optimize-instance.md when:**80- Setting up a new NeoForge instance from scratch81- Doing a full optimization pass on an existing instance82- User wants a guided, step-by-step workflow