Hardware-Based Auto-Tuning
Voxy World Gen V2 includes intelligent hardware detection that automatically configures optimal settings on first run.Auto-Configuration Process
When no configuration file exists, the mod analyzes your system (Config.java:19-30):Hardware Detection
- maxActiveTasks: 20 concurrent tasks (suitable for 4-8 core systems)
- generationRadius: 128 chunks (balanced for most hardware)
Understanding CPU Core Utilization
ThemaxActiveTasks setting directly controls CPU utilization:
Task-to-Core Ratio:
- Each active task performs chunk generation work
- Multiple tasks can share a single core via thread scheduling
- Optimal ratio depends on workload characteristics
| CPU Type | Cores | Conservative | Balanced | Aggressive |
|---|---|---|---|---|
| i5-12400 | 6 | 9 | 15 | 24 |
| Ryzen 5 5600X | 6 | 9 | 15 | 24 |
| i7-13700K | 16 | 24 | 40 | 64 |
| Ryzen 9 7950X | 16 | 24 | 40 | 64 |
| Threadripper | 32 | 48 | 80 | 128 |
Configuration Reload Mechanism
Voxy World Gen V2 supports hot-reloading configuration without restarting Minecraft.Reload Trigger
Configuration reloads are scheduled via thescheduleConfigReload() method (ChunkGenerationManager.java:566-568):
Reload Scheduling
Reload Process
On the next game tick, the system executes the reload (ChunkGenerationManager.java:357-361):- Load Configuration: Reads
voxyworldgenv2.jsonand parses updated values - Update Throttle: Adjusts the semaphore capacity for
maxActiveTasks - Restart Scan: Recalculates chunk distances and generation priorities
Reload Implementation
Throttle Capacity Update
TheupdateThrottleCapacity() method dynamically adjusts concurrent task limits (ChunkGenerationManager.java:490-497):
Dynamic Throttle Adjustment
- Calculates current permits (available + in-use)
- If target is higher, releases additional permits
- If target is lower, naturally drains as tasks complete
- No tasks are forcibly terminated
Disk Usage and saveNormalChunks
ThesaveNormalChunks setting has significant implications for disk space and world persistence.
Disk Space Impact
Chunk storage calculations:Implementation Details
WhensaveNormalChunks = false (ChunkGenerationManager.java:323-328):
Unsaved Chunk Handling
- Mark chunk as LOD in the tracker (in-memory only)
- Set chunk’s unsaved flag via mixin (prevents disk write)
- Increment skipped counter for statistics
- Chunk data remains in memory during session
- Lost on world reload
Trade-offs Analysis
| Setting | Disk Usage | Load Time | Regeneration | Best For |
|---|---|---|---|---|
true | High | Fast | None | Survival, long-term worlds |
false | Minimal | Fast initial, slow after reload | Full regen each load | Preview, testing, limited disk |
Performance Tuning Recommendations
Profiling Your System
Before optimizing, establish baseline performance:-
Monitor TPS: Press F3 and check “TPS” in debug info
- Target: 20 TPS (ideal)
- Acceptable: 18-20 TPS
- Warning: <18 TPS (reduce load)
-
Watch Generation Stats: Enable
showF3MenuStats = true- Active tasks should stay near
maxActiveTasks - Monitor chunks/second throughput
- Check for throttling indicators
- Active tasks should stay near
-
CPU Monitoring: Use system tools
- Task Manager (Windows)
- Activity Monitor (macOS)
- htop/top (Linux)
Optimization Strategies
Strategy 1: Maximize Throughput
Goal: Generate chunks as fast as possible, accept temporary performance impactHigh-Throughput Configuration
- Pre-generating worlds while AFK
- Server setup before players join
- High-end workstations (16+ cores)
Strategy 2: Balanced Background Generation
Goal: Generate chunks while playing without impacting gameplayBalanced Configuration
- Active gameplay sessions
- Mid-range systems (8-12 cores)
- Maintaining 18+ TPS
Strategy 3: Minimal Impact
Goal: Generate chunks with negligible performance impactLow-Impact Configuration
- Low-end systems (4-6 cores)
- Streaming/recording gameplay
- Performance-sensitive applications
Strategy 4: Temporary Preview World
Goal: Quickly explore world generation without disk commitmentPreview Configuration
- Testing world seeds
- Screenshot tours
- Temporary exploration
- Limited disk space scenarios
Fine-Tuning Process
- Start with defaults: Let auto-configuration run
- Measure baseline: Play for 15-30 minutes, note TPS
- Adjust incrementally: Change one setting at a time
- Test thoroughly: Play for 15-30 minutes after each change
- Monitor stability: Ensure TPS stays above 18
- Iterate: Repeat steps 3-5 until optimal
Advanced Use Cases
Server Pre-Generation
For multiplayer servers, pre-generate the world before players join:-
Configure for maximum throughput:
- Start server with no players
- Teleport to key locations to trigger generation
- Monitor progress via F3 stats
-
When complete, reduce to balanced settings:
Memory-Constrained Environments
For systems with limited RAM (8GB or less):Memory-Optimized Configuration
- Reduce Minecraft’s render distance
- Close other applications
- Allocate appropriate JVM memory (4-6GB)
- Consider using Sodium for better performance
Testing and Development
For mod developers and world designers:Development Configuration
- Fast iteration (no disk writes)
- Visible statistics for debugging
- Balanced performance for testing
- Easy world reset (just reload)
Troubleshooting Performance Issues
High CPU Usage
Symptoms: CPU at 100%, system slow, other applications lag Solutions:- Reduce
maxActiveTasksby 50% - Increase
update_interval(if using legacy version) - Lower
generationRadius - Close background applications
Low TPS
Symptoms: Game runs below 18 TPS, noticeable lag Solutions:- Reduce
maxActiveTasksto 10-15 - Check for throttling (TPS monitor system)
- Verify no other performance mods conflict
- Consider using performance optimization mods
Out of Memory Errors
Symptoms: Java heap space errors, crashes Solutions:- Reduce
maxQueueSizeto 10000 or lower - Lower
generationRadius - Set
saveNormalChunks = falsetemporarily - Increase JVM heap size (-Xmx flag)
- Restart Minecraft periodically
Disk Space Exhaustion
Symptoms: Disk full warnings, slow saves Solutions:- Set
saveNormalChunks = false - Delete old LOD chunk data
- Reduce
generationRadius - Clean up old world saves
Related Documentation
Configuration Overview
Learn about the config file and ModMenu integration
Configuration Settings
Complete reference for all configuration options