⚠️ Unofficial community port. This is an unofficial community port of Sacramentix's
Chiseled Enchanting Table to Minecraft 26.1.2 on Fabric. It is not affiliated with,
endorsed by, or maintained by the original author. All original mod design, code, and assets
© Sacramentix, used under the MIT License.
Please direct bug reports about this 26.1.2 port to
this GitHub repository,
not to the upstream project page or to Sacramentix directly.
What it does
Replaces vanilla enchanting RNG with a deterministic, library-driven workflow:
- A new block, the Chiseled Enchanting Table.
- Place enchanted books into nearby chiseled bookshelves to permanently unlock those
enchantments for the table.
- Open the table and pick exactly the enchantment you want from a scrollable list. No slot
randomness, no re-rolling.
- Each applied enchantment consumes the matching enchanted book, plus a small XP and material
cost shown directly in the UI.
- A baseline set of vanilla enchantments is unlocked by default (via the vanilla
#minecraft:non_treasure tag plus a small treasure-only carve-out). Everything else, you go
find — but you keep it forever.
- Built-in item transformations share the same table UI (e.g. Golden Apple → Enchanted Golden
Apple, Glass Bottle → Bottle o' Enchanting).
- Anvil change inherited from upstream: combining two same-level enchanted books at an anvil to
bump the level no longer works. Use the bookshelf library + this table instead.
Quickstart
- Craft the Chiseled Enchanting Table (vanilla-style recipe; see the in-game recipe book).
- Place chiseled bookshelves around it; build up a small library. (Regular bookshelves still
give the baseline level boost.)
- Drop enchanted books into the chiseled-bookshelf slots — those enchantments become pickable.
- Open the table, place the item to enchant in the input slot, scroll the list, click the
enchantment you want, pay the cost the UI shows, and the enchantment is applied (consuming the
matching book).
- Some recipes have no item input — those are item transformations. Pay the listed cost and
the table gives you the output item.
What's different in this 26.1.2 port
Compared to upstream's 0.2.x line:
- Toolchain: Minecraft
26.1.2, Fabric Loader 0.19.3, Fabric API 0.151.0+26.1.2,
Loom 1.16.3, Gradle 9.4.1, Java 25 required.
- Fabric Language Kotlin dependency dropped — only Fabric API is required at runtime.
- Data-driven content: default unlocks, costs, and item transformations are loaded from JSON
data tables under
data/chiseled_enchanting_table/. A cross-mod compatibility extension lets
third-party enchantment mods that tag their enchantments into #minecraft:non_treasure get
picked up automatically as default unlocks.
- An offline data-pack / id-existence checker (
scripts/compat_check.py) is wired into CI to
catch regressions before they ship.
Compatibility status
- Vanilla 26.1.2 + Fabric API 0.151.0: core gameplay (place block, open menu, scroll list,
apply enchantment, apply transformation, mining drop, floating-book renderer) has been verified
working live by the maintainer prior to this 1.0.0 release.
- Third-party enchantment mods that add enchantments to
#minecraft:non_treasure: designed
to be auto-picked-up; awaiting live verification.
- Universal Enchants style item/exclusivity rewrites and Merge Enchantments style anvil
mods: expected to coexist; awaiting live verification. See
docs/COMPATIBILITY.md in the
source repo for the full investigation.
Known port-side temporary boundaries
- Mixins disabled (
"mixins": []) until upstream injections are retargeted and live-tested
on 26.1.2.
- Loot-table injection of enchanted books and structure-processor bookshelf replacement
are not yet wired in this port.
- Final tuning of the shelf-power formula and a dedicated multi-slot cost panel are tracked in
NEXT_TASK.md in the source repo.
Credits