Breakable Blocks

Quick rating

Breakable Blocks

No reviews yet

Breakable blocks is a configurable, high-performance server-side Fabric mod for Minecraft that lets server owners make normally unbreakable or restricted blocks mineable, assign exact break durations, etc.

Mod Loaders
Fabric
Minecraft
26.2

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

Compatibility

Supported Environments

Dev Environment
Client Unsupported
Server Required

About

Project Details

Type
Mod
License
All Rights Reserved
Latest Version
1.0.0
Authors

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

Modrinth ID

Resources

External Links

Source Issues Wiki Discord

About

Description

Breakable blocks

Breakable blocks is a configurable, high-performance server-side Fabric mod for Minecraft 1.21.x, 26.1.x, and 26.2.x. It lets server owners make normally unbreakable or restricted blocks mineable, assign exact break durations, require specific tools and tiers, create custom drops, preserve supported block entity data, and protect selected blocks from explosions.

Everything is controlled through one human-readable JSON5 file on the server. Players can join with completely vanilla clients; no client mod, resource pack, or custom registry synchronization is required.

Supported Versions

Minecraft Java Fabric Loader Status
1.21.x 21 0.19.3+ Full support
26.1.x 25 0.19.3+ Full support
26.2.x 25 0.19.3+ Full support

Fabric API is required. Breakableblocks only needs to be installed on the server.


Purpose & Function

Breakableblocks replaces hard-coded block restrictions with server-controlled rules. Each configured block can use vanilla mining or a custom server-authoritative mining session. Custom sessions track progress every server tick, display the normal cracking animation, verify that the player remains nearby, and cancel safely when the player stops mining, disconnects, changes dimension, or the block changes.

  • Make Unbreakable Blocks Breakable: Configure bedrock, barriers, command blocks, portal blocks, spawners, vaults, reinforced deepslate, or any registered block ID.
  • Exact Mining Durations: Set a fixed number of server ticks for each block. At the standard tick rate, 20 ticks = 1 second.
  • Tool & Tier Requirements: Require pickaxes, axes, shovels, hoes, material tiers, and Silk Touch before mining can begin.
  • Custom Drop Control: Choose the dropped item and amount independently from the original block's vanilla loot table.
  • Block Entity Preservation: Preserve supported block entity data when configured blocks are dropped, including spawner-style and other data-bearing blocks.
  • Explosion Protection: Prevent configured blocks from being removed by explosions without altering every block's global blast resistance.
  • Operator-Only Rules: Restrict sensitive blocks such as command blocks to server operators.
  • Live Configuration Reloading: Apply file changes without restarting the server or disconnecting players.

Key Features

Feature Description
Server-Side Only Vanilla clients can connect normally. No client installation or synchronization packet is required.
Per-Block Rules Every namespaced block ID receives its own independent mining, requirement, drop, and explosion settings.
Tick-Accurate Mining Custom mining advances on the server tick loop and renders standard block-breaking progress.
Requirement Checks Supports tool type, material tier, Silk Touch, and operator-only checks.
Controlled Drops Replaces vanilla drops with a configured item and count for custom mining sessions.
Data-Aware Drops Can attach supported block entity data to the resulting item stack.
Explosion Resistance Removes protected positions from an explosion before block destruction occurs.
Atomic Reloads Valid configuration entries replace the active runtime map without requiring a restart.
JSON5 Configuration Supports comments, trailing commas, and readable formatting.
Integration Callbacks Exposes server-side break, placement, and explosion callbacks for protection integrations.

Enhance your server setup! Check out my other server-side mods over at : Fabric Server Essentials


Installation

  1. Install the matching Fabric Loader for your Minecraft server.
  2. Install the matching version of Fabric API.
  3. Place the Breakableblocks JAR in the server's mods directory.
  4. Start the server once to generate config/block-configuration.json5.
  5. Edit the generated rules and run /blockconfiguration reload.

The mod is not required in any connecting player's client-side mods directory.


Commands & Examples

Command Description Example
/blockconfiguration reload Reloads and validates block-configuration.json5. /blockconfiguration reload
/blockconfiguration validate Reports how many valid, enabled entries are active. /blockconfiguration validate
/blockconfiguration list Lists every active block rule and its mining mode. /blockconfiguration list
/blockconfiguration inspect <block> Displays the active settings for one exact block ID. /blockconfiguration inspect minecraft:bedrock

Block identifiers must include their namespace, such as minecraft:bedrock or yourmod:custom_block.


Configuration File

Breakableblocks creates the following file on first server start:

config/block-configuration.json5

Each top-level key is a namespaced block identifier:

