▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/Fork Client
Fork Client

Fork Client

The modern utility mod for Fabric with a customizable HUD, Click GUI, rendering, and QoL additions for Minecraft.

Оцените первым
859
7
Все версии→Fork Client 1.1.6+26.2

Fork Client 1.1.6+26.2

Release20.08.2026

Список изменений

1. src/main/java/com/mahidx7/forkclient/client/modules/EntityCullingModule.java

  • Static utility class (follows AntiKnockbackModule pattern)
  • Async thread pool (Executors.newFixedThreadPool, daemon threads at NORM_PRIORITY - 1)
  • Double-buffered results — writeBuffer (ConcurrentHashMap) receives worker results; readBuffer (volatile) is read by the render thread after an atomic swap
  • DDA ray-step path-tracing — walks a ray from camera to entity center through the block grid, stepping one block at a time via the axis-crossing DDA algorithm
  • Occlusion check uses BlockState.isSolidRender() — the exact predicate MC uses internally for face-culling during chunk meshing (passes for stone/dirt/deepslate, fails for glass/water/leaves/slabs)
  • Entities too close (< 1.5 blocks) or too far (> 128 blocks) are never culled (avoids visual artefacts)
  • Position-keyed via spatial hash (x73856093 ^ y19349669 ^ z*83492791) for frame-to-frame matching

2. src/main/java/com/mahidx7/forkclient/mixin/LevelRendererMixin.java

  • @Inject at HEAD of submitEntities — calls EntityCullingModule.update() with the entity render state list and camera position
  • @Redirect on EntityRenderDispatcher.submit() — intercepts each entity dispatch and skips rendering if shouldSkip(state) returns true Modified files:

3. ForkClientController.java:332 — registered "entity_culling" module under ModuleCategory.VISUAL

4. fork-client.mixins.json — added "LevelRendererMixin" to the client mixin list Architecture

Frame N:
  submitEntities() called
    └─ @Inject HEAD → EntityCullingModule.update()
         ├─ Swap double buffers (Frame N-1 writes → Frame N reads)
         ├─ Populate skipPositions from readBuffer (cached results)
         └─ Submit async trace tasks for cold entries → writeBuffer.`

    └─ for each EntityRenderState:
         └─ @Redirect on dispatcher.submit()
              └─ if shouldSkip(state) → return (skip rendering)
              └─ else → dispatcher.submit() (normal path).

One frame of latency (standard for async entity culling — used by Sodium, Etho's EntityCulling, etc.) ensures the render thread never stalls on ray-tracing.

Файлы

fork-client-1.1.6+26.2.jar(1.99 MiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

1.1.6+26.2

Загрузчики

Fabric

Версии игры

26.2

Загрузок

42

Дата публикации

20.08.2026

Загрузил

ID версии

Главная