Material information is used for computing mining speed based on other parameter, but there is one fundamental problem: recent Minecraft versions just do not use materials for anything except colors on the maps.
Instead, mining speed is handled either by the game's code (for swords and shears), or by tags (for all other tools)
Both of these handle blocks individually and independently of their materials, so it's practically impossible to judge mining speeds by block materials anymore. Even more, some blocks can be actually mined up to 3 different tools at once (for example, berry bushes are actually mineable by hoe, axe and sword, yet their material is just "plant").
My suggestion is to get rid of materials.json altogether for newer versions since it's pointless, and record mining speed multipliers directly in blocks.json as values for harvestTools object entries (since practically now information about block breaking speeds is shattered between 2 different files, and now it will be combined into one).
Additionally, boolean indicating whenever block requires tool or not should be added explicitly in this case, instead of relying on harvestTools being absent when block is harvestable by hand.
Material information is used for computing mining speed based on other parameter, but there is one fundamental problem: recent Minecraft versions just do not use materials for anything except colors on the maps.
Instead, mining speed is handled either by the game's code (for swords and shears), or by tags (for all other tools)
Both of these handle blocks individually and independently of their materials, so it's practically impossible to judge mining speeds by block materials anymore. Even more, some blocks can be actually mined up to 3 different tools at once (for example, berry bushes are actually mineable by hoe, axe and sword, yet their material is just "plant").
My suggestion is to get rid of materials.json altogether for newer versions since it's pointless, and record mining speed multipliers directly in blocks.json as values for harvestTools object entries (since practically now information about block breaking speeds is shattered between 2 different files, and now it will be combined into one).
Additionally, boolean indicating whenever block requires tool or not should be added explicitly in this case, instead of relying on harvestTools being absent when block is harvestable by hand.