Skip to content

🏛️ Архитектура и миксины (Minecraft 26.2) ​

Camera Culling спроектирован в строгом соответствии с архитектурным принципом «1 файл, 1 назначение» с легковесными хуками Mixin, разработанными специально для движка рендеринга Minecraft 26.2.


📋 Основные точки внедрения Mixin ​

Класс MixinЦелевой класс MinecraftЦелевой метод и точка внедренияНазначение
EntityRendererMixinnet.minecraft.client.renderer.entity.EntityRenderershouldRender @At("HEAD")Многоточечное окклюзионное отсечение и проверка плотности толпы
BlockEntityRenderDispatcherMixinnet.minecraft.client.renderer.blockentity.BlockEntityRenderDispatchertryExtractRenderState @At("HEAD")6-стороннее окружение и отсечение блочных сущностей трассировкой
BlockEntityRenderDispatcherMixinnet.minecraft.client.renderer.blockentity.BlockEntityRenderDispatchertryExtractRenderState @At("RETURN")Отсечение задней грани и пустого текста табличек
LivingEntityRendererMixinnet.minecraft.client.renderer.entity.LivingEntityRenderersubmit @At("HEAD") и @At("RETURN")Применение и сброс смещения LOD мипмапов текстур OpenGL (GL_TEXTURE_LOD_BIAS)
SingleQuadParticleMixinnet.minecraft.client.particle.SingleQuadParticleextract @At("HEAD")Окклюзионное отсечение полигонов частиц за сплошной геометрией
TextureAtlasMixinnet.minecraft.client.renderer.texture.TextureAtlascycleAnimationFrames @At("HEAD")Подавление загрузки анимированных текстур при паузе и в меню

📁 Структура пакетов и классов ​

text
net.vanillaoutsider.culling/
├── CameraCullingClient.java          # Точка входа Fabric ClientModInitializer
├── config/
│   ├── CameraCullingConfig.java      # Модель данных конфигурации и десериализация JSON
│   ├── CullingProfile.java           # Перечисление LOW, MEDIUM, HIGH, SUPER
│   └── YaclScreenHelper.java         # Фасад построения графического интерфейса YACL v3
├── integration/
│   └── ModMenuIntegration.java       # Реализация ModMenuApi с отложенной загрузкой
├── mixin/
│   ├── BlockEntityRenderDispatcherMixin.java
│   ├── EntityRendererMixin.java
│   ├── LivingEntityRendererMixin.java
│   ├── SingleQuadParticleMixin.java
│   └── TextureAtlasMixin.java
└── util/
    ├── AnimationCullingHelper.java    # Логика паузы и пропуска анимаций атласов
    ├── BlockEntityCullingHelper.java  # Проверка 6-стороннего твердого окружения
    ├── CullingDiagnosticsHelper.java  # Диагностика и форматирование чата
    ├── CullingRaycastHelper.java      # Трассировка лучей с нулевым выделением памяти
    └── SignCullingHelper.java         # Математика нормалей табличек и проверка пустого текста

🔗 Связанные страницы ​

Official documentation & web portal for Dasik Igaijinn mods.