🖥️ Graphical GUI Configuration (Minecraft 26.1.2)
Camera Culling provides optional, modern graphical configuration screen support powered by YetAnotherConfigLib (YACL v3) and ModMenu.
📋 GUI Integration Infobox
| Property | Value |
|---|---|
| Supported GUI Engines | YetAnotherConfigLib v3 (YACL) + ModMenu |
| Integration Pattern | Deferred classloading (ConfigScreenFactory) |
| Server-Crash Safety | 100% Safe — zero client GUI class references in server entrypoints |
| Menu Categories | 3 Dedicated Tabbed Categories |
🗂️ GUI Category Breakdown
text
Camera Culling Settings Screen
├── 1. Engine & Diagnostics
│ ├── Master Enable (TickBox)
│ ├── Culling Level (Dropdown: LOW, MEDIUM, HIGH, SUPER)
│ └── Real-Time Debug Logging (TickBox)
│
├── 2. Entity & Crowd Occlusion
│ ├── Crowd Overdraw Culling (TickBox)
│ ├── Max Cluster Entities Cap (Slider: 1 to 32)
│ ├── Boss & Mini-Boss Immunity (TickBox)
│ ├── Major Boss Health Threshold (Numeric Field, default: 150.0 HP)
│ └── Mini-Boss Health Threshold (Numeric Field, default: 50.0 HP)
│
└── 3. Blocks, Particles & Animations
├── Particle Culling (TickBox)
├── Block & Texture Animation Culling (TickBox)
├── 2-Sided Sign Text Culling (TickBox)
├── Distance Texture LOD (TickBox)
├── Distance Texture LOD Start Distance (Slider: 8m to 64m)
└── Distance Texture LOD Far Distance (Slider: 16m to 128m)🛡️ Deferred Classloading & Crash Safety
java
public class ModMenuIntegration implements ModMenuApi {
@Override
public ConfigScreenFactory<?> getModConfigScreenFactory() {
if (FabricLoader.getInstance().isModLoaded("yet_another_config_lib_v3")) {
return YaclScreenHelper.createFactory();
}
return parent -> null;
}
}If YACL is not installed, all settings can be adjusted via Commands & Configuration or by editing config/camera-culling.json.
