Skip to content

Instantly share code, notes, and snippets.

@Floweynt
Created January 26, 2021 18:20
Show Gist options
  • Save Floweynt/278226cc8390a982a5afa2415c8e2a3d to your computer and use it in GitHub Desktop.
Save Floweynt/278226cc8390a982a5afa2415c8e2a3d to your computer and use it in GitHub Desktop.
Properties props = new Properties()
def propFile = file('login.properties')
def username = ""
def password = ""
if (propFile.canRead()){
props.load(new FileInputStream(propFile))
if (props!=null && props.containsKey('password') && props.containsKey('username')) {
username = props['username']
password = props['password']
}
}
buildscript {
repositories {
jcenter()
maven { url = "https://files.minecraftforge.net/maven" }
maven { url = "https://repo.spongepowered.org/maven" }
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT'
classpath 'org.spongepowered:mixingradle:0.6-SNAPSHOT'
classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.4'
}
}
apply plugin: 'java'
apply plugin: 'net.minecraftforge.gradle.forge'
apply plugin: 'org.spongepowered.mixin'
apply plugin: 'com.github.johnrengelman.shadow'
sourceCompatibility = 1.8
targetCompatibility = 1.8
version = "1.0.1-dev"
group= "com.hyahm"
archivesBaseName = "hyahm"
String modid = "hyahm"
String mixinClassifier = "dep"
minecraft {
version = "1.8.9-11.15.1.2318-1.8.9"
runDir = "run"
mappings = "stable_20"
}
repositories {
jcenter()
maven { url 'https://repo.spongepowered.org/maven/' }
flatDir {
dirs 'deps'
}
}
dependencies {
compile('org.spongepowered:mixin:0.7.11-SNAPSHOT')
}
mixin {
add sourceSets.main, "mixins.${modid}.refmap.json"
}
jar {
manifest.attributes(
'TweakClass': 'org.spongepowered.asm.launch.MixinTweaker',
'MixinConfigs': "mixins.${modid}.json",
'FMLCorePluginContainsFMLMod': true,
"ForceLoadAsMod": true
)
}
shadowJar {
dependencies {
include(dependency('org.spongepowered:mixin:0.7.11-SNAPSHOT'))
}
exclude 'module-info.class'
exclude 'dummyThing'
exclude 'LICENSE.txt'
classifier = mixinClassifier
}
reobf {
shadowJar {
mappingType = 'SEARGE'
}
}
task runClientFix {
doLast {
String fileName = "${archivesBaseName}-${version}-${mixinClassifier}.jar"
ant.move file: "${buildDir}/libs/${fileName}", tofile: "${projectDir}/run/mods/${fileName}"
ant.delete file: "${buildDir}/libs/${archivesBaseName}-${version}.jar"
}
}
runClient {
outputs.upToDateWhen { false }
if (username != "") {
args '--username', username
if (password != "") args '--password', password
}
standardInput = System.in
}
build.dependsOn(shadowJar)
runClient.dependsOn(build)
runClient.dependsOn(runClientFix)
processResources
{
// this will ensure that this task is redone when the versions change.
inputs.property "version", project.version
inputs.property "mcversion", project.minecraft.version
// replace stuff in mcmod.info, nothing else
from(sourceSets.main.resources.srcDirs) {
include 'mcmod.info'
// replace version and mcversion
expand 'version':project.version, 'mcversion':project.minecraft.version
}
// copy everything else, thats not the mcmod.info
from(sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info'
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment