Links
Tags
Creators
Details
1.1.3+1.21.1
Compatibility
Required content
Changes
This is the long-form fix for a bug on Windows, superseding the band-aid from v1.1.2. Unfortunately the band-aid didn't do the job, but now the full fix is ready.
Filesystems have different path-separators, which if we're not careful can pollute Identifiers with disallowed characters. In almost all cases, the files StaticData deals with are from nio ZipFS or java.util.zip.ZipInputStream. These sources always return forward slashes as PathSeparators, allowing... incorrect logic to work without giving any warning of trouble.
This failed with the addition of bare-folder StaticData Packs. These files are sourced directly from the OS filesystem, which can report multiple consecutive backslashes that resisted any quick band-aid fix that still relied on String splitting and replacements.
This update rewrites and sets aside the logic that constructs Identifiers from relative Paths, only ever using Path.nameCount and Path.getName to acquire the directory structure and filename, and recombines the result with forward slashes that Identifier allows. This is more in line with how I've been doing things recently in places like EarlyTags, and should be nearly bulletproof.
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:mD4QIZsg:Ty1GOd7J"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:mD4QIZsg:Ty1GOd7J"
}

