๐ฑ Cullify
**Cullify** is an advanced, ultra-optimized, client-side culling system for Minecraft. It dynamically optimizes rendering performance by intelligently culling decorative vegetation (grass, flowers, ferns, algae, kelp, etc.) based on your distance and customizable geometric shapes, without altering the actual world blocks.
โจ Features
- ๐ FPS Boost โ Substantially reduces vertex throughput and draw calls by culling non-visible distant vegetation.
- ๐ 8 Culling Shapes โ Customizable geometric boundaries to control culling behavior around the player.
- โก Voxel Grid Cache โ Utilizes a fast
128ร128ร128voxel grid centered on the player for instant $O(1)$ visibility lookups. - ๐ LOD Density Filter โ Deterministic, hash-based density filtering that thins out outer vegetation (75%, 50%, or 25%) to save CPU overhead.
- ๐ฟ Double-Tall Vegetation Support โ Synchronizes culling between bottom and top halves of double-tall blocks to prevent visual mismatch.
- ๐ Thread-Safe Rendering Updates โ Section updates are safely queued and dispatched directly on Minecraft's main render thread.
- โ๏ธ In-Game Config Menu โ Fully custom configuration screen accessible via the
Kkeybind, commands, or the NeoForge mods menu. - ๐ Real-time Statistics HUD โ Screen overlay tracking culled blocks, water replacements, chunk updates, and draw calls.
- ๐งช Sodium Compatibility โ Direct hooks into Sodium's internal
LevelSlicerendering pipeline and Sodium Options API. - ๐ Localization โ Full support for English (
en_us) and Brazilian Portuguese (pt_br). - ๐พ Auto-Save & Persistency โ Settings save automatically to
config/cullify-client.toml.
๐ Geometric Culling Shapes
Unlike traditional culling mods, Cullify offers flexible mathematical boundary checks on the horizontal plane (X/Z) and vertical axis (Y):
| Shape | Geometry Mode | Description |
|---|---|---|
| ๐ข | Sphere | Culls blocks outside a 3D spherical radius. |
| ๐ | Cylinder | Culls blocks outside a horizontal circular radius (infinite Y). |
| ๐ฆ | Box | Culls blocks outside a 3D cubical bounding box. |
| ๐บ | Triangle | Culls blocks outside an equilateral triangular bounds centered on the player. |
| โฌก | Hexagon | Culls blocks outside a hexagonal boundary. |
| โญ | Star | Culls blocks outside a 6-point star (union of two intersecting triangles). |
| โน๏ธ | Square | Culls blocks outside a flat square grid. |
| ๐ต | Circle | Culls blocks outside a flat horizontal circular boundary. |
๐ฎ Controls & Commands
Configuring and inspecting Cullify in-game is easy:
โจ๏ธ Keybinds
Kโ Opens the custom Cullify GUI Config Screen.
๐ฌ Chat Commands
/cullify menuโ Opens the configuration GUI menu./cullify debugโ Toggles the real-time statistics HUD overlay./cullify statsโ Prints current performance statistics directly in chat./cullify verboseโ Toggles verbose logging for debugging./cullify reloadโ Forces a complete reload of the client level renderer chunks.
๐ ๏ธ Configuration
Configurations are stored at config/cullify-client.toml and updated dynamically:
[general]
# Enable or disable vegetation culling globally.
enabled = true
# Shape of the culling boundary around the player (SPHERE, CYLINDER, BOX, TRIANGLE, HEXAGON, STAR, SQUARE, CIRCLE).
cullingShape = "SPHERE"
# Enable culling of grass, ferns, and short grass.
cullGrass = true
# Enable culling of flowers and double-height flowers.
cullFlowers = true
# Enable culling of other decorative plants (dead bushes, kelp, seagrass, etc.).
cullOtherPlants = true
# Maximum distance in blocks to render grass, ferns, and tall grass.
# Range: 0 ~ 512
grassCullDistance = 48
# Maximum distance in blocks to render flowers and double-height flowers.
# Range: 0 ~ 512
flowerCullDistance = 48
# Maximum distance in blocks to render other decorative plants.
# Range: 0 ~ 512
otherPlantCullDistance = 32
# LOD density filter (0-100). 100 = keep all plants (disabled). Lower values thin out
# plants near the culling boundary using a deterministic hash.
# Range: 0 ~ 100
lodDensity = 100
# Enable debug overlay HUD to show culling stats and configuration status.
debugMode = false
๐ Compatibility
- Sodium / Embeddium โ Fully integrated. Hooks into Sodium's internal
LevelSlicerendering pipeline to batch-cull blocks in MDI (Multi-Draw Indirect) buffers. The Culling Shape option and general configurations are also registered directly in Sodium's Options Menu. - Vanilla Renderer โ Fallback compatibility included for standard Minecraft block rendering pipeline.
- No Server Mod Required โ Cullify is 100% client-side; you can join any server without issues.
๐ License
This mod is available under the GNU General Public License v3 (GPL-3.0). Feel free to use it in any modpacks!
โก Vibe Coding
This mod was built 100% using Vibe Coding! Developed entirely through AI-assisted pair programming, dynamic prompt iterations, and automated compilation loops. Let the vibes render! ๐