plugins { id 'java-library' id 'eclipse' id 'idea' id 'maven-publish' id 'net.neoforged.gradle.userdev' version '7.0.116' id "com.modrinth.minotaur" version "2.+" id "com.matthewprenger.cursegradle" version "1.4.0" } version = project.mod_version group = 'com.aizistral.nochatrestrictions' repositories { mavenLocal() } base { archivesName = 'NoChatRestrictions' } // Mojang ships Java 17 to end users in 1.18+, so your mod should target Java 17. java.toolchain.languageVersion = JavaLanguageVersion.of(17) tasks.withType(JavaCompile).configureEach { options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation } runs { configureEach { // Recommended logging data for a userdev environment // The markers can be added/remove as needed separated by commas. // "SCAN": For mods scan. // "REGISTRIES": For firing of registry events. // "REGISTRYDUMP": For getting the contents of all registries. systemProperty 'forge.logging.markers', 'REGISTRIES' systemProperty 'mixin.env.disableRefMap', 'true' // Recommended logging level for the console // You can set various levels here. // Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels systemProperty 'forge.logging.console.level', 'info' modSource project.sourceSets.main } client { systemProperty 'forge.enabledGameTestNamespaces', 'nochatrestrictions' } server { systemProperty 'forge.enabledGameTestNamespaces', 'nochatrestrictions' programArgument '--nogui' } } dependencies { implementation "net.neoforged:neoforge:${neo_version}" } tasks.withType(ProcessResources).configureEach { var replaceProperties = [ mod_version: manifest_version ] inputs.properties replaceProperties filesMatching(['META-INF/mods.toml', 'pack.mcmeta']) { expand replaceProperties + [project: project] } } 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") ]) } } curseforge { project { apiKey = findProperty('curseKey') ?: '0' id = '1442925' releaseType = 'release' changelogType = 'markdown' changelog = file('../CHANGELOG.md') addGameVersion '1.20.2' addGameVersion 'NeoForge' addGameVersion 'Java 17' } } 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 = [ '1.20.2' ] loaders = [ 'neoforge' ] } task upload { dependsOn('modrinth') dependsOn('curseforge') }