
Mobs stop giving up at knee-high obstacles. Vanilla will not path through a fence, wall, or closed gate — or across even a one-block gap — so a zombie that can see you just stands and swings at the air. MobHop gives every ground PathfinderMob one honest, survival-weight hop: if the obstacle is short enough (or the gap narrow enough), there is room above, and a safe landing on the other side, the mob clears it.
This is not a parkour mod. No climbing, no wall-running, and no ability unlocked by config: hops are capped in code at three blocks of height and two of gap, and ship at 1.5 and 1 — a vanilla fence, and a single empty column.
Install on the server (and in singleplayer). Clients do not need the mod for mobs to hop, but the jar declares both sides — keep it on both if your pack checks.
Dependencies: Fabric & NeoForge require Architectury API (and Fabric API on Fabric). Forge requires no additional dependencies.
Free to use in any modpack — public or private, no permission needed.
What it does
- Every
PathfinderMob— zombies, skeletons, creepers, spiders, illagers, golems, villagers, animals, and modded mobs that extend the same class. Flyers, swimmers, slimes, and shulkers are left alone. - Fences, walls, gates, and ledges — anything between
minObstacleHeightandmaxHopHeightof collision; modded fences and walls work without a whitelist. - One-block gaps — a single empty column between two surfaces is hopped by default (level, up, or down). Wider gaps stay off unless you raise
maxGapWidth. - Measured jumps — landing distance and air time are worked out before takeoff; hops that would not make it are refused.
- Safe landings — no lava/fire/hazards, no pit it cannot climb out of, no ceiling clip, no ledge too narrow for the body, no unloaded chunks at the border.
- Datapack tags —
#mobhop:can_hop,#mobhop:cannot_hop, and#mobhop:hazardsmerge across packs the normal way. - Live config — save
config/mobhop.jsonand changes apply within a few seconds; no restart and no/reload.
Configuration
config/mobhop.json is written on first launch (every key is commented in the file). A bad parse renames the file to mobhop.json.bak and restores defaults instead of taking the server down.
Defaults that matter most:
maxHopHeight1.5— tallest obstacle (vanilla fence / wall / closed gate); hard ceiling3.0minObstacleHeight0.6— at or below this, vanilla step-up handles itmaxGapWidth1.0— widest air run hopped (0.0= obstacles only; hard ceiling2.0)maxDropHeight3.0— deepest accepted landing below the obstacle toponlyWhenChasingfalse— settrueso only mobs with an attack target hop (keeps livestock in pens)restrictToCanHopTagfalse— settruefor an allow-list via#mobhop:can_hop(shipped empty)refuseHazardousLanding/requireSolidLanding— bothtrueby defaultcheckIntervalTicks4/hopCooldownTicks20/reloadCheckSeconds5— performance and live-reload dials
Details
- Narrow who hops with
#mobhop:cannot_hop(e.g. cows and sheep) or turn ononlyWhenChasing. - Tag folder name:
entity_types/blockson 1.19.2–1.20.1;entity_type/blockon 1.21+. - Not a pathfinder rewrite — each hop is one local decision. No multi-fence parkour routes, no hopping out of a pen just because a fence is there (something on the far side has to be pulling the mob).
- Wide mobs need wide landings; a ravager or iron golem will not hop onto a one-block ledge.
Feedback
Please report any bugs, errors, or feature suggestions on Discord: https://discord.gg/HTkn94BXmA
More mods by Nikrecs: PathSpeed! · Rope
My other mods that I recommend.