{
    // Mine bedrock in 30 seconds with a Netherite pickaxe.
    "minecraft:bedrock": {
        "enabled": true,
        "miningMode": "FIXED_TICKS",
        "fixedTicks": 600,
        "requiredTool": "pickaxe",
        "requiredTier": "netherite",
        "requireSilkTouch": false,
        "dropItem": "minecraft:bedrock",
        "dropCount": 1,
        "preserveBlockEntity": false,
        "explosionResistant": true,
        "protectionBehavior": "NORMAL"
    },

    // Only operators may mine this command block.
    "minecraft:command_block": {
        "enabled": true,
        "miningMode": "FIXED_TICKS",
        "fixedTicks": 100,
        "requiredTool": "pickaxe",
        "requiredTier": "netherite",
        "dropItem": "minecraft:command_block",
        "dropCount": 1,
        "explosionResistant": true,
        "protectionBehavior": "OPERATOR_ONLY"
    },

    // Preserve supported data when dropping a trial spawner.
    "minecraft:trial_spawner": {
        "enabled": true,
        "miningMode": "FIXED_TICKS",
        "fixedTicks": 300,
        "requiredTool": "pickaxe",
        "requiredTier": "netherite",
        "dropItem": "minecraft:trial_spawner",
        "dropCount": 1,
        "preserveBlockEntity": true,
        "explosionResistant": true
    }
}

Configuration Reference

Field Type Default Description
enabled Boolean true Enables or disables this block entry. Disabled entries are not loaded.
miningMode String VANILLA VANILLA uses normal breaking. FIXED_TICKS uses the configured server duration.
fixedTicks Integer 0 Required duration for FIXED_TICKS. Must be greater than zero.
requiredTool String "" Optional tool requirement: pickaxe, axe, shovel, or hoe.
requiredTier String "" Optional minimum tier: wood, stone, gold, iron, diamond, or netherite.
requireSilkTouch Boolean false Requires Silk Touch on the held tool.
dropItem String "" Namespaced item ID dropped after a successful custom break. Empty means no configured drop.
dropCount Integer 1 Number of configured items to drop. Valid range: 0-2304.
preserveBlockEntity Boolean false Copies supported block entity data to the configured drop.
explosionResistant Boolean true Prevents explosions from destroying the configured block.
protectionBehavior String NORMAL Use OPERATOR_ONLY to restrict custom mining to server operators.

dropItem, dropCount, and block entity preservation apply to custom mining sessions. A block using VANILLA mining continues through Minecraft's normal loot behavior.


Usage Walkthrough

1. Start the server once:

The default configuration is generated at config/block-configuration.json5.

2. Add or edit a block rule:

"minecraft:obsidian": {
    "enabled": true,
    "miningMode": "FIXED_TICKS",
    "fixedTicks": 40,
    "requiredTool": "pickaxe",
    "requiredTier": "diamond",
    "dropItem": "minecraft:obsidian",
    "dropCount": 1,
    "explosionResistant": true
}

3. Reload without restarting:

/blockconfiguration reload

4. Confirm the active rule:

/blockconfiguration inspect minecraft:obsidian

The example makes obsidian take exactly 40 ticks, or approximately 2 seconds, while requiring a Diamond-tier pickaxe.


Default Rules

The generated starter configuration includes examples for blocks such as:

  • Bedrock
  • End Portal Frames
  • End Gateways
  • Reinforced Deepslate
  • Barriers
  • Command Blocks
  • Spawners and Trial Spawners
  • Vaults

Every default can be changed, disabled, or removed. Modded blocks can be configured using their registered namespace and block ID.


Server-Side Behavior

Custom mining sessions are validated entirely by the server:

  • The target block must still match the block that started the session.
  • The player must remain alive, connected, in the same dimension, and within eight blocks.
  • Releasing or aborting the mining action cancels the session.
  • Changing targets clears the previous cracking animation.
  • Drops are spawned by the server only after the configured duration completes.
  • Explosion-protected positions are filtered before destruction.

This keeps vanilla clients synchronized while preventing client-side mining speed changes from bypassing server rules.


Important Notes

  • Fabric API is required on the server.
  • No client mod is required. Installing it client-side is optional and provides no additional gameplay features.
  • Configuration changes require /blockconfiguration reload or a server restart.
  • Invalid entries are skipped and reported in the server log; the previous valid configuration remains active if the file cannot be parsed.
  • Block and item IDs must use the full namespace:path format.
  • fixedTicks is based on server ticks. Heavy lag can make real-world completion time longer.
  • Preserved block entity data depends on the block and Minecraft version. Test data-bearing blocks before deploying them on a production server.
  • Back up worlds and configuration files before changing rules for operator blocks, portals, or other progression-sensitive blocks.

Screenshots

Gallery

  • Example Spawner Mining 👾
    Example Spawner Mining 👾

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

<1,000
Downloads
Last Updated
CurseForge
Created
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works