
Opticores is a client-side mod that works with Embeddium and Sodium on (Neo)forge and Fabric for 1.21.x, made to fix the bottleneck that integrated graphics (Intel UHD) and low-end devices.
Performance — Minecraft 1.21.1 (Cherry Grove)
Test system: Intel i3-1115G4 (2 Cores/4 Threads) • Intel UHD Graphics • 16 GB RAM (2133 MT/s)
| Configuration | Min FPS | Avg FPS | Max FPS |
|---|---|---|---|
| Vanilla | 2 | 45 | 149 |
| Sodium | 30 | 147 | 255 |
| Sodium + OptiCores | 84 | 270 | 396 |
| Comparison | Min | Avg | Max |
|---|---|---|---|
| Sodium vs Vanilla | +1400% | +227% | +71% |
| Sodium + OptiCores vs Sodium | +180% | +84% | +55% |
| Sodium + OptiCores vs Vanilla | +4100% | +500% | +166% |
How it works:
- Asynchronous Culling Pipeline (ACP):
Distance and frustum intersection math moves off the main rendering thread onto a background worker instead of blocking each frame.
- Concurrent Data Management (CDM):
The culling output is stored in a thread safe ConcurrentHashMap so the render thread reads the chased result instead of reloading it every frame.
- Dynamic Load Throttling (DLT):
Monitors chunk loading and temporarily scales back entity rendering during harsh world loading, teleporting to a new area, so the terrain generation gets priority.
- Compatibility:
Bypasses for custom block entities like Create’s and coordination with Distant Horizons or Voxy to avoid culling conflicts during LOD making.
How to Install Opticores (Mod)
Opticores by Lilbroskato is verified for Fabric, Forge, Neoforge across Minecraft versions 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21.1, 1.21.10 (latest release: 1.1.1.5+1.20.x, file size: 102 KB). Follow the steps below to install it safely from ModCraft.tv:
- Click the Download button above and select your Minecraft version (1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21.1, 1.21.10) and platform (Fabric, Forge, Neoforge).
- Make sure you have the compatible loader or environment installed for Fabric, Forge, Neoforge.
- Move the downloaded Opticores file into your Minecraft
.minecraft/modsfolder and launch the game.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 12d ago | 1 | ||||
| 15d ago | 1 | ||||
| 22d ago | 1 | ||||
| 28d ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 |
- Load Spreading system** for chunk/VBO upload scheduling.
- New config option enableLoadSpreading.
- New config option loadSpreadingThreshold.
- New **"Load Spreading"** section in the in-game config screen.
## Fixed
- Fixed issue from user **colocappi** ([#15](https://github.com/anibalmolina-debug/Opticores/issues/15))
- Vulkan** capabilities section (Minecraft 26.x Blaze3D RenderPearl pipeline) in Opticores settings.
- Graphics API** switch button at the end of the settings screen (Change to Vulkan/OpenGL).
- When changing graphic API, a restart is required.
- /opticore graphics command**: shows selected vs effective API, current backend, Vulkan status, and restart notice
## **Fixed:**
- Fixed Sodium section-capture mixin for 0.9.2 (ChunkBuildOutput signature)
- Fixed issue from user **hannespellegrini353-maker** ([#16](https://github.com/anibalmolina-debug/Opticores/issues/16))
- Fixed issue [#13](https://github.com/anibalmolina-debug/Opticores/issues/13)
- Updated the internal block redenring hooks for full compatibility with Minecraft 1.20.1.
- Refined Mixin descriptors to prevent future crashes.
- Fixed issue in [#11](https://github.com/anibalmolina-debug/Opticores/issues/11)
- Updated to **26.1** to **26.3**
- Fixed issue in [#10](https://github.com/anibalmolina-debug/Opticores/issues/10)
- Added [Chunky](https://modrinth.com/plugin/chunky) compatibility.
- Fixed issue [#8](https://github.com/anibalmolina-debug/Opticores/issues/8)
- Changed from **Vertical** gui perspective to a **Horizontal** gui perspective.
- Background Task performance
- Thread management
- CPU workload
- Chunk processing
- Improved resource utilization
- Smoother background processing
- Better workload during heavy load
A new UI option to enable or disable the **Virtual Threads**.
- Changed the settings screen from a multi-tab layout to a single scrollable page with collapsible section headers (matching your hand-drawn sketch):
- Replaced separate ConfigCategory tabs with SubCategoryBuilder sections under one "Settings" tab
- Replaced separate ConfigCategory tabs with SubCategoryBuilder sections under one "Settings" tab
- All sections (Entity Culling, Block Entity Culling, Advanced/Experimental, Chunk Throttling) are expanded by default
- Added Automatic Crash Reporting**
Created
- CrashHandler.java
Injected a printCrashReport hook into MixinMinecraftClient.java that calls the crash handler
- Fixed MixinLevelRenderer** — updated the render() injection signature from (MatrixStack, Matrix4f, Matrix4f) to (GameRenderer, LightmapTextureManager, Matrix4f, Matrix4f) to match 1.21.1
- Fixed CullWorker** — moved WaterCreatureEntity and AmbientEntity imports to net.minecraft.entity.mob
- Fixed ConfigScreenBuilder** — replaced Text.method_43470 → Text.literal, fixed EnumListEntry generic type, corrected Screen/Text import paths
- Fixed fabric.mod.json** — lowered fabricloader requirement from >=0.19.2 to >=0.16.5
- Added dependencies** — Cloth Config via Shedaniel Maven, ModMenu via direct JAR download
- Chunk Update Optimization:** We intercepted the LevelRenderer to reset the chunk budget math, allowing the game to render terrain much more efficiently.
- The 2D Item Frame LOD:** We designed a system with a configurable distance slider (itemFrame2DDistance). If a player walks away from a massive wall of chests, the game cancels the expensive 3D item rendering and instantly swaps it to a flat, 2D particle sprite to save massive amounts of GPU power. (Currently waiting to be rewritten for 1.21.11!)
