🤖 AI Disclosure
Alkeari makes this project: its core code, features, design, direction and planning are his. AI assists with targeted sections of code, code structure, the README and icons, to keep quality and development speed higher than he could reach writing every line alone. He tests every new feature by hand, and every AI-written change is reviewed and tested before it ships.
One file per loader covers Minecraft 1.12.2 to 26.1.2 wherever FTB Ultimine runs. Needs FTB Ultimine.
⭐ What It Does
This is a Mixin patch for FTB Ultimine, not a vein-mining mod of its own. Every shape, key and target still comes from FTB Ultimine. It changes three things about what an operation does.
- It respects your shape - FTB Ultimine compares every block against the first one you targeted and skips anything harder, even when your tool would mine it fine. That check is suppressed by default.
- Truly unbreakable blocks are still skipped - bedrock, barriers, anything with a negative destroy speed, whatever the setting says.
- Durability costs what you decide - one flat cost in block-break equivalents for the whole operation, or a percentage of the blocks actually broken.
- Unbreaking still counts - each point of calculated damage is rolled against the enchantment, the same as vanilla tool damage.
- One operation can never gut a tool - the cost is capped at a percentage of maximum durability, 25% by default, so a 2000-durability tool loses at most 500 in one go.
- And never breaks one - the cost stops one point short of destroying the tool. Creative players pay nothing.
📋 Requirements
- Minecraft 1.16.4, 1.16.5, 1.18.1, 1.18.2, 1.19, 1.19.2, 1.20.1, 1.20.4, 1.20.6, 1.21, 1.21.1, 1.21.11, 26.1, 26.1.1 or 26.1.2 on Fabric.
- Minecraft 1.12.2, 1.15.2, 1.16.1 to 1.16.5, 1.18.1, 1.18.2, 1.19, 1.19.2, 1.20.1 or 1.20.4 on Forge, including the NeoForge 1.20.1 fork.
- Minecraft 1.20.4, 1.20.6, 1.21, 1.21.1, 1.21.11, 26.1, 26.1.1 or 26.1.2 on NeoForge.
- Not Minecraft 1.13 to 1.14, 1.16, 1.17, 1.18, 1.19.1, 1.19.3 to 1.19.4, 1.20.2, 1.20.3, 1.21.2 to 1.21.10, or 26.2 and later: FTB Ultimine has no build that runs on them.
- Not Minecraft 1.20.5 on any loader, nor 1.16.1 to 1.16.3 on Fabric, for the same reason.
- FTB Ultimine for your Minecraft version and loader. This mod does nothing without it, and FTB Ultimine brings its own requirements, FTB Library and Architectury API among them.
- Fabric API and Cloth Config on Fabric.
- Fabric Loader 0.20.1 or later on 1.16.4 to 1.19.2, 0.14.23 or later on 1.20.1, and 0.15.11 or later on 1.20.4 and 1.20.6.
- Fabric Loader 0.19.2 or later on 1.21 and 1.21.1, and 0.19.5 or later on 1.21.11 and 26.1 to 26.1.2.
- Forge 14.23.5.2860 or later with MixinBooter on 1.12.2.
- Forge 31 or later on 1.15.2, 32 on 1.16.1, 33 on 1.16.2, 34 on 1.16.3, 35 on 1.16.4, 36 on 1.16.5, 39 on 1.18.1, 40 on 1.18.2, 41 on 1.19, 43 on 1.19.2, 47.1 on 1.20.1, and 49 on 1.20.4.
- NeoForge 20.4 or later on 1.20.4, 20.6 or later on 1.20.6, 21.0 or later on 1.21 and 1.21.1, 21.11 or later on 1.21.11, and 26.1.0 or later on 26.1 to 26.1.2.
- On NeoForge 26.1 and 26.1.1, use FTB Ultimine 26.1.2.2 or earlier with FTB Library 26.1.2.6 or earlier, because later builds need NeoForge 26.1.2.
- Java 8 on Minecraft 1.12.2 to 1.16.5, Java 17 or later on 1.18.1 to 1.20.4, Java 21 or later on 1.20.6 to 1.21.11, and Java 25 or later on 26.1 to 26.1.2.
📥 Installation
- Install your loader and FTB Ultimine with its requirements, plus Fabric API and Cloth Config if you are on Fabric.
- Install with the Modrinth App, or download the jar for your loader into your
modsfolder. Each loader's jar works on every Minecraft version listed for it above. - Ultimine something with mixed block hardness. The whole shape breaks, and the tool costs at most one point.
⚙️ Configuration
On Fabric, edit config/ultimineunchained.json. On Forge 1.12.2, edit config/ultimineunchained.cfg. On other Forge versions and NeoForge, edit <world>/serverconfig/ultimineunchained-server.toml, which is per world and synced to clients, and config/ultimineunchained-common.toml for check_for_updates. There is no in-game settings screen on any loader.
| Setting | Default | What it does |
|---|---|---|
allow_harder_blocks |
true |
Suppresses the harder-block skip, so every tool-compatible block in the shape breaks. |
durability_percentage |
0 |
Fraction of blocks broken that counts toward durability. Overrides the flat cost once above 0. |
durability_flat_blocks |
1 |
Flat cost per operation in block-break equivalents, 0 to 32768. Used while the percentage is 0. |
durability_cap_percent |
25 |
The most one operation may take, as a percentage of maximum durability, whatever the settings above ask for. |
check_for_updates |
true |
Once per game start, reads https://alkeari.com/updates/ultimine-unchained.json and, only when a newer Ultimine Unchained is out for your Minecraft version and loader, says so in chat with a link. Nothing else is sent; turn it off to skip the check. |
Fabric names the same settings allowHarderBlocks, durabilityPercentage, durabilityFlatBlocks, durabilityCapPercent and checkForUpdates. Fabric writes the percentage as a whole number, so 50 means 50%; Forge and NeoForge write it as a decimal, so 0.5 means the same. Setting the flat blocks, the percentage and the cap all to 0 removes durability cost entirely.
🖥️ Compatibility
- Existing worlds. Add it or remove it whenever you like. On Forge and NeoForge it writes only its settings file into the world's
serverconfigfolder; on Fabric nothing is written to your world. - Client or server. It changes what an operation does, so it belongs wherever FTB Ultimine runs: the server, or the integrated server in singleplayer.
- It works with every tool type and every shape FTB Ultimine supports.
- It does not touch FTB Ultimine's right-click actions, tilling, stripping and harvesting, and does not change how drops are computed. It decides which blocks in the shape break and what the operation costs, nothing else.
- Outside Creative, blocks your tool cannot get drops from are skipped rather than broken.
- If a future FTB Ultimine build changes the method this patches, the game refuses to load on Minecraft 1.21.11 and earlier. On 26.1 and later the game still loads, and the changes this mod makes may stop applying.
🐛 Support
- Report bugs and ask questions on this mod's Nexus Mods page, where every report is tracked.
- Include your Minecraft version, your loader and its version, the mod version, your FTB Ultimine version, and your other mods.
📄 License
License terms are in the Alkeari License Agreement.
Every release, its changes and how to send feedback are on the project page at alkeari.com/projects/ultimine-unchained.
If you want to see how it works, you can read the source code at github.com/Alkeari/UltimineUnchained-PUBLIC.
A 3x3 FTB Ultimine shape across stone, ores and obsidian breaks completely with a diamond pickaxe, which then reads 1560 of 1561 durability.
A 3x3 shape across stone, ores and obsidian. FTB Ultimine alone skips the obsidian, because it is harder than the stone that was clicked.
With Ultimine Unchained the whole 3x3 breaks, obsidian included, because the diamond pickaxe can mine it.
After breaking nine blocks the pickaxe reads 1560 of 1561: the default cost of one point for the whole operation.
Ultimine Unchained says in chat when a newer version is out for your Minecraft version and loader.
| Version | Minecraft | Loader | Download |
|---|---|---|---|
|
Ultimine Unchained 2.3.0 (neoforge) 2.3.0 |
26.1.2, 26.1.1, 26.1, 1.21.11, 1.21.1, 1.21, 1.20.6, 1.20.4
|
neoforge
|
Download |
|
Ultimine Unchained 2.3.0 (forge) 2.3.0 |
1.20.4, 1.20.1, 1.19.2, 1.19, 1.18.2, 1.18.1, 1.16.5, 1.16.4, 1.16.3, 1.16.2, 1.16.1, 1.15.2
|
forge
|
Download |
|
Ultimine Unchained 2.3.0 ([email protected]) 2.3.0 |
1.12.2
|
forge
|
Download |
|
Ultimine Unchained 2.3.0 (fabric) 2.3.0 |
26.1.2, 26.1.1, 26.1, 1.21.11, 1.21.1, 1.21, 1.20.6, 1.20.4, 1.20.1, 1.19.2, 1.19, 1.18.2, 1.18.1, 1.16.5, 1.16.4
|
fabric
|
Download |
|
Ultimine Unchained 2.2.0 (neoforge) 2.2.0 |
26.1.2, 26.1.1, 26.1, 1.21.11, 1.21.1, 1.21, 1.20.6, 1.20.4
|
neoforge
|
Download |
|
Ultimine Unchained 2.2.0 (forge) 2.2.0 |
1.20.4, 1.20.1
|
forge
|
Download |
|
Ultimine Unchained 2.2.0 (fabric) 2.2.0 |
26.1.2, 26.1.1, 26.1, 1.21.11, 1.21.1, 1.21, 1.20.6, 1.20.5, 1.20.4, 1.20.1
|
fabric
|
Download |
|
Ultimine Unchained 2.1.0 (neoforge) 2.1.0 |
1.20.4, 1.20.6, 1.21, 1.21.1
|
neoforge
|
Download |
|
Ultimine Unchained 2.1.0 (forge) 2.1.0 |
1.20.1, 1.20.4
|
forge
|
Download |
|
Ultimine Unchained 2.1.0 (fabric) 2.1.0 |
1.20.1, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1
|
fabric
|
Download |
|
Ultimine Unchained 2.0.0 (neoforge) 2.0.0 |
1.20.4, 1.20.6, 1.21, 1.21.1
|
neoforge
|
Download |
|
Ultimine Unchained 2.0.0 (forge) 2.0.0 |
1.20.1, 1.20.4
|
forge
|
Download |
|
Ultimine Unchained 2.0.0 (fabric) 2.0.0 |
1.20.1, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1
|
fabric
|
Download |
|
Ultimine Unchained 1.2.2-1.21.1 (neoforge) 1.2.2-1.21.1 |
1.21.1
|
neoforge
|
Download |
|
Ultimine Unchained 1.2.2-1.21.1 (fabric) 1.2.2-1.21.1 |
1.21.1
|
fabric
|
Download |
|
Ultimine Unchained 1.2.1-1.20.1 (forge) 1.2.1-1.20.1 |
1.20.1
|
forge
|
Download |
|
Ultimine Unchained 1.2.1-1.20.1 (fabric) 1.2.1-1.20.1 |
1.20.1
|
fabric
|
Download |
|
Ultimine Unchained 1.2.1-1.21.1 (neoforge) 1.2.1-1.21.1 |
1.21.1
|
neoforge
|
Download |
|
Ultimine Unchained 1.2.1-1.21.1 (fabric) 1.2.1-1.21.1 |
1.21.1
|
fabric
|
Download |
|
Ultimine Unchained 1.2.0-1.21.1 1.2.0-1.21.1 |
1.21.1
|
fabric
|
Download |
|
Ultimine Unchained 1.2.0-1.21.1 1.2.0-1.21.1 |
1.21.1
|
neoforge
|
Download |
|
Ultimine Unchained 1.2.0-1.20.1 1.2.0-1.20.1 |
1.20.1
|
forge
|
Download |
|
Ultimine Unchained 1.2.0-1.20.1 1.2.0-1.20.1 |
1.20.1
|
fabric
|
Download |