Tags
Creators
Details
1.1.0
Compatibility
Changes
1.1.0 — Shop categories are data.
Shop categories used to be hardcoded, so a companion mod had no way to add one — every item it sold got squeezed into one of Coinkeep's eight, and a big addon buried Coinkeep's own catalog. Now any mod or datapack can define its own Shop tab: data/<namespace>/coinkeep/shop_category/<id>.json, with a name, a sort order and an optional icon. A tab appears exactly when the mod that defines it is installed, and disappears with it.
The first mod to use it is our own: Highroller 2.0.0 ships a Highroller tab with all 90 of its casino entries — slot machines to a $250,000 Grand Casino blueprint — instead of burying them in Materials and Rare. (Which is why Highroller 2.0.0 requires Coinkeep 1.1.0+.)
Nothing to do on upgrade. The eight built-ins ship as Coinkeep's own JSON with the same ids, labels and order, so existing worlds and existing datapacks load unchanged — "category": "rare" still means what it always meant. A typo no longer eats an item. An entry naming an unknown category used to fail its whole entry and vanish from the shop; it now lands in a clearly-named placeholder tab and the content validator reports the missing id on load. Categories can carry their own icon; without one the sidebar still shows the category's cheapest entry. Startup now logs every category and how many entries it holds. Mod authors: ShopEntry.category() returns a String id rather than an enum, so anything compiled against 1.0.0 that read that field needs a recompile. BalanceHelper is untouched.
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:O0a6NLTz:UwBb1SpD"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:O0a6NLTz:UwBb1SpD"
}

