All versions
1.0.3+26.1.2
Release
dcme-mc26.1.2-fabric-1.0.3.jarlast month 73
Compatibility
Minecraft: Java Edition
26.1.2
Platform
Fabric
Supported environments
Client-side
Client and server
Changes
v1.0.3:
- Structure tags now work. The
structurescondition accepts "#namespace:tag" exactly likebiomesalready did, so one context can cover every mineshaft or every village instead of listing each mod's variant. The example datapack shows how to define your own structure tag. - Fixed structure detection reading a structure's PIECES instead of its outline. Inside a Nether fortress the corridors counted but the courtyards and the gaps between rooms did not, so the music started and stopped as you walked through it.
- Fixed underground structures never being detected. The answer was cached per chunk COLUMN with no height, so once you had walked over the ground above a stronghold, "no structure" was cached for that whole column, for every player, and written to disk. Detection is now cached and re-run per 16 block section. The cache file has a new name (dcme_structures_v2.json); the old one is ignored and can be deleted.
- Fixed overlapping structures being resolved in registry order, which is arbitrary. The smallest structure now wins: it is the more specific answer, and it is stable.
- Fixed music playing at the SQUARE of your Music slider. At 50% the mod played at 25%, at 30% it played at 9%. The slider is now applied once.
- Fixed
dimensionandstructuresrequiring the full namespace while the documentation showed the short form."dimension": "overworld"was compared, character for character, againstminecraft:overworld, so it never matched and said nothing. Biome conditions never had the problem, which is what made this one so hard to see. Both forms now work everywhere. - Dying now resets the music the same way leaving a world does. The track that was playing when you died used to come back a second later, over the death screen, and carry on unchanged after you respawned. The death screen is now silent unless a pack provides a context for it, and respawning starts from a clean slate.
- Fixed the music carrying over into the next world. Going through a Nether portal, the Overworld track came back for about four seconds before the Nether track took over, and leaving a world started a track that the loading screen then cut off. Loading a world, leaving one and stepping through a portal now all reset the music cleanly: silence during the load, then the new world's music from a clean slate.
- Fixed the world-change check only looking at the DIMENSION, and only while a world was loaded, so leaving to the title screen was never detected at all.
- Fixed the startup log line reporting v1.0.0 whatever the actual version was. It now reads the real one, which matters when a log is the only thing you have to go on.
- A
screencondition no longer cancels every other condition in the same context. - Mistakes in a music context are now reported at load, with the file and the field named, instead of being dropped in silence: an unknown field (
biomeinstead ofbiomes, for instance), a sound that no resource pack declares, and two contexts sharing one id. Contexts are also logged at INFO rather than DEBUG, so a pack that fails to load is visible at the default log level. - Removed a pointless attempt to add resource pack sounds to the game's sound registry, which always failed and logged a misleading message. Sounds are resolved by identifier through the resource packs and never needed it.
- Drop in replacement: no config change, and the only save data touched is the structure cache described above.
Supplementary resources
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:uDwJAaHz:Nqzg5Vhl"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:uDwJAaHz:Nqzg5Vhl"
}![[DCME] Dynamic Contextual Music Engine](https://cdn.modrinth.com/data/uDwJAaHz/1f5be1c2dc5059f184d9953a39361b9ae69a6f1d_96.webp)

