Mobtimizer

Merges same-kind mobs into a single ticking entity to cut farm lag, while keeping every merged mob a real entity you get back.

Mobtimizer

Merges same-kind mobs into a single ticking entity carrying a member count, cutting the performance cost of large farms without changing how those farms behave.

Merged members stay in the world as real, frozen entities rather than being deleted and counted. That is the central design bet: removing the mod gives you back every mob, instead of leaving you with one cow where a farm used to be.

What it does

Merging Same-kind mobs merge once a crowd of 4 forms, counted by true mob count, so a 3-stack plus one loose cow qualifies
Count label Shown on hover using the mob's ordinary custom name, so vanilla clients need nothing installed
Breeding safe Babies, animals in love, and animals on a breeding cooldown are never stacked
Vanilla breeding Feeding a stack releases one member as a partner and puts that animal in love, never the stack itself
Auto rejoin Bred parents sit out their cooldown unstacked, then rejoin the herd automatically
Death handling Killing a stacked host promotes a member rather than losing the stack
Persistence Stacks survive world reloads and server restarts
Reversible A full command set for putting everything back

Requirements

Minecraft 26.2, Fabric Loader 0.19.3+, Java 25+, and Fabric API (required, not bundled).

Works in single-player, and on a dedicated server with entirely vanilla clients.

Commands

Command Effect
/mobtimizer unstack all Release every stacked mob in the current level
/mobtimizer unstack here [radius] Release stacks within radius blocks, default 16
/mobtimizer unstack type <id> Release stacks of one entity type
/mobtimizer stats Report how many mobs are held in how many stacks
/mobtimizer reload Re-read the config file

All require permission level 2.

Configuration

config/mobtimizer.json, created on first run. /mobtimizer reload applies changes without a restart. You can tune the merge radius, the crowd threshold, scan interval, the count label format, freeze aggressiveness, and a per-entity allowlist or denylist.

What never stacks

Beyond the denylist (villagers, wandering traders and bosses by default), a mob is left alone if it is named, leashed, tamed, riding or ridden, persistent, has no AI, is invulnerable, is a baby, is in love, or is on a breeding cooldown. Each of those is either a deliberate player setup or a mechanic that would break if the mob were frozen.

Uninstalling

Delete the jar. Members are real entities the whole time, so they simply wake up on the next load. No migration step, no lost mobs. For a clean exit, run /mobtimizer unstack all first.

Current scope

This is an early release and deliberately does not scale every mechanic yet. Damage routing by source, scaled breeding (100 wheat yielding 50 babies), scaled production, and mob-cap reporting are all planned. What ships today is stacking that is correct, safe and fully reversible.

Play-tested on cows and sheep. Not yet verified alongside mods that rewrite entity ticking or death paths, such as Lithium.

Bug reports and source

Bug reports, feature ideas and pull requests are genuinely welcome. This is actively being improved.

Report a bug: https://github.com/Aff55/Mobtimizer/issues

Source code: https://github.com/Aff55/Mobtimizer

Documentation: https://github.com/Aff55/Mobtimizer#readme

When reporting an issue, please include your Minecraft and Fabric API versions, your other installed mods, and latest.log if the game misbehaved.

Made by Aff55. MIT licensed.

The Mobtimizer Team

profile avatar
Owner
  • 1
    Projects
  • 5
    Downloads