Harvest Rules

Better Harvest Levels combines configured overrides with Minecraft’s existing tool categories and harvest result. It only replaces vanilla’s decision when an applicable rule provides enough information.

  1. Matching block overrides set the requirement and can raise or lower it.
  2. The held item must still match the vanilla block category when that category exists.
  3. A matching tool override can grant a tier-based success, but a tool-only override does not revoke an existing vanilla success.
  4. requiredTier: "hand" allows hand harvesting.
  5. Unknown tool-bearing items defer to vanilla unless configured in tools.json.
  6. With no applicable rule, Better Harvest Levels abstains and vanilla decides.
Applicable ruleRequirement usedResult
Block overrideThe block override’s requiredTierBetter Harvest Levels checks the held tool’s vanilla category and tier. The block override can allow or deny drops.
Tool override onlyThe block’s vanilla requirementThe configured tool tier can grant success when the vanilla category matches. An existing vanilla success remains successful.
No overrideNo Better Harvest Levels requirementBetter Harvest Levels abstains and vanilla decides.

A block override changes the required tier, not the required tool category. For example, raising an ore to iron tier still requires a pickaxe when vanilla classifies that block as pickaxe-mineable.

Better Harvest Levels loads layered blocks*.json and tools*.json files in alphabetical filename order. For each file family, entries are appended in file order and evaluated in list order. The later matching override wins. Within one file, a matching entry later in the overrides list wins over an earlier match.

This makes the ordering explicit: choose filenames that sort after the files they are intended to override, then place the most specific entries after broader tag, mod, or regular-expression entries.

If Better Harvest Levels cannot identify a tier for an otherwise tool-bearing item, it leaves the result to vanilla unless tools.json supplies an override. If neither the block nor the held item has an applicable override, Better Harvest Levels also abstains. In both cases, Minecraft’s normal harvest logic decides whether the block produces drops. See Modded tool behavior for the explicit override workaround and 26.x sword caveat.