Cullify

An advanced client-side culling system focused on dynamic graphics optimization, starting with smart distance culling for vegetation without modifying the world.

File Details

Cullify-1.0.1.jar

  • R
  • Jun 21, 2026
  • 198.79 KB
  • 11
  • 1.21.1
  • NeoForge

File Name

cullify-1.0.1.jar

Supported Versions

  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:cullify-1582707:8296169"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more aboutย Curse Maven

๐Ÿ“‹ Changelog / Update Log

All notable changes to Cullify are documented here.


[Release] / [1.0.1]

โœจ New Features

  • ๐Ÿ“‰ LOD Density Filter: Added a deterministic, flicker-free density filter (lodDensity in config) that thins out vegetation in the outer 50% of the culling boundary. Available settings: OFF, 75%, 50%, and 25%.
  • ๐ŸŒฟ Double-Tall Block Synchronization: Double-block plants (e.g., Tall Grass, Large Ferns, Sunflowers, Peonies) now calculate their culling state using the lower block's position, ensuring both halves are always kept or culled in perfect sync.
  • ๐ŸŒ Brazilian Portuguese Localization: Full translation support added (pt_br.json) for all config keys, buttons, tooltips, and menus.

๐Ÿงช Sodium & UI Integrations

  • โš™๏ธ Sodium Config UI Integration: The Culling Shape selection is now dynamically registered directly into the Sodium Options Menu screen when Sodium is detected at runtime.
  • ๐Ÿ”˜ Screen Options: Added the new LOD Density selector directly to the custom Cullify GUI Config Screen (K menu).

โšก Performance & Thread-Safety Optimizations

  • ๐Ÿ”’ Thread-Safe Render Updates: Section rebuild triggers (invokeSetSectionDirty) are now safely queued and executed on the client's main thread instead of worker threads, avoiding concurrency issues.
  • ๐Ÿš€ Configuration Cache: Cached configuration properties (cachedEnabled, cachedShape, cachedCullGrass, etc.) directly on the JVM heap to avoid expensive, high-frequency ModConfigSpec.Value.get() calls in hot rendering loops.
  • ๐Ÿ“ฆ Lazy Section Vegetation Scan: Implemented a lazy check (cullify$hasVegetation cache) in the LevelSlice mixin to quickly skip empty sections that do not contain any target plant blocks.