
Material Json
🚨 Version 1.20.5: Due to changes in Minecraft's code, support for the latest version will require some time
Have you ever wanted to modify the durability of all iron tools? Want to adjust the protective properties of diamond armor? Or increase the mining speed of netherite? Now it's possible with Material Json! Simple configuration through Minecraft's datapack structure and .json files allows you to change any material characteristics!
🎯 Key Features
- Sync between server and client - instantly apply any changes after datapack reload
- Mod support - works with any mods adding new weapons, armor, and tools
- Flexible configuration - ability to modify characteristics of any materials for any weapon, armor or tool type
⚙️ Tool Material Configuration
Configuration of tool materials is done through datapacks at the path <namespace>:materials/tool/<path>.json
. Important: datapacks can override individual parameters from underlying datapacks by specifying only the needed field.
The .json file contains the following parameters:
durability: integer
- Determines tool durability
- Allowed values: 32-bit integers from 1 and above
mining_speed: floating-point number
- Sets mining speed
- Minimum value: 0.0
attack_damage: floating-point number
- Configures attack damage
- Important: individual items (e.g., swords) may add bonuses or penalties to this value
mining_level: integer
- Determines mining level
- Minimum value: -1
enchantability: integer
- Sets enchantment capability
ingredient: resource or tag
- Specifies repair material
- Allowed: single item ID or tag with hash prefix
🛡️ Armor Material Configuration
Armor material configuration is set up through datapacks at the path <namespace>:materials/armor/<path>.json
. Similar to tools, datapacks can override individual parameters.
Available parameters in the .json file:
durability: specifies armor piece durability
- helmet|chestplate|leggings|boots: integer
- Minimum value: 1
protection: configures armor piece protection
- helmet|chestplate|leggings|boots: integer
- Minimum value: 0
enchantability: integer
- Determines enchantment capability
equip_sound: resource location
- Sets sound when equipping armor
- Requires sound event from sounds.json
ingredient: resource or tag
- Specifies repair material
toughness: floating-point number
- Determines armor toughness
knockback_resistance: floating-point number
- Configures knockback resistance