Compatibility
Minecraft: Java Edition
Platforms
Creators
Details
BetterHarvestLevel
Take full control of your modpack's mining progression. BetterHarvestLevel lets you define custom tool tiers, override harvest levels for any block or tool, and unify cross-mod progression — all through simple JSON config files.
Features
Custom Tier Definitions
Define your own mining tiers beyond vanilla's wood/stone/iron/diamond/netherite hierarchy. Each tier supports:
- Custom name, display name, and color
- Numeric level for ordering
- Configurable icon item (shown in Jade tooltips)
- Insertion point (
after/before) for precise tier ordering
Block & Tool Overrides
Override which tier is required to mine any block, or what tier any tool belongs to. Target overrides by:
- Individual ID —
minecraft:obsidian,create:brass_block - Tag —
#minecraft:needs_iron_tool - Mod namespace —
create:*(all blocks/items from a mod) - Regex — pattern-match across the entire registry
Tier Equivalence Groups
Group tiers that should be treated as equivalent for mining purposes. Useful for mods that add parallel progression paths (e.g., making a modded alloy tier equivalent to iron).
Config Layering
Split your overrides across multiple files for organization. Use blocks.json, blocks_create.json, blocks_thermal.json, etc. — BetterHarvestLevel merges them all automatically in alphabetical order. Keep per-mod configs clean and separate.
Jade/WAILA Integration
Blocks with BHL overrides display their required tier in the Jade tooltip, complete with:
- Tier name in its configured color
- A harvestability indicator (green checkmark or red X) based on your held tool
- The tier's icon item
In-Game Commands
/bhl check held— Show the BHL tier of your held tool/bhl check looking— Show the required tier of the block you're looking at/bhl info— List all registered tiers and override counts/bhl reload— Hot-reload all config files without restarting
Mod Ignore List
Exclude entire mods from override resolution so their blocks and tools are left untouched.
Supported Versions
| Loader | Minecraft Version |
|---|---|
| Forge | 1.20.1 |
| Fabric | 1.20.1 |
| NeoForge | 1.21.1 |
| Fabric | 1.21.1 |
Getting Started
- Install the mod and launch the game once. Config files are generated in
.minecraft/config/betterharvestlevel/. - Edit
tiers.jsonto define your tier hierarchy. - Add block overrides in
blocks.json(or create per-mod files likeblocks_create.json). - Add tool overrides in
tools.json(or per-mod files liketools_thermal.json). - Optionally define equivalence groups in
equivalences.json. - Use
/bhl reloadin-game to apply changes instantly.
Example: Adding a custom tier and overriding a block
tiers.json — Add a "copper" tier between stone and iron:
{
"tiers": [
{ "name": "wood", "level": 0, "displayName": "Wood", "color": "#A0522D", "builtIn": true },
{ "name": "stone", "level": 1, "displayName": "Stone", "color": "#AAAAAA", "builtIn": true },
{ "name": "copper", "level": 2, "displayName": "Copper", "color": "#E8851C", "builtIn": false, "iconItem": "minecraft:copper_ingot" },
{ "name": "iron", "level": 3, "displayName": "Iron", "color": "#FFFFFF", "builtIn": true },
{ "name": "diamond", "level": 4, "displayName": "Diamond", "color": "#55FFFF", "builtIn": true },
{ "name": "netherite", "level": 5, "displayName": "Netherite", "color": "#555555", "builtIn": true }
]
}
blocks.json — Require the copper tier to mine lapis ore:
{
"overrides": [
{ "target": "minecraft:lapis_ore", "type": "block", "requiredTier": "copper" },
{ "target": "minecraft:deepslate_lapis_ore", "type": "block", "requiredTier": "copper" }
]
}
For Modpack Developers
BetterHarvestLevel is built specifically for modpack developers who need granular control over mining progression. Ship your tier and override configs with your modpack — no end-user configuration needed. The layered config system means you can organize overrides per-mod and easily add or remove mod-specific files as your modpack evolves.


