buildscript { repositories { maven { url = 'https://repo.spongepowered.org/repository/maven-public/' } maven { url "https://plugins.gradle.org/m2/" } gradlePluginPortal() } } plugins { id 'java' id 'idea' id 'eclipse' id 'net.minecraftforge.gradle' version '[7.0.17,8)' id "com.modrinth.minotaur" version "2.+" id 'net.darkhax.curseforgegradle' version '1.+' } version = project.modVersion group = 'com.aizistral.nochatrestrictions' // Mojang ships Java 25 to end users in 26.1+, so your mod should target Java 25. java.toolchain.languageVersion = JavaLanguageVersion.of(25) tasks.withType(JavaCompile).configureEach { options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation } println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version') + '(' + System.getProperty('java.vendor') + ') Arch: ' + System.getProperty('os.arch')) minecraft { // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. // accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') runs { configureEach { workingDir = layout.projectDirectory.dir('run') systemProperty 'eventbus.api.strictRuntimeChecks', 'true' systemProperty 'forge.enabledGameTestNamespaces', 'nochatrestrictions' args '--mixin.config=nochatrestrictions.mixins.json' } register('client') register('server') { args '--nogui' } } } repositories { minecraft.mavenizer(it) maven fg.forgeMaven maven fg.minecraftLibsMaven maven { url = "https://repo.spongepowered.org/maven" } mavenCentral() } dependencies { implementation minecraft.dependency("net.minecraftforge:forge:$minecraft_version-$forge_version") annotationProcessor 'org.spongepowered:mixin:0.8.7:processor' annotationProcessor 'net.minecraftforge:eventbus-validator:7.0.1' } tasks.withType(Jar) { archivesBaseName = project.archivesBaseName } jar { manifest { attributes([ "Specification-Title": "NoChatRestrictions", "Specification-Vendor": "Aizistral", "Specification-Version": project.manifestVersion, "Implementation-Title": project.name, "Implementation-Version": project.manifestVersion, "Implementation-Vendor" :"NoChatRestrictions", "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"), "TweakClass": "org.spongepowered.asm.launch.MixinTweaker", "TweakOrder": 0, "MixinConfigs" : "nochatrestrictions.mixins.json" ]) } } task curseforge(type: net.darkhax.curseforgegradle.TaskPublishCurseForge) { disableVersionDetection() apiToken = findProperty('curseKey') ?: '0' def projectId = '1442925' def mainFile = upload(projectId, jar) mainFile.changelogType = 'markdown' mainFile.changelog = rootProject.file("../CHANGELOG.md").text mainFile.releaseType = 'release' mainFile.addModLoader('Forge') mainFile.addJavaVersion('Java 25') mainFile.addGameVersion(project.minecraft_version) } modrinth { token = findProperty('modrinthKey') ?: '0' projectId = "z440MEwJ" versionNumber = project.version versionName = "No Chat Restrictions " + project.version versionType = "release" changelog = rootProject.file("../CHANGELOG.md").text uploadFile = jar gameVersions = [ project.minecraft_version ] loaders = [ 'forge' ] } task upload { dependsOn('modrinth') dependsOn('curseforge') }