Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
144 changes: 100 additions & 44 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ plugins {
id 'idea'
id 'net.minecraftforge.gradle' version "${forge_gradle_version}"
id 'org.spongepowered.mixin' version "${mixin_gradle_version}"
id 'wtf.gofancy.fancygradle' version "${fancy_gradle_version}"
}

version = mod_version
Expand All @@ -13,6 +14,33 @@ java.toolchain.languageVersion = JavaLanguageVersion.of(8)

minecraft {
mappings channel: mappings_channel, version: mappings_version

runs {
client {
args "--username=InDev"

jvmArg "-Dfml.coreMods.load=${mixin_loader_class}"
jvmArg "-Dmixin.hotSwap=true"
jvmArg "-Dmixin.checks.interfaces=true"

workingDirectory project.file('run')

property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
property 'forge.logging.console.level', 'debug'
}

server {

jvmArg "-Dfml.coreMods.load=${mixin_loader_class}"
jvmArg "-Dmixin.hotSwap=true"
jvmArg "-Dmixin.checks.interfaces=true"

workingDirectory project.file('run')

property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
property 'forge.logging.console.level', 'debug'
}
}
}

repositories {
Expand All @@ -25,48 +53,57 @@ dependencies {
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"

//Mixin
implementation "org.spongepowered:mixin:${mixin_version}"
compileOnly "org.spongepowered:mixin:${mixin_version}"
annotationProcessor "org.spongepowered:mixin:${mixin_version}:processor"
implementation "io.github.llamalad7:mixinextras-common:${mixin_extras_version}"
compileOnly "io.github.llamalad7:mixinextras-common:${mixin_extras_version}"
annotationProcessor "io.github.llamalad7:mixinextras-common:${mixin_extras_version}"

//FermiumBooter
implementation fg.deobf("curse.maven:fermiumbooter-${fermiumbooter_version}")

//FlatDir Mods
implementation fg.deobf("libs:SRParasites:${srparasites_version}") //Third party distro disabled
compileOnly fg.deobf("libs:SRParasites:${srparasites_version}") //Third party distro disabled

//CurseMaven Mods
implementation fg.deobf("curse.maven:baubles-${baubles_version}")
implementation fg.deobf("curse.maven:betterfoliage-${betterfoliage_version}")
implementation fg.deobf("curse.maven:betterquesting-${betterquesting_version}")
implementation fg.deobf("curse.maven:bettersurvival-${bettersurvival_version}")
implementation fg.deobf("curse.maven:callablehorses-${callablehorses_version}")
implementation fg.deobf("curse.maven:champions-${champions_version}")
implementation fg.deobf("curse.maven:charm-${charm_version}")
implementation fg.deobf("curse.maven:chunkanimator-${chunkanimator_version}")
implementation fg.deobf("curse.maven:defiledlands-${defiledlands_version}")
implementation fg.deobf("curse.maven:distinctdamagedescriptions-${distinctdamagedescriptions_version}")
implementation fg.deobf("curse.maven:epicsiegemod-${epicsiegemod_version}")
implementation fg.deobf("curse.maven:infernalmobs-${infernalmobs_version}")
implementation fg.deobf("curse.maven:infrlcraft-${infrlcraft_version}")
implementation fg.deobf("curse.maven:inspirations-${inspirations_version}")
implementation fg.deobf("curse.maven:jei-${jei_version}")
implementation fg.deobf("curse.maven:lycanitesmobs-${lycanitesmobs_version}")
implementation fg.deobf("curse.maven:mmmmmmmmmmmm-${testdummy_version}")
implementation fg.deobf("curse.maven:mobends-${mobends_version}")
implementation fg.deobf("curse.maven:potioncore-${potioncore_version}")
implementation fg.deobf("curse.maven:quark-${quark_version}")
implementation fg.deobf("curse.maven:rlartifacts-${rlartifacts_version}")
implementation fg.deobf("curse.maven:rlcombat-${rlcombat_version}")
implementation fg.deobf("curse.maven:rustic-${rustic_version}")
implementation fg.deobf("curse.maven:scalinghealth-${scalinghealth_version}")
implementation fg.deobf("curse.maven:somanyenchantments-${somanyenchantments_version}")
implementation fg.deobf("curse.maven:spartanweaponry-${spartanweaponry_version}")
compileOnly fg.deobf("curse.maven:baubles-${baubles_version}")
compileOnly fg.deobf("curse.maven:betterfoliage-${betterfoliage_version}")
compileOnly fg.deobf("curse.maven:betterquesting-${betterquesting_version}")
compileOnly fg.deobf("curse.maven:bettersurvival-${bettersurvival_version}")
compileOnly fg.deobf("curse.maven:callablehorses-${callablehorses_version}")
compileOnly fg.deobf("curse.maven:champions-${champions_version}")
compileOnly fg.deobf("curse.maven:charm-${charm_version}")
compileOnly fg.deobf("curse.maven:chunkanimator-${chunkanimator_version}")
compileOnly fg.deobf("curse.maven:defiledlands-${defiledlands_version}")
compileOnly fg.deobf("curse.maven:distinctdamagedescriptions-${distinctdamagedescriptions_version}")
compileOnly fg.deobf("curse.maven:epicsiegemod-${epicsiegemod_version}")
compileOnly fg.deobf("curse.maven:infernalmobs-${infernalmobs_version}")
compileOnly fg.deobf("curse.maven:infrlcraft-${infrlcraft_version}")
compileOnly fg.deobf("curse.maven:inspirations-${inspirations_version}")
compileOnly fg.deobf("curse.maven:jei-${jei_version}")
compileOnly fg.deobf("curse.maven:lycanitesmobs-${lycanitesmobs_version}")
compileOnly fg.deobf("curse.maven:mmmmmmmmmmmm-${testdummy_version}")
compileOnly fg.deobf("curse.maven:mobends-${mobends_version}")
compileOnly fg.deobf("curse.maven:potioncore-${potioncore_version}")
compileOnly fg.deobf("curse.maven:quark-${quark_version}")
compileOnly fg.deobf("curse.maven:rlartifacts-${rlartifacts_version}")
compileOnly fg.deobf("curse.maven:rlcombat-${rlcombat_version}")
compileOnly fg.deobf("curse.maven:rustic-${rustic_version}")
compileOnly fg.deobf("curse.maven:scalinghealth-${scalinghealth_version}")
compileOnly fg.deobf("curse.maven:somanyenchantments-${somanyenchantments_version}")
compileOnly fg.deobf("curse.maven:spartanweaponry-${spartanweaponry_version}")

//CurseMaven Libs
implementation fg.deobf("curse.maven:autoreglib-${autoreglib_version}")
implementation fg.deobf("curse.maven:llibrary-${llibrary_version}")
compileOnly fg.deobf("curse.maven:autoreglib-${autoreglib_version}")
compileOnly fg.deobf("curse.maven:llibrary-${llibrary_version}")
}

fancyGradle {
patches {
resources
coremods
asm
mergetool
}
}

mixin {
Expand All @@ -92,19 +129,38 @@ processResources {

jar {
manifest {
attributes([
'Specification-Title' : mod_name,
'Specification-Vendor' : mod_author,
'Specification-Version' : '1',
'Implementation-Title' : mod_name,
'Implementation-Vendor' : mod_author,
'Implementation-Version' : mod_version,
'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
'FMLCorePlugin': mixin_loader_class,
'FMLCorePluginContainsFMLMod': 'true',
'ForceLoadAsMod': 'true', //Comment out in dev environment, uncomment for building
'TweakClass': 'org.spongepowered.asm.launch.MixinTweaker'
])
def attr = [:]
attr['Specification-Title'] = mod_name
attr['Specification-Vendor'] = mod_author
attr['Specification-Version'] = '1'
attr['Implementation-Title'] = mod_name
attr['Implementation-Vendor'] = mod_author
attr['Implementation-Version'] = mod_version
attr['Implementation-Timestamp'] = new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
attr['FMLCorePlugin'] = mixin_loader_class
attr['FMLCorePluginContainsFMLMod'] = 'true'
attr['TweakClass'] = 'org.spongepowered.asm.launch.MixinTweaker'
attr['ForceLoadAsMod'] = "true"

def currentTasks = gradle.startParameter.taskNames
if (currentTasks[0] == 'build' || currentTasks[0] == 'assemble')
attr['ForceLoadAsMod'] = "true"
attributes(attr)
}
}

//This task is only for copying output.jar into run/mods/ so when running indev fermiumbooter finds the jar to check for @MixinConfig annotations
tasks.register("copyReobfJar", Copy) {
dependsOn("reobfJar")

from(layout.buildDirectory.file("reobfJar/output.jar"))
into(layout.projectDirectory.dir("run/mods"))
rename("output.jar", "${mod_name}-${mod_version}.jar")
}

afterEvaluate {
tasks.matching { it.name.startsWith("reobfJar") }.configureEach {
finalizedBy("copyReobfJar")
}
}

Expand Down
3 changes: 2 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ forge_gradle_version=6.0.+
forge_version=14.23.5.2860
mappings_channel=stable
mappings_version=39-1.12
fancy_gradle_version=1.1.+

# mixin
mixin_gradle_version=0.7.+
Expand All @@ -29,7 +30,7 @@ mixin_loader_class=rlmixins.RLMixinsPlugin
# dependencies

# fermiumbooter
fermiumbooter_version=968474:6848644
fermiumbooter_version=968474:7279112

# flatdir mods
srparasites_version=1.12.2v1.9.21
Expand Down
1 change: 1 addition & 0 deletions settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ pluginManagement {
gradlePluginPortal()
maven { url = 'https://maven.minecraftforge.net' }
maven { url = 'https://repo.spongepowered.org/maven' }
maven { url 'https://maven.gofancy.wtf/releases' }
}
resolutionStrategy {
eachPlugin {
Expand Down