2023-05-29 13:37:40 +02:00
plugins {
id "com.modrinth.minotaur" version "2.+"
id 'fabric-loom' version '1.2-SNAPSHOT'
id 'maven-publish'
}
version = project . mod_version
group = project . maven_group
base {
archivesName = project . archives_base_name
}
repositories {
// Add repositories to retrieve artifacts from in here.
// You should only use this when depending on other mods because
// Loom adds the essential maven repositories to download Minecraft and libraries from automatically.
// See https://docs.gradle.org/current/userguide/declaring_repositories.html
// for more information about repositories.
maven {
name = 'Ladysnake Mods'
url = 'https://ladysnake.jfrog.io/artifactory/mods'
}
maven {
url = "https://api.modrinth.com/maven"
}
maven { url 'https://jitpack.io' }
maven { url "https://maven.shedaniel.me/" }
maven { url "https://maven.terraformersmc.com/releases/" }
maven {
url = uri ( "https://ueaj.dev/maven" )
// for 0.4.2 and older
// url uri("https://raw.githubusercontent.com/Devan-Kerman/Devan-Repo/master/")
}
maven { url 'https://maven.siphalor.de/' }
}
dependencies {
// To change the versions see the gradle.properties file
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
// Fabric API. This is technically optional, but you probably want it anyway.
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
// Uncomment the following line to enable the deprecated Fabric API modules.
// These are included in the Fabric API production distribution and allow you to update your mod to the latest modules at a later more convenient time.
// modImplementation "net.fabricmc.fabric-api:fabric-api-deprecated:${project.fabric_version}"
// Dependency of Immersive Portals Core:
2023-05-29 19:15:37 +02:00
modImplementation ( "com.github.iPortalTeam.ImmersivePortalsMod:imm_ptl_core:${project.immersive_portals_version}" ) {
2023-05-29 13:37:40 +02:00
exclude ( group: "net.fabricmc.fabric-api" )
exclude ( group: "net.fabricmc.fabric-loader" )
transitive ( false )
}
// Dependency of the Miscellaneous Utility Library from qouteall
2023-05-29 19:15:37 +02:00
modImplementation ( "com.github.iPortalTeam.ImmersivePortalsMod:q_misc_util:${project.immersive_portals_version}" ) {
2023-05-29 13:37:40 +02:00
exclude ( group: "net.fabricmc.fabric-api" )
exclude ( group: "net.fabricmc.fabric-loader" )
transitive ( false )
}
2023-05-29 18:44:51 +02:00
include ( modApi ( "dev.onyxstudios.cardinal-components-api:cardinal-components-base:${project.cardinal_components_version}" ) ) {
2023-05-29 13:37:40 +02:00
exclude ( group: "net.fabricmc.fabric-loader" )
transitive ( false )
}
// Replace modImplementation with modApi if you expose components in your own API
2023-05-29 18:44:51 +02:00
include ( modImplementation ( "dev.onyxstudios.cardinal-components-api:cardinal-components-level:${project.cardinal_components_version}" ) ) {
2023-05-29 13:37:40 +02:00
exclude ( group: "net.fabricmc.fabric-loader" )
transitive ( false )
}
api ( "com.github.LlamaLad7:MixinExtras:0.2.0-beta.4" )
2023-05-29 19:15:37 +02:00
annotationProcessor ( "com.github.LlamaLad7:MixinExtras:0.2.0-beta.4" )
2023-05-29 13:37:40 +02:00
include ( modApi ( platform ( "de.siphalor.tweed4:tweed4-bom-$project.minecraft_version_major:$project.tweed_version" ) ) )
// Pick any modules you want to use, e.g.:
include ( modApi ( "de.siphalor.tweed4:tweed4-base-$project.minecraft_version_major" ) )
include ( modApi ( "de.siphalor.tweed4:tweed4-annotated-$project.minecraft_version_major" ) )
include ( modApi ( "de.siphalor.tweed4:tweed4-data-$project.minecraft_version_major" ) )
include ( modApi ( "de.siphalor.tweed4:tweed4-data-hjson-$project.minecraft_version_major" ) )
2023-06-11 00:14:34 +02:00
//include(modApi("de.siphalor.tweed4:tweed4-tailor-cloth-$project.minecraft_version_major"))
2023-05-29 17:17:48 +02:00
include ( modApi ( "de.siphalor.tweed4:tweed4-tailor-screen-$project.minecraft_version_major" ) )
2023-05-29 13:37:40 +02:00
2023-05-29 19:15:37 +02:00
modImplementation ( "me.shedaniel.cloth:cloth-config-fabric:$project.cloth_config_version" ) {
2023-05-29 17:17:48 +02:00
exclude ( group: "net.fabricmc.fabric-api" )
}
2023-05-29 13:37:40 +02:00
2023-06-11 01:42:21 +02:00
modImplementation "maven.modrinth:sodium:mc${project.minecraft_version}-${project.sodium_version}"
2023-05-29 13:37:40 +02:00
}
configurations . include . transitive = true
configurations . include . dependencies . each {
if ( ! it . name . contains ( "bom" ) ) {
it . transitive = false
}
}
processResources {
filesMatching ( "fabric.mod.json" ) {
2023-06-11 00:14:34 +02:00
expand ( project . properties )
2023-05-29 13:37:40 +02:00
}
}
tasks . withType ( JavaCompile ) . configureEach {
it . options . release = 17
}
java {
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
// if it is present.
// If you remove this line, sources will not be generated.
withSourcesJar ( )
sourceCompatibility = JavaVersion . VERSION_17
targetCompatibility = JavaVersion . VERSION_17
}
jar {
from ( "LICENSE" ) {
rename { "${it}_${project.archivesBaseName}" }
}
}
import com.modrinth.minotaur.dependencies.ModDependency
modrinth {
projectId = 'QXA901PE' // The ID of your Modrinth project. Slugs will not work.
uploadFile = remapJar // Tells Minotaur to use the remapped jar
2023-06-11 00:14:34 +02:00
versionType = "beta"
2023-05-29 13:37:40 +02:00
dependencies = [
2023-05-29 19:15:37 +02:00
new ModDependency ( 'P7dR8mSH' , 'required' ) , //required dependency on Fabric API
new ModDependency ( 'zJpHMkdD' , 'required' ) //required dependency on Immersive Portals
2023-05-29 13:37:40 +02:00
]
}
// configure the maven publication
publishing {
publications {
mavenJava ( MavenPublication ) {
from components . java
}
}
// See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing.
repositories {
// Add repositories to publish to here.
// Notice: This block does NOT have the same function as the block in the top level.
// The repositories here will be used for publishing your artifact, not for
// retrieving dependencies.
}
}