← Назад к ресурсам

OptimizeMod

Reduces server lag by throttling distant entity ticks, suspending mob AI, and limiting particles.

Modrinth optimization

Описание

# OptimizeMod > Keep distant simulation quiet so active gameplay gets more CPU time. OptimizeMod is a lightweight **Fabric** optimization mod for Minecraft **1.21.1**. Its goal is simple: reduce work on entities and effects that players are not actively interacting with. ## What OptimizeMod changes ### 1. Distance-based movement tick throttling (`EntityTickMixin`) Hook: `LivingEntity.tickMovement()` - Players are excluded. - If no player is found within sleep distance (`96` blocks by default), non-player living entities skip movement ticks (`ENTITY_TICK_SKIP = 4` by default). - If a player is present but farther than reduce distance (`48` blocks), movement updates are throttled (roughly every other tick). ### 2. Distance-based AI throttling (`MobEntityAIMixin`) Hook: `LivingEntity.tickNewAi()` (for `MobEntity`) - If no player is found within reduce distance (`48` blocks), AI updates are cancelled for that tick. - In mid-distance ranges, AI updates are partially throttled (every other tick). - While throttled/cancelled, `despawnCounter` is reset to avoid unwanted despawn side effects. ### 3. Particle throughput cap (`ParticleManagerMixin`, client) Hook: `ParticleManager.addParticle(...)` - Particle creation is capped with a local counter (`MAX_PARTICLES_LIMIT = 4000`). - Excess particle spawn requests are dropped when the cap is exceeded. - Intended to reduce client stutter from extreme particle bursts. ## Important accuracy notes - OptimizeMod does **not** guarantee fixed FPS/TPS/MSPT improvements. - Real impact depends on mob density, player spread, chunk activity, modpack composition, JVM/runtime settings, and test scenario. - Behavior changes for distant mobs/entities are intentional by design. ## Reproducible evaluation (recommended) To validate impact on your setup, compare baseline vs. OptimizeMod with identical conditions: 1. Same Java version, JVM args, mod list, seed, and config. 2. Same scenario and duration (recommended: 20-30 minutes per run). 3. At least 3 baseline runs + 3 OptimizeMod runs. 4. Collect comparable metrics: - p50/p95 MSPT (`spark` or equivalent) - CPU usage (process/system) - FPS/frame-time (client tests) 5. Compare distributions (median/p95), not one-off spikes. ## Installation 1. Install Fabric Loader for Minecraft 1.21.1 2. Install Fabric API 3. Place the OptimizeMod jar in `mods/` ## Compatibility - Designed to complement other optimization mods. - As with any mixin-based mod, test your exact modpack before production deployment.