All versions
1.1.0
Release
Better Crafting Recipes 1.1.02 weeks ago 623
Uploaded by
Compatibility
Minecraft: Java Edition
26.2
Platform
Fabric
Supported environments
Server-side
Singleplayer
Required content
Any compatible version
Changes
Added
- Complete system overhaul: from a plain recipe datapack to a real progression-gated unlock system — all 10 recipes now require actually doing something in the world first, not just having the ingredients:
- Kill 30 Blazes → Early Logistics Shulker Box
- Defeat 6 Elder Guardians → Monument Wet Sponge Replication
- Tame a Horse → Saddle + Diamond Horse Armor (shared unlock)
- Catch 25 Fish → Name Tag
- Defeat 40 Drowned → Trident
- Defeat 10 Evokers → Totem of Undying
- Obtain an Elytra → Elytra (craft spares once you've legitimately found one)
- Discover a Bastion Remnant → Crying Obsidian
- Discover a Lush Cave → Spore Blossom
- New in-game Unlock Journal screen (default keybind R), styled to look like a genuine vanilla container/recipe-book screen — browse every recipe, its requirement, live progress, and the 3×3 crafting grid, with a short "why" note per recipe.
- HUD progress widget: track one or several recipes from the Journal and see live progress in a corner of the screen.
- A "Recent Unlocks" feed plus a small in-world celebration (particles + sound) the moment a tracked recipe unlocks.
- Settings page: toggle the HUD, toggle the unlock celebration, toggle always-show-icons, and choose top-left/top-right HUD placement.
- NeoForge port, alongside the existing Fabric build.
Verification
- Full in-game playtesting on Fabric 1.21.4, 1.21.1, 26.1, and 26.2, and NeoForge across all four versions: horse taming → Saddle/Diamond Horse Armor, obtaining an Elytra, discovering a Lush Cave, and killing Blazes for the Shulker Box recipe were all confirmed working end to end.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:3J4LK0So:wPxWPlWM"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:3J4LK0So:wPxWPlWM"
}

