Skip to content

🏛️ Architecture & Mixin Technical Reference (Minecraft 26.2) ​

Camera Culling is engineered with a strict "1 File, 1 Purpose" architecture and zero-overhead Mixin hooks designed specifically for the non-obfuscated Minecraft 26.2 rendering engine.


📋 Mixin Target Ledger ​

Mixin ClassTarget Minecraft ClassTarget Method & Injection PointFunction
EntityRendererMixinnet.minecraft.client.renderer.entity.EntityRenderershouldRender @At("HEAD")Multi-point raycast occlusion culling & crowd density checks
BlockEntityRenderDispatcherMixinnet.minecraft.client.renderer.blockentity.BlockEntityRenderDispatchertryExtractRenderState @At("HEAD")6-sided enclosure & raycast block entity culling
BlockEntityRenderDispatcherMixinnet.minecraft.client.renderer.blockentity.BlockEntityRenderDispatchertryExtractRenderState @At("RETURN")2-sided sign back-face & blank text culling
LivingEntityRendererMixinnet.minecraft.client.renderer.entity.LivingEntityRenderersubmit @At("HEAD") & @At("RETURN")Applies & resets OpenGL Texture LOD mipmap bias (GL_TEXTURE_LOD_BIAS)
SingleQuadParticleMixinnet.minecraft.client.particle.SingleQuadParticleextract @At("HEAD")QuadParticle occlusion culling against solid geometry
TextureAtlasMixinnet.minecraft.client.renderer.texture.TextureAtlascycleAnimationFrames @At("HEAD")Suppresses off-screen animated texture uploads

🌳 Package Hierarchy ​

text
net.vanillaoutsider.culling
├── CameraCullingClient.java               (ClientModInitializer & stats counters)
├── ModVersionGuard.java                   (Knot classloader version integrity guard)
│
├── command
│   └── CameraCullingCommand.java          (FabricClientCommandSource Brigadier syntax tree)
│
├── config
│   ├── CameraCullingConfig.java           (JSON serialization for client & server configs)
│   ├── CullingLevel.java                  (LOW, MEDIUM, HIGH, SUPER intensity profiles)
│   ├── ModMenuIntegration.java            (ModMenu API entrypoint with deferred YACL factory)
│   └── YaclScreenHelper.java              (YetAnotherConfigLib v3 screen builder)
│
├── mixin
│   ├── BlockEntityRenderDispatcherMixin.java
│   ├── EntityRendererMixin.java
│   ├── LivingEntityRendererMixin.java
│   ├── SingleQuadParticleMixin.java
│   └── TextureAtlasMixin.java
│
└── util
    ├── AnimationCullingHelper.java        (Pauses atlas upload when paused/in menus)
    ├── BlacklistHelper.java               (Client & server entity blacklist evaluation)
    ├── BossDetectionHelper.java           (Dynamic HP thresholding & name heuristics)
    ├── CullingDiagnosticsHelper.java      (Real-time chat & log state transition tracing)
    ├── CullingRaycastHelper.java          (Zero-allocation primitive raycasting & hysteresis)
    ├── ParticleCullingHelper.java         (4m proximity bubble & visual clip raycasting)
    ├── SignTextCullingHelper.java         (Vector normal dot products for 2-sided signs)
    └── TextureLodHelper.java              (3-tier OpenGL mipmap LOD bias calculation)

Official documentation & web portal for Dasik Igaijinn mods.