Modscraper Modscraper Minecraft
Unbreakables logo

Unbreakables

Mod

by BlayTheNinth

Configure blocks to be unbreakable under certain conditions. Compatible with Waystones.

Type

Mod

CurseForge Downloads

81,852

CurseForge ID

1190485

Last Updated

Apr 12, 2026

Description

Requires Balm

This mod adds configurable rules for controlling whether a block can be broken. Rules allow for granular control through conditions and even modifiers (such as costing xp or items). This mod does not enable any unbreakable rules by default. Modpack developers or server owners must configure the mod, e.g. by enabling the "waystones:generated_waystones" ruleset. This mod is useless unless configured by a modpack or server owner.

Features

  • Prevent certain blocks from being broken if configurable conditions are met
  • Optionally, require xp or items to break configured blocks (note: there is no display that makes the cost apparent yet, but it's planned)
  • Inbuilt support for disallowing breaking of generated waystones (enable via "rulesets" config option)

Usage

Modpack developers or server owners must configure this mod in order for it to be useful.

That means either configuring rules in the config file or enabling an inbuilt ruleset. Mods or datapack developers can also provide rulesets through a datapack by providing a "data/yourpack/unbreakables/yourruleset.json" file.

Example for making generated waystones unbreakable through the default ruleset:

rulesets = [ "waystones:generated_waystones" ]

Example for making generated waystones unbreakable through a custom rule:

rules = [ "[is_tag(waystones:waystones), is_not_state(origin, player)] refuse($chat.waystones.cannot_break_waystone)" ]

Example for some other custom rules:

rules = [ "[is_in_dimension(minecraft:the_nether)] refuse(You cannot break blocks in the Nether)", "[is_block(minecraft:dirt)] refuse(You cannot break dirt)", "[is_state(lit, true)] refuse(You cannot break lit furnaces)" ]

Example for a datapack ruleset (included by default in Waystones). 

{
"rules": [
"[is_tag(waystones:waystones), is_not_state(origin, player)] refuse($chat.waystones.cannot_break_waystone)"
]
}

Datapack rulesets must be enabled through the "ruleset" config option (see above).

Support on Patreon

Similar Mods

Included in Modpacks

External Resources