Better Harvest Levels

A config-driven tool progression mod for modpack developers

File Details

BetterHarvestLevel 2.0.0 (NeoForge 1.21.1)

  • R
  • Jul 5, 2026
  • 52.84 KB
  • 18
  • 1.21.1
  • NeoForge

File Name

betterharvestlevel-neoforge-1.21.1-2.0.0.jar

Supported Versions

  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:better-harvest-levels-1494115:8372587"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

Changelog

v2.0.0

  • Full rewrite, covering Forge/Fabric 1.20.1, Fabric/NeoForge 1.21.1, and Fabric/NeoForge 26.1.x and 26.2
  • On Fabric 26.2, Jade must be pinned to 26.2.8+fabric or older; 26.2.9+fabric rewrote the harvest tool API
  • Block overrides now work in both directions, raising or lowering a block's harvest requirement instead of only tightening it
  • Tool overrides can empower a tool, not just restrict it, and bare hands are handled through a reserved hand tier instead of ad-hoc special-casing
  • Enforcement moved to the harvest check event on NeoForge and Forge; Fabric uses two small mixins (player and item stack), and the old mixin set is gone
  • Resolved rules now sync to clients on join and on reload, so multiplayer prediction and tooltips match the server
  • Jade shows the modified harvest requirements (required-tool icon and harvestability check), including custom tier icons via iconItem
  • Added /bhl info, /bhl check, and /bhl reload commands; reload re-resolves tag, mod, and regex overrides and re-syncs all clients, fixing the old reload bug

Known limitations

  • Block overrides cannot gate tools whose tier the mod cannot derive: modded tools that carry a minecraft:tool data component but are not vanilla TieredItem and have no tools.json override fall back to vanilla behavior. Add an explicit tools.json override for that tool to work around this. Plain items with no tool component at all are treated as a bare hand.
  • On Forge 1.20.1 only, Jade's harvestability checkmark follows vanilla for blocks whose requirement BHL changed; the required-tool icon and actual enforcement are correct
  • On 26.x, swords have no deniesDrops rule so they abstain to vanilla for block overrides; give them a tools.json tier if you need them gated
  • tiers.json files generated by pre-port 2.0 test builds lack the copper tier; delete the file once so it regenerates

v1.1.0

  • Ores can no longer be mined with any sufficiently-tiered tool: vanilla's tool-type check (mineable/* tags) is preserved, BHL only tightens the tier requirement on top of it (#3)
  • Tools that aren't vanilla TieredItem (Tinkers' Construct etc.) are no longer locked to "cannot mine" — they defer to vanilla unless given a tier in tools.json (#2)
  • tools.json overrides now apply to any item, not just vanilla tiered tools
  • The wrong-tool mining speed penalty no longer hits unknown tools or the empty hand, which should unstick fake-player automation like Workers (#4)
  • The Jade tooltip checkmark now reflects actual harvestability instead of a tier-only estimate
  • Tier names that aren't defined in tiers.json are logged once instead of silently allowing mining