
Mobs blame you for damage you caused but did not deal. Pour lava on a pillager, light a fire under a zombie, plant a cactus in a farm, or mine the block under a creeper — in vanilla none of that is your fault. Indirect Aggro closes that gap, and only when a specific player can actually be named.
Install on the server (and in singleplayer). Clients do not need it; a client-only install is harmless but does nothing.
Dependencies: Fabric & NeoForge require Architectury API. Forge requires no additional dependencies.
Free to use in any modpack — public or private, no permission needed.
What it does
- Four causes, each with its own switch — lava you poured (including flow connected to it), fire you lit with flint and steel or a fire charge, cactus you placed (including blocks it grew afterwards), and fall damage after you broke the block the mob was standing on.
- Same reaction as a hit — the mob targets you, you are recorded as its last attacker (so piglins, bees, and wolves bring friends), and mobs with persistent anger stay angry after losing sight of you.
- Only when that damage actually lands — a zombified piglin answers for cactus or a fall, never for fire or lava it cannot take.
- No aggro without attribution — natural lava lakes, lightning fires, and ravine falls blame nobody. The mod never picks the nearest player.
Configuration
config/indirectaggro.json, written on first launch with a comment above every key. Edit and save — the mod reloads within about five seconds. No restart and no command. Datapack tag changes still need /reload.
Defaults that matter most:
enabledtrue/debugLoggingfalse— master switch; debug prints one line per indirect hit (cause, player, verdict), including every reason a mob was left alonecauses.lava/fire/cactus/fallAfterBlockRemoved— alltrue; turn any off independentlyattribution.claimLifetimeTicks24000— how long a hazard stays yours (one Minecraft day); claims are memory-only and vanish on restartattribution.maxTrackedBlocksPerLevel4096— per-dimension claim cap (oldest dropped first)attribution.lavaFlowSearchRadius8/fireSpreadSearchRadius2/cactusGrowthSearchRadius3— how far connected lava / fire / cactus is walked back to your claim (0= exact block only)attribution.maxBlocksVisitedPerSearch512— hard ceiling on that walkattribution.fallBlameWindowTicks100— how long after you break a block a fall still counts as yoursattribution.blameWhileStillBurningtrue+stillBurningBlameWindowTicks200— keep blaming after the mob leaves your fire/lava while still on fireattribution.extraFireStarterItems— extra item ids for modded lighters (flint and steel / fire charges always count)targets—#indirectaggro:blamed/#indirectaggro:never_blamed(deny always wins),onlyBlameTaggedMobs, and toggles for hostile / neutral / passive / owned pets (blameOwnedPetsdefaultsfalse)aggro.retargetCooldownTicks40/persistentAngerDurationTicks600/setLastHurtByPlayertrue/maxPlayerDistance64.0(0= no distance limit)
Out-of-range numbers are clamped; a broken file is logged and replaced with defaults.
Details
- Fire-immune mobs never react to lava or fire — no damage tick means nothing to attribute. Cactus and falls still work on them.
- Claims do not survive a restart. Scooping lava with a bucket clears the claim with it.
- Fire that spread on its own is followed only within
fireSpreadSearchRadius(default 2). Diagonal fire jumps are not followed. - Falls: the mob must have been standing on the block you broke; a fall that ends above that block is not yours. Pistons, scaffolding two blocks away, and water removals are out of scope.
- Only vanilla
lava,fire,soul_fire, andcactusare recognized as hazard blocks. The mod never changes how much damage anything deals — it only sets a target. - Tag folder name:
entity_typeson 1.19.2 / 1.20.1;entity_typeon 1.21+.
Feedback
Please report any bugs, errors, or feature suggestions on Discord: https://discord.gg/HTkn94BXmA
More mods by Nikrecs: Swing Through Grass · DeathCompass
My other mods that I recommend.
