
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.
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:
enabled true / debugLogging false — master switch; debug prints one line per indirect hit (cause, player, verdict), including every reason a mob was left alonecauses.lava / fire / cactus / fallAfterBlockRemoved — all true; turn any off independentlyattribution.claimLifetimeTicks 24000 — how long a hazard stays yours (one Minecraft day); claims are memory-only and vanish on restartattribution.maxTrackedBlocksPerLevel 4096 — per-dimension claim cap (oldest dropped first)attribution.lavaFlowSearchRadius 8 / fireSpreadSearchRadius 2 / cactusGrowthSearchRadius 3 — how far connected lava / fire / cactus is walked back to your claim (0 = exact block only)attribution.maxBlocksVisitedPerSearch 512 — hard ceiling on that walkattribution.fallBlameWindowTicks 100 — how long after you break a block a fall still counts as yoursattribution.blameWhileStillBurning true + stillBurningBlameWindowTicks 200 — 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 (blameOwnedPets defaults false)aggro.retargetCooldownTicks 40 / persistentAngerDurationTicks 600 / setLastHurtByPlayer true / maxPlayerDistance 64.0 (0 = no distance limit)Out-of-range numbers are clamped; a broken file is logged and replaced with defaults.
fireSpreadSearchRadius (default 2). Diagonal fire jumps are not followed.lava, fire, soul_fire, and cactus are recognized as hazard blocks. The mod never changes how much damage anything deals — it only sets a target.entity_types on 1.19.2 / 1.20.1; entity_type on 1.21+.Please report any bugs, errors, or feature suggestions on Discord: https://discord.gg/HTkn94BXmA
My other mods that I recommend.