@@ -10,18 +10,15 @@ buildscript {
1010
1111plugins {
1212 id " idea"
13+ id " eclipse"
1314 id " maven-publish"
14- id ' net.minecraftforge.gradle' version ' [6.0,6.2)'
15- id ' org.parchmentmc.librarian.forgegradle' version ' 1.+'
15+ id ' net.neoforged.moddev.legacyforge' version ' 2.0.91'
1616 id ' com.diffplug.spotless' version ' 7.0.2'
17- id ' org.spongepowered.mixin' version ' 0.7+'
1817}
1918
20- def generatedResources = file(" src/generated" )
21-
2219sourceSets {
23- main {
24- resources . srcDir generatedResources
20+ main. resources {
21+ srcDir ' src/generated/resources '
2522 }
2623}
2724
@@ -76,54 +73,85 @@ version = mod_version
7673group = maven_group
7774base { archivesName = archives_base_name }
7875java { sourceCompatibility = targetCompatibility = JavaVersion . VERSION_17 }
79- sourceSets. main. resources { srcDir ' src/generated/resources' }
8076
81- minecraft {
82- mappings channel : mapping_channel, version : mapping_version
83- copyIdeResources = true
77+ legacyForge {
78+ version = project. minecraft_version + ' -' + project. forge_version
79+
80+ parchment {
81+ mappingsVersion = project. mapping_version
82+ minecraftVersion = project. minecraft_version
83+ }
84+
8485 runs {
8586 configureEach {
86- workingDirectory project. file(' run' )
87- property ' forge.logging.markers' , ' REGISTRIES'
88- property ' forge.logging.console.level' , ' debug'
89- mods { " ${ mod_id} " { source sourceSets. main } }
90- property ' mixin.env.remapRefMap' , ' true'
91- property ' mixin.env.refMapRemappingFile' , " ${ buildDir} /createSrgToMcp/output.srg"
87+ // Recommended logging data for a userdev environment
88+ // The markers can be added/remove as needed separated by commas.
89+ // "SCAN": For mods scan.
90+ // "REGISTRIES": For firing of registry events.
91+ // "REGISTRYDUMP": For getting the contents of all registries.
92+ systemProperty ' forge.logging.markers' , ' REGISTRIES'
93+
94+ // Recommended logging level for the console
95+ // You can set various levels here.
96+ // Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels
97+ logLevel = org.slf4j.event.Level . DEBUG
98+ sourceSet = sourceSets. main
99+ }
100+ client {
101+ client()
102+ programArguments. addAll(' --refresh-dependencies' )
103+ systemProperty(' forge.enabledGameTestNamespaces' , project. mod_id)
104+ }
105+ server {
106+ server()
107+ systemProperty(' forge.enabledGameTestNamespaces' , project. mod_id)
108+ programArguments. addAll(' --nogui' , ' --world' , ' world-extra' )
92109 }
93- client { property ' forge.enabledGameTestNamespaces' , mod_id }
94- server { property ' forge.enabledGameTestNamespaces' , mod_id; args ' --nogui' }
95110 data {
96- // example of overriding the workingDirectory set in configureEach above
97- workingDirectory project. file(' run-data' )
111+ data()
98112
99113 // Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources.
100- args ' --mod' , mod_id, ' --all' , ' --output' , file(' src/generated/resources/' ), ' --existing' , file(' src/main/resources/' )
114+ programArguments. addAll(' --mod' , project. mod_id, ' --all' , ' --output' , file(' src/generated/resources/' ). getAbsolutePath(), ' --existing' , file(' src/main/resources/' ). getAbsolutePath())
115+ programArguments. addAll(' --existing-mod' , ' gtceu' )
101116 }
102117 }
103- }
104118
119+ mods {
120+ // define mod <-> source bindings
121+ // these are used to tell the game which sources are for which mod
122+ // mostly optional in a single mod project
123+ // but multi mod projects should define one per mod
124+ " ${ mod_id} " {
125+ sourceSet(sourceSets. main)
126+ }
127+ }
128+ }
129+ jar {
130+ manifest. attributes([
131+ " MixinConfigs" : " examplemod.mixins.json"
132+ ])
133+ }
105134
106- apply plugin : ' org.spongepowered.mixin'
107135apply from : " $rootDir /gradle/scripts/spotless.gradle"
108136
109137dependencies {
110- minecraft " net.minecraftforge:forge: ${ minecraft_version } - ${ forge_version } "
138+ compileOnly( " org.jetbrains:annotations:26.0.1 " )
111139
112140 // Mixin
113- annotationProcessor " org.spongepowered:mixin:0.8.7 :processor"
141+ annotationProcessor( ' org.spongepowered:mixin:0.8.5 :processor' )
114142
115143 // JEI, EMI, Jade
116- compileOnly fg . deobf (" mezz.jei:jei-${ minecraft_version} -forge-api:${ jei_version} " )
117- compileOnly fg . deobf (" mezz.jei:jei-${ minecraft_version} -common-api:${ jei_version} " )
118- runtimeOnly fg . deobf (" mezz.jei:jei-${ minecraft_version} -forge:${ jei_version} " )
119- runtimeOnly fg . deobf (" dev.emi:emi-forge:${ emi_version} +${ minecraft_version} " )
120- runtimeOnly fg . deobf (" curse.maven:jade-324717:5390389" )
144+ modCompileOnly (" mezz.jei:jei-${ minecraft_version} -forge-api:${ jei_version} " )
145+ modCompileOnly (" mezz.jei:jei-${ minecraft_version} -common-api:${ jei_version} " )
146+ modRuntimeOnly (" mezz.jei:jei-${ minecraft_version} -forge:${ jei_version} " )
147+ modRuntimeOnly (" dev.emi:emi-forge:${ emi_version} +${ minecraft_version} " )
148+ modRuntimeOnly (" curse.maven:jade-324717:5390389" )
121149
122150 // GregTech and dependencies
123- implementation fg . deobf (" com.gregtechceu.gtceu:gtceu-${ minecraft_version} :${ gtceu_version} :slim" ) { transitive = false }
124- implementation fg . deobf (" com.lowdragmc.ldlib:ldlib-forge-${ minecraft_version} :${ ldlib_version} " ) { transitive = false }
125- implementation fg . deobf (" com.tterrag.registrate:Registrate:${ registrate_version} " )
126- runtimeOnly fg . deobf (" dev.toma.configuration:configuration-forge-${ minecraft_version} :${ configuration_version} " )
151+ modImplementation (" com.gregtechceu.gtceu:gtceu-${ minecraft_version} :${ gtceu_version} :slim" ) { transitive = false }
152+ modImplementation (" com.lowdragmc.ldlib:ldlib-forge-${ minecraft_version} :${ ldlib_version} " ) { transitive = false }
153+ modImplementation (" com.tterrag.registrate:Registrate:${ registrate_version} " )
154+ modRuntimeOnly (" dev.toma.configuration:configuration-forge-${ minecraft_version} :${ configuration_version} " )
127155
128156 // lombok
129157 compileOnly ' org.projectlombok:lombok:1.18.24'
0 commit comments