A minecraft forge mod that allows modpack makers to add new harvest levels with custom names.
Currently supports:
Go to folder config/hltweaker/levels
Create a json file with level id as the name.
For example: cobalt.json
will create a new level with id cobalt
Json Format:
{
"color": "<color>",
"level": <level>,
"icons": {
"<mineable tag>": "<item id>",
...
}
}
Field | Type | Default Value | Description | Example |
---|---|---|---|---|
color |
String | "white" |
Color of the harvest level in hex format (prefix # ) or color name |
"#0047ab" or "blue" |
level |
Integer | 0 |
Numerical tier of the harvest level for compatibility. Does not affect the actual ordering of levels |
5 |
icons |
Json Object | {} |
Icons for the harvest level in "<mineable_tag>": "<item id>" format |
{"minecraft:mineable/pickaxe": "minecraft:stone_pickaxe"} |
{
"color": "#0047ab",
"icons": {
"minecraft:mineable/pickaxe": "kubejs:cobalt_pickaxe",
"minecraft:mineable/axe": "kubejs:cobalt_axe",
"minecraft:mineable/shovel": "kubejs:cobalt_shovel",
"minecraft:mineable/hoe": "kubejs:cobalt_hoe"
}
}
This will create a new level with id cobalt
It can also be as simple as:
{}
config/hltweaker/ordering.json
controls which levels are better or worse than others.
This file will be automatically generated when launching the game if it does not exist.
Levels are ordered from worst to best.
You can also change the order of vanilla levels and levels from other mods, although levels from other mods won't be automatically added to this file.
[
"minecraft:wood",
"minecraft:gold",
"minecraft:stone",
"minecraft:iron",
"minecraft:diamond",
"hltweaker:cobalt",
"minecraft:netherite",
"somemod:somelevel"
]
Find the file config/hltweaker/item_harvest_level_overrides.json
Json Format:
{
"<item id>": {
"<mineable tag>": "<level id>"
}
}
<item id>
: Item id. Example:minecraft:stone
<mineable tag>
: The mineable tag (required tool type). Example:minecraft:mineable/pickaxe
<level id>
: Harvest level id (with namespace if it's not from this mod). Example:cobalt
orminecraft:wood
Example item_harvest_level_overrides.json
:
{
"minecraft:golden_pickaxe": {
"minecraft:mineable/pickaxe": "cobalt",
"minecraft:mineable/axe": "minecraft:netherite"
},
"minecraft:netherite_pickaxe": {
"minecraft:mineable/pickaxe": "minecraft:wood"
}
}
This will remove all existing harvest types and level of stone pickaxe and netherite pickaxe.
Then set the harvest level of stone pickaxe to cobalt as a pickaxe and netherite when used as an axe.
And set the harvest level of netherite pickaxe to wood when used as a pickaxe.
Create a datapack and add the blocks to tag:
- Harvest Level Tweaker Levels:
hltweaker:needs_<level id>_tool
- Vanilla levels:
stone
,iron
,diamond
:minecraft:needs_<level id>_tool
wood
,gold
,netherite
:forge:needs_<level id>_tool
Example data/hltweaker/tags/blocks/needs_cobalt_tool.json
:
{
"values": [
"#minecraft:stone",
"kubejs:cobalt_block"
]
}
This will set all blocks under minecraft:stone
tag and cobalt block to require cobalt level tools.
See more: https://minecraft.wiki/w/Tag
- Translation key for custom harvest level is
text.hltweaker.level.<level id>
Example:"text.hltweaker.level.cobalt": "Cobalt"
- Translation key for tool type is
text.hltweaker.tool.<mod namespace>.<tool type>
Example:"text.hltweaker.tool.minecraft.pickaxe": "Pickaxe"
,"text.hltweaker.tool.paxelmod.paxel": "Paxel"
- Translation key for vanilla harvest level is
text.hltweaker.level.minecraft.<wood/gold/stone/iron/diamond/netherite>
Example:"text.hltweaker.level.minecraft.wood": "This is Wood Level"
Client config is located at config/hltweaker/client.toml
You can change the color of vanilla harvest levels in the config.
More details can be found in the config file.
/hltweaker levels
- Show vanilla and Harvest Level Tweaker levels
/hltweaker levels all
- Show all harvest levels that are registered in the game
/hltweaker overrides
- Show item harvest level overrides
In your datapack for tinker's construct, set the harvest level of the material to hltweaker:<level id>