Fix include generating modid's that are too long for loader
Co-authored-by: NebelNidas <burnerjulian@gmail.com>dev/0.11
parent
e985cb85d4
commit
63f2b51b2c
|
@ -33,6 +33,7 @@ import java.util.Locale;
|
|||
import java.util.Set;
|
||||
|
||||
import com.google.common.collect.Sets;
|
||||
import com.google.common.hash.Hashing;
|
||||
import com.google.gson.JsonObject;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.gradle.api.Project;
|
||||
|
@ -172,10 +173,18 @@ public final class IncludedJarFactory {
|
|||
|
||||
// Generates a barebones mod for a dependency
|
||||
private static String generateModForDependency(Metadata metadata) {
|
||||
final String modId = (metadata.group() + "_" + metadata.name() + metadata.classifier())
|
||||
String modId = (metadata.group() + "_" + metadata.name() + metadata.classifier())
|
||||
.replaceAll("\\.", "_")
|
||||
.toLowerCase(Locale.ENGLISH);
|
||||
|
||||
// Fabric Loader can't handle modIds longer than 64 characters
|
||||
if (modId.length() > 64) {
|
||||
String hash = Hashing.sha256()
|
||||
.hashString(modId, StandardCharsets.UTF_8)
|
||||
.toString();
|
||||
modId = modId.substring(0, 50) + hash.substring(0, 14);
|
||||
}
|
||||
|
||||
final JsonObject jsonObject = new JsonObject();
|
||||
jsonObject.addProperty("schemaVersion", 1);
|
||||
|
||||
|
|
Loading…
Reference in New Issue