
Complex Leaf Culling
Multi-tier leaf culling for Sodium. Block cancellation, pass demotion, and face culling for dense modded forests (WWOO, etc.).
Screenshots

About this Mod
Complex Leaf Culling
A multi-tier leaf culling mod for Minecraft 1.21.1 (Fabric + Sodium), designed for modpacks with dense foliage from mods like William Wyther's Overhauled Overworld (WWOO) where vanilla culling leaves significant performance on the table.
NOTE:
I've tested this locally on a heavily modded (300+ mods) instance, and have had others with differing computer specs test it as well. It has thusfar worked without issue, but that doesn't mean there may not be some problems. This has been made as compatible as I can personally manage, but for those with bigger brains than I have they can fork it and modify it as needed. I'm a new dad, so I may not be the one to swiftly fix issues or extend its compatibility.
What it does
Complex Leaf Culling applies three independent culling strategies that complement each other:
Standard Leaf Culling (Tier 1 - all renderers)
Marks shared faces between adjacent leaf blocks as invisible during mesh building. Works for all leaf blocks and cooperates directly with Sodium's occlusion system. This is what most culling mods do.
Extended Leaf Culling (Tier A - Sodium only)
Cancels rendering entirely for interior leaf blocks that are fully surrounded by other leaves. Zero geometry is generated for these blocks. Most effective in dense WWOO canopies and other modded forests where standard culling misses blocks it doesn't recognise.
Edge Pass Demotion (Tier B - Sodium only)
Leaf blocks on the edge of a canopy that partially qualify (one neighbour below the cancel threshold) are demoted from expensive translucent rendering to cheaper cutout rendering. Leaf shapes are fully preserved - only the render pass changes. Most noticeable with shader packs like Iris where translucent geometry is disproportionately expensive.
Requirements
- Minecraft 1.21.1
- Fabric Loader >= 0.16.0
- Fabric API
- Sodium - NOTE: Tested with version 0.6.13. Newer/older versions may not work if hooks have moved/changed internally.
Recommended
- Iris Shaders - Tier B pass demotion gives the most visible benefit with shaders active
- ModMenu - provides access to the in-game config screen
Configuration
Open the config screen via ModMenu, or use the /clc command in-game:
/clc status
/clc reload
/clc set enabled true|false
/clc set mode CONSERVATIVE|BALANCED|AGGRESSIVE
/clc set threshold 0-6 (0 = auto from mode)
/clc set standardCulling true|false
/clc set extendedCulling true|false
/clc set passDemotion true|false
/clc set extendedDetect true|false
Culling Modes
| Mode | Neighbours Required | Description |
|---|---|---|
| CONSERVATIVE | 6/6 | Only perfectly buried blocks. Safest visuals. |
| BALANCED | 5/6 | Good balance of performance and appearance. Default. |
| AGGRESSIVE | 4/6 | Maximum performance. Slight edge thinning possible. |
Extended Leaf Detection - when enabled, blocks whose registry path contains leaf, leaves, or foliage are treated as leaves even if not tagged minecraft:leaves. Required for full WWOO compatibility.
Compatibility
| Mod | Status |
|---|---|
| Sodium 0.6.x | Required |
| Iris | Full compatibility, Tier B most effective here |
| Distant Horizons | No interaction (DH handles its own LOD geometry) |
| C2ME | Compatible |
| EntityCulling | Separate concern, no conflict |
| MoreCulling | Complementary - covers different block types |
| SodiumLeafCulling | Redundant - both target the same pipeline. Use one or the other. |
| WWOO | Primary use case |
Performance notes
All culling work happens during chunk mesh building on Sodium's worker threads - not during rendering. There is no per-frame CPU cost. The performance benefit is realised when chunks are built or rebuilt (world load, block changes, F3+A, or saving settings).
Building from source
git clone https://github.com/YOUR_GITHUB_HERE/complex-leaf-culling
cd complex-leaf-culling
# Place sodium-fabric-0.6.x+mc1.21.1.jar in libs/
./gradlew build
The built jar will be in build/libs/.
License
MIT - free to fork, modify, and redistribute with attribution. See LICENSE.
Available Versions
How to Install Complex Leaf Culling on Your Client
Install the Mod Loader Locally
Install fabric for your local Minecraft version.
Download the Matching File
Choose the Complex Leaf Culling file for fabric and Minecraft 1.21.11.
Install Mod
Place the .jar file in your local .minecraft/mods folder and restart Minecraft. No server-side installation is required.
Compatibility
Mod Loaders
Minecraft Versions
1.21.11, 1.21.10, 1.21.9 (+8 more)
Server-side
✗ UnsupportedRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
Does Complex Leaf Culling need to be installed on the Minecraft server?
No. Modrinth marks Complex Leaf Culling as unsupported on the server side. Install it only in your local Minecraft mods folder. Your server can remain unchanged unless the mod page lists an additional dependency.
Which version and loader does Complex Leaf Culling require?
Use a file for fabric and your exact Minecraft version. Supported versions include 1.21.11, 1.21.10, 1.21.9. Files for different loaders are not interchangeable.
Complex Leaf Culling is not working – what should I check?
First check the Minecraft version, loader version and required dependencies. Put the .jar file in your local .minecraft/mods folder and remove older duplicates. Because this mod is client-side, adding server RAM will not fix it.
Similar Mods
Minecraft Server for Your Group
Complex Leaf Culling stays on your client. Host a compatible world for your group.