Skip to content

26.3 Architecture and Mixins

Dasik edited this page Aug 20, 2026 · 1 revision

πŸ›οΈ Architecture & Mixin Technical Reference (Minecraft 26.3)

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


πŸ“‹ Mixin Target Ledger

Mixin Class Target Minecraft Class Target Method & Injection Point Function
EntityRendererMixin net.minecraft.client.renderer.entity.EntityRenderer shouldRender @At("HEAD") Multi-point raycast occlusion culling & crowd density checks
BlockEntityRenderDispatcherMixin net.minecraft.client.renderer.blockentity.BlockEntityRenderDispatcher tryExtractRenderState @At("HEAD") 6-sided enclosure & raycast block entity culling
BlockEntityRenderDispatcherMixin net.minecraft.client.renderer.blockentity.BlockEntityRenderDispatcher tryExtractRenderState @At("RETURN") 2-sided sign back-face & blank text culling
LivingEntityRendererMixin net.minecraft.client.renderer.entity.LivingEntityRenderer submit @At("HEAD") & @At("RETURN") Applies & resets OpenGL Texture LOD mipmap bias (GL_TEXTURE_LOD_BIAS)
SingleQuadParticleMixin net.minecraft.client.particle.SingleQuadParticle extract @At("HEAD") QuadParticle occlusion culling against solid geometry
TextureAtlasMixin net.minecraft.client.renderer.texture.TextureAtlas cycleAnimationFrames @At("HEAD") Suppresses off-screen animated texture uploads

🌳 Package Hierarchy

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)

πŸ”— Related Pages

Clone this wiki locally