Skip to content

🏛️ Arquitectura y Mixins (Minecraft 26.1.2) ​

Camera Culling está diseñado bajo una estricta arquitectura de «1 archivo, 1 propósito» con ganchos Mixin de sobrecarga cero diseñados específicamente para el motor de renderizado de Minecraft 26.1.2.


📋 Puntos principales de intercepción de Mixin ​

Clase MixinClase objetivo de MinecraftMétodo objetivo y punto de inyecciónFunción
EntityRendererMixinnet.minecraft.client.renderer.entity.EntityRenderershouldRender @At("HEAD")Oclusión de entidades por muestreo multipunto y límites de densidad de multitudes
BlockEntityRenderDispatcherMixinnet.minecraft.client.renderer.blockentity.BlockEntityRenderDispatchertryExtractRenderState(BlockEntity, float, CrumblingOverlay) @At("HEAD")Cerramiento de 6 caras y oclusión de entidades de bloque por raycasting (3 argumentos)
BlockEntityRenderDispatcherMixinnet.minecraft.client.renderer.blockentity.BlockEntityRenderDispatchertryExtractRenderState(BlockEntity, float, CrumblingOverlay) @At("RETURN")Oclusión de cara posterior y texto en blanco en carteles (3 argumentos)
LivingEntityRendererMixinnet.minecraft.client.renderer.entity.LivingEntityRenderersubmit @At("HEAD") y @At("RETURN")Aplica y restablece el sesgo de LOD de mipmaps de OpenGL (GL_TEXTURE_LOD_BIAS)
SingleQuadParticleMixinnet.minecraft.client.particle.SingleQuadParticleextract @At("HEAD")Oclusión de partículas frente a geometría sólida
TextureAtlasMixinnet.minecraft.client.renderer.texture.TextureAtlascycleAnimationFrames @At("HEAD")Suprime la subida de texturas animadas al pausar o en menús modales

📁 Estructura de paquetes y directorios ​

text
net.vanillaoutsider.culling/
├── CameraCullingClient.java          # Punto de entrada ClientModInitializer de Fabric
├── config/
│   ├── CameraCullingConfig.java      # Modelo de datos y deserialización de JSON
│   ├── CullingProfile.java           # Enumeración LOW, MEDIUM, HIGH, SUPER
│   └── YaclScreenHelper.java         # Fachada de construcción de pantalla YACL v3
├── integration/
│   └── ModMenuIntegration.java       # Implementación de ModMenuApi con carga diferida
├── mixin/
│   ├── BlockEntityRenderDispatcherMixin.java
│   ├── EntityRendererMixin.java
│   ├── LivingEntityRendererMixin.java
│   ├── SingleQuadParticleMixin.java
│   └── TextureAtlasMixin.java
└── util/
    ├── AnimationCullingHelper.java    # Lógica de pausa y omisión de animaciones de atlas
    ├── BlockEntityCullingHelper.java  # Comprobación de cerramiento sólido en 6 caras
    ├── CullingDiagnosticsHelper.java  # Registro de diagnóstico y formato de chat
    ├── CullingRaycastHelper.java      # Motor de raycasting sin asignación de memoria
    └── SignCullingHelper.java         # Matemáticas de vectores de carteles y texto vacío

🔗 Páginas relacionadas ​

Official documentation & web portal for Dasik Igaijinn mods.