
CobblemonOptimizer
CobbleOptimizer is a server-side Fabric mod that reduces lag caused by Cobblemon's Pokemon entities.
Список изменений
Changes — v4.3.3
- Removed console log spam
The Batch despawn: removed X (Y aged out) [Skitty x6, Bramblin x4, ...] log line was being printed on every sweep cycle (every ~10 seconds when entities were
despawned). It's now gone. Internal counters (lastDespawnCount, lastAgeDespawnCount) are still updated and remain visible via the /cobbleoptimizer status
command — only the log noise was removed.
- TPS-gated sweep
Previously the batch despawn ran on a fixed timer (every check_interval_ticks, default 200 ticks = 10s) regardless of server health. Now it only runs when TPS drops below a configurable threshold.
New config field: batch_despawn.tps_threshold (default 18.0).
- TPS ≥ 18.0 → no despawn sweep (server is healthy, no need)
- TPS < 18.0 → sweep runs at the normal interval
This brings batch despawn in line with the other features (tick_throttle, ai_freeze), which already use the same TPS-gating pattern.
- Emergency override preserved
The forceNextSweep() flag (used by the Emergency Manager when TPS drops below emergency.tps_threshold, default 12.0) bypasses both the interval check and the new TPS gate. So even if you set batch_despawn.tps_threshold to something low like 14.0, an emergency at TPS 11 will still force an immediate sweep.
Files changed (mirrored on Fabric + NeoForge)
- CobbleOptimizerConfig.kt — added tpsThreshold: Double = 18.0 to BatchDespawnConfig
- BatchDespawnManager.kt — added TPS gate, removed log line, removed dead species-counting code
- ConfigManager.kt — TOML parse/write, key list, and setValue support for the new field
- ConfigValidator.kt — validates tps_threshold in range 1.0..20.0
- gradle.properties — version bumped 4.3.2 → 4.3.3
How to tune
/cobbleoptimizer config set batch_despawn.tps_threshold 17.0 # stricter (only at 17 TPS) /cobbleoptimizer config set batch_despawn.tps_threshold 19.5 # more aggressive /cobbleoptimizer config set batch_despawn.tps_threshold 20.0 # effectively "always on" (old behavior)
The change is backwards-compatible: existing cobbleoptimizer.toml files without the new key fall back to the default 18.0 and the key is written on the next save.