0.2.0+1.21.1
Compatibility
Changes
[0.2.0] — 2026-07-02
A big quality release: performance, vanilla-style art, Russian localization, an admin server config, bundle-style sleeves, rotatable worktables and an auto-built documentation site. Worlds and items from 0.1.x load unchanged; wear budgets of newly made discs/matrices now come from the server config (32 / 32 / 3 by default).
Added
- Russian localization (
ru_ru), using authentic vinyl-production terminology (мастер-диск, гальваническая матрица, нарезка) and vanilla Minecraft naming (Чернит, Пластинка); note-block instrument names follow the Russian Minecraft Wiki. - The Cutting Lathe's instrument names now come from the language file (localisable) instead of being hard-coded English strings.
- Worktables now face the placer (furnace-style
facing), and the Cutting Lathe / Record Press show the record lying on the platter/platen while one is inside (has_recordblockstate). - A record tucked into a sleeve now visibly peeks out of the envelope (blank and designed sleeves alike).
- Mod logo (the master disc with the vanilla yellow note, composed from the actual assets) shown in the mod list.
- Documentation site on GitHub Pages (MkDocs Material, English + Russian) with an illustrated
progression guide; every image is rendered from the mod's actual textures by the committed
docs/tools/render_images.py(isometric 3D stations, the emerald bath inside the cauldron, flat item icons for ingredients, overlap-free captions with inventory display names) and the site is rebuilt automatically by thedocs.ymlworkflow. The README is now a short overview linking there. - Server config (
cdm-server.toml, admin-editable, synced):masterUses(default 32),recordUses(32) andmatrixUses(3). The values are stamped onto items when they are made (max_damagecomponent), and sound distortion always starts at 50% / 75% / 100% of the configured wear; smithing-table scratching moves by the same percentages. - Sleeves now behave like vanilla bundles: right-click a sleeve onto a record (or a record onto the sleeve) in any inventory to tuck it in, right-click onto an empty slot to slide it out, and use a filled sleeve in hand to toss the record on the ground — with bundle sounds. The old one-slot sleeve GUI (menu, screen, menu type) was removed, which also closes a duplication edge with stacked sleeves.
Changed
- Textures: the disc label is vanilla-proportioned with high-contrast stripes / ribbon / dots patterns; the disc family, blank and matrix picked up vanilla-style top-lit shading; the kupfernickel bucket now uses the vanilla bucket texture with an emerald fill overlay; the galvanic matrix is drawn as a record-shaped nickel negative with groove rings; a fully worn disc keeps its own colours and label pattern on a shattered, "music disc 11"-style model (bite + drifting shard) instead of a generic grey cracked texture.
- Sleeve covers redesigned as album art: bold two-tone motifs (colour-block bands, a diagonal sash, a big circle) over a printed-cover base with a spine shadow, so designed sleeves read like real record covers; the stencil preview got its own mini-motif textures fitted to its window.
- Worktable blocks got proper multi-face textures in the vanilla crafting-table layout (distinct top / front / side, spruce-planks underside on the packaging table): a turntable deck with a copper tonearm on the Cutting Lathe, a platen top and piston mouth on the Record Press, and a worktop with a paper sleeve, record and drawer on the Packaging Table.
- English strings: the lathe's record button says "Cut" (a lacquer master is cut, not burned), and the kupfernickel fluid is named "Kupfernickel" (the "Bath" is the cauldron).
Removed
- The never-used
cdm:shrink_wrappeddata component (it was never written to any item). - The packaging table's retired record-slot insertion path and the dead insert/extract network actions (the block-entity slot layout is unchanged, so old saves still load — and still drop a record stored there by very old versions when the table is broken).
- The old single-face worktable textures, superseded by the multi-face sets.
- Disc playback keeps a small pool of prepared melodies (instead of a single slot), so several jukeboxes playing different discs at once no longer re-validate and re-index their note lists every tick; the per-tick note lookup also uses a primitive-keyed index (no boxing).
- The kupfernickel brewing watcher checks dropped items every 4 ticks instead of every tick, removing most of its per-tick work for item entities lying around the world (brewing itself is unchanged).
- Reading the record tucked in a sleeve copies the stack once instead of twice (tooltips, crafting checks and slot validation all go through this path).
- GUI ghost hints and the press/packaging live previews reuse their item stacks across frames instead of allocating new ones on every render pass.
- Internal cleanup: shared sleeve/stencil model-predicate lambda, removed an unused import, an unused menu field and nine dead language keys.
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:1uwrDZj9:bSVpyFrA"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:1uwrDZj9:bSVpyFrA"
}

