Overview#
Block Properties is a powerful customization tool developed by Father Toast, designed specifically for modpack creators and server administrators. Unlike mods that add new content, Block Properties focuses on the manipulation of existing data. It provides a bridge between the hard-coded values of blocks (both vanilla and modded) and the user's desire for a balanced or themed gameplay experience.
With this mod, you can change how long it takes to mine a block, how resistant it is to explosions, whether it emits light, and even what tool is required to harvest it. This is essential for 'Expert' style modpacks where progression is tightly controlled by tool tiers and block durability.
Configuration Mechanics#
The mod operates entirely through JSON files located in the Minecraft instance's config directory. Upon the first run, the mod will generate a folder structure to house these settings.
File Location
All customization files must be placed in:
.minecraft/config/BlockProperties/
You can create multiple .json files within this folder to organize your changes (e.g., vanilla_tweaks.json, modded_fixes.json). The mod will read all JSON files in this directory during the game's startup phase.
JSON Structure
The basic structure of a configuration file follows a key-value pair format where the key is the Block ID and the value is an object containing the properties to be modified.
{
"modid:block_name": {
"property_name": value
}
}

Modifiable Block Properties#
The following table outlines every property that can be adjusted using the mod. Each property is optional; if a property is not defined for a block, it will retain its original value.
| Property | Type | Description | Valid Values |
|---|---|---|---|
hardness |
Float | Determines how long it takes to break the block. | 0.0 to 3.4028235E38 |
resistance |
Float | Determines the block's resistance to explosions. | 0.0 to 3.4028235E38 |
light |
Float | The amount of light the block emits. | 0.0 (None) to 1.0 (Full) |
opacity |
Integer | How much light is blocked when passing through. | 0 to 15 |
slipperiness |
Float | The friction of the block surface. | 0.6 (Default), 0.98 (Ice) |
harvestTool |
String | The class of tool required to mine the block. | "pickaxe", "axe", "shovel" |
harvestLevel |
Integer | The tier of tool required (Wood=0, Stone=1, etc.). | 0, 1, 2, 3, 4+ |
stepSound |
String | The sound made when walking on or breaking the block. | See Step Sound List |
creativeTab |
String | The creative menu tab the block appears in. | See Creative Tab List |
opaque |
Boolean | Whether the block is treated as a solid, opaque cube. | true, false |



Reference Lists#
Step Sounds
When defining the stepSound property, use one of the following internal names:
powder(Sand/Dirt)wood(Planks/Logs)gravel(Gravel)grass(Grass/Leaves)stone(Stone/Cobblestone)metal(Iron Blocks/Gold Blocks)glass(Glass/Glowstone)cloth(Wool)sand(Sand)snow(Snow)ladder(Ladders)anvil(Anvils)
Creative Tabs
To move a block to a different creative tab, use these identifiers:
buildingBlocksdecorationsredstonetransportationmiscsearchfoodtoolscombatbrewingmaterials
Advanced Identification#
Block Properties supports metadata (data values) to target specific variations of a block (e.g., different colors of wool or types of wood).
Metadata Syntax
To target a specific metadata value, append it to the block ID with a colon:
"minecraft:stone:1" (Targets Granite)
Wildcards
To target all metadata variations of a specific block ID, use an asterisk:
"minecraft:planks:*" (Targets all wood plank types)
Example Configuration
This example makes Obsidian easier to mine but increases the hardness of Glass and makes it emit light.
{
"minecraft:obsidian": {
"hardness": 10.0,
"resistance": 2000.0,
"harvestLevel": 2
},
"minecraft:glass": {
"hardness": 2.0,
"light": 0.5,
"stepSound": "stone"
},
"minecraft:wool:*": {
"slipperiness": 0.8
}
}Harvest Levels and Tool Tiers#
The harvestLevel property corresponds to the material tier of the tool. In Minecraft, the standard tiers are:
- Level 0: Wood / Gold tools
- Level 1: Stone tools
- Level 2: Iron tools
- Level 3: Diamond tools
- Level 4+: Modded materials (e.g., Obsidian tools, Cobalt, Manyullyn)
If you set a block to harvestLevel: 3 and harvestTool: "pickaxe", a player must use at least a Diamond Pickaxe to receive drops from that block.
Compatibility and Limitations#
Block Properties is highly compatible with other mods because it modifies the block registry after all mods have loaded.
- Visuals: Changing
opaqueoropacitymay cause visual glitches (x-ray effects) if the block's model was not designed to be transparent. - Tile Entities: While the mod can change the physical properties of blocks with Tile Entities (like Chests or Machines), it cannot change the internal logic or inventory size of those blocks.
- Reloading: Changes require a full restart of the Minecraft client/server to take effect, as block properties are baked into the registry during the initialization phase.
Gallery#



