Created
November 25, 2020 15:34
-
-
Save robotgryphon/618fc01eed8e6332c58054e136ded33c to your computer and use it in GitHub Desktop.
Forge De-Obfuscated JAR Mods
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Loads files in the format {modid}-{version}.jar, MC version optional but picky about hyphens. | |
// See the regex pattern. | |
def getModVersion(filename) { | |
// println(filename); | |
def pattern = /^(?<modid>[^-]+)(?:-(?<mcversion>[0-9.]+))?(?:-(?<modver>[0-9.\-]+))\.jar$/; | |
def matcher = filename =~ pattern | |
def found = matcher.find() | |
if(found) { | |
def mod = matcher.group("modid"); | |
// Extract MC version or default | |
def mcVersion = matcher.group("mcversion"); | |
// Extract mod version | |
def version = matcher.group("modver"); | |
// println("> mod: ${mod}; mc: ${mcVersion}; version: ${version}"); | |
if(mcVersion == null) | |
return "${mod}:${mod}:${version}"; | |
else | |
return "${mod}:${mod}-${mcVersion}:${version}"; | |
} else { | |
println("> not a mod filename") | |
return filename; | |
} | |
} | |
def dev_mods_dir = "mods" | |
repositories { | |
// Built mods | |
flatDir { | |
dirs dev_mods_dir | |
} | |
// Other repositories (standard build gradle) | |
} | |
def dev_mods = fileTree(dev_mods_dir).filter { it -> it.isFile() }.files.name.collect( { getModVersion(it) } ) | |
dependencies { | |
// Snip: Minecraft dependencies, Forge | |
// Deobfuscate each dev mod for runtime | |
dev_mods.each { | |
compileOnly fg.deobf(it) | |
runtimeOnly fg.deobf(it) | |
} | |
// Other standard gradle dependencies | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment