Files
No-Chat-Restrictions-Mirror/Forge/build.gradle
2026-03-27 23:49:35 +01:00

119 lines
3.5 KiB
Groovy

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')
}