Entity Culling

Entity Culling

Using async path-tracing to hide Block-/Entities that are not visible

92.3M downloads
Created Apr 9, 2026
by tr7zw

About

Entity Culling Banner

<p align="center" style="text-align: center;"> <a href="https://discord.gg/caVV5eXekm"><img src="https://tr7zw.github.io/uikit/social_buttons_icon/Discord-Button-64.png" alt="Discord" style="margin: 5px 10px;"></a> <a href="https://github.com/tr7zw/EntityCulling"><img src="https://tr7zw.github.io/uikit/social_buttons_icon/Github-Button-64.png" alt="GitHub" style="margin: 5px 10px;"></a> <a href="https://modrinth.com/mod/entityculling"><img src="https://tr7zw.github.io/uikit/social_buttons_icon/Modrinth-Button-64.png" alt="GitHub" style="margin: 5px 10px;"></a> <a href="https://www.curseforge.com/minecraft/mc-mods/entityculling"><img src="https://tr7zw.github.io/uikit/social_buttons_icon/Curseforge-Button-64.png" alt="GitHub" style="margin: 5px 10px;"></a> <a href="https://ko-fi.com/tr7zw"><img src="https://tr7zw.github.io/uikit/social_buttons_icon/Kofi-Button-64.png" alt="Ko-fi" style="margin: 5px 10px;"></a> </p>

<br>Divider

<img src="https://tr7zw.github.io/uikit/headlines/large/About.png" alt="About" style="margin: 5px 10px;">

Modern Minecraft rendering is fast—but not always smart. Why render block entities and mobs that are hidden behind walls or ceilings and are completely out of sight, when you could just skip them entirely?

This mod introduces asynchronous path-tracing to efficiently determine what's actually visible to the player. By leveraging multiple CPU cores, it calculates line-of-sight visibility in real time and eliminates unnecessary draw calls for hidden block entities and entities.

The result?
Smarter rendering. Less overhead. More performance.

<br>Divider

<br>Features

Unlock untapped performance by only rendering entities that truly matter. This mod goes beyond conventional optimization to bring next-level visibility optimization to deliver advanced visibility culling for Minecraft, giving you smoother gameplay.

Multithreaded Path-Tracing

  • Uses spare CPU threads to rapidly calculate visibility
  • Runs alongside the main game thread without blocking
  • Updates visibility data in real time

Smart Occlusion Culling

  • Skips the rendering of block entities and mobs hidden behind terrain or structures
  • Works like Minecraft's back-face culling, but smarter
  • Reduces GPU load without sacrificing visual fidelity

Entity Tick Optimization

  • Reduces client impact from entities that are not visible
  • Only updated the essentials
  • Fully configurable and compatible with most mods
<br>

Essential<br>

<br>Divider

<br>Compatibility & Dependencies

MinecraftLoaderStatusVersionNote
1.19.4+Fabric/Forge/NeoForge✅ SupportedLatest
1.16.5-1.19.2Fabric/Forge❌ Not supportedOutdatedMight get new updates at some point
1.12.2/1.8.9Forge❌ Not supportedOutdatedMight get new updates at some point
1.7.10Forge❌ Not supportedOutdatedNo updates planned
b1.7.3Babric❌ Not supportedOutdatedNo updates planned

<br>Divider

<br>Screenshots / Media

Stage View
A direct comparison with and without EntityCulling active. Testing was conducted in Scarland (Hermitcraft Season 9) with render distance set to 16 chunks. The mods Sodium, Iris and ImmediatelyFast were used alongside EntityCulling, running on Minecraft 1.21.5 with the Fabric mod loader.

<br>Divider

<br>Known Issues

Client-side entities, commonly used by magic mods for animations, may not behave as expected. Whitelist the relevant entities via the config screen for tick culling and/or entity culling.

You’ll also need to whitelist block entities that render well beyond their normal bounds. Examples include the vanilla beacon, pulleys from Create, and certain Botania blocks.

<br>Divider

<br>FAQ

Does this need to be installed on the server?

No. This is a fully client-side mod and does not need to be installed on the server.

Will this affect mob behavior or farms?

No. The mod only skips rendering—not simulation. Mobs will continue to spawn, move, and drop items as expected. Your farms and other gameplay mechanics will remain unaffected.

I have "Use Entity Culling" enabled in Sodium - does this still help?

Yes! While Sodium performs basic visibility checks based on loaded chunks, this mod goes further. It analyzes the actual line-of-sight visibility, skipping entities that are within visible chunks but not actually visible to the player. It’s a much more aggressive and accurate approach.

<br>Divider

<br>Credits & license

👤 Thanks to RoboTricker for his Transport-Pipes plugin, which created the foundation for this mod. <br><br> 👤 Thanks to vicisacat for the Babric Beta 1.7.3 backport. <br><br> 👤 Thanks to Pelotrio for the Forge 1.7.10 backport. <br><br> 👤 Thanks to the awesome translators and contributors on GitHub! <a href="https://github.com/tr7zw/EntityCulling/graphs/contributors"> <img src="https://tr7zw.github.io/uikit/links/underlined/more_details.png" style="vertical-align: middle;" alt="Link"> </a> <br><br> 📄 License: tr7zw Protective License <br> Feel free to use this mod in your Modrinth and CurseForge-hosted modpacks or YouTube videos without asking for permission. Do not redistribute the JAR files anywhere else!

Versions

v1.9.5Latest
1.20.4neoforgeDec 30, 2025

## What's Changed * Fix nametag inconsistency causing fps loss in later versions * Added option to force a culling box on unconfigured display entities. This will increase fps on servers/maps that did not configure their displays, but can cause visual issues for really big displays (Default is off) * Add new translations for block entity culling by @Texaliuz in https://github.com/tr7zw/EntityCulling/pull/260 **Full Changelog**: https://github.com/tr7zw/EntityCulling/compare/1.9.4...1.9.5

Download

Download

Download v1.9.5

Minecraft: 1.20.4

Loaders: neoforge

Tags

babricfabricforgeneoforgequilt1.21.71.21.81.21.91.21.101.21.11