Skip to content

Commit

Permalink
refactor: multi loader template
Browse files Browse the repository at this point in the history
  • Loading branch information
sakurawald committed Jun 4, 2024
1 parent 7d528df commit dfdc754
Show file tree
Hide file tree
Showing 5 changed files with 107 additions and 45 deletions.
15 changes: 0 additions & 15 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,15 +0,0 @@
plugins{
id 'fabric-loom' version '1.6-SNAPSHOT' apply(false)
}

subprojects {
apply plugin: "fabric-loom"

dependencies {

minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings "net.fabricmc:yarn:${project.yarn_mappings}"
}


}
57 changes: 40 additions & 17 deletions common/build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
plugins {
// id 'fabric-loom' version '1.6-SNAPSHOT'
id 'multiloader-common'
id 'org.spongepowered.gradle.vanilla' version '0.2.1-SNAPSHOT'
}

minecraft {
version(minecraft_version)
def aw = file("src/main/resources/${mod_id}.accesswidener")
if(aw.exists()){
accessWideners(aw)
}

}

repositories {
Expand All @@ -14,19 +24,18 @@ repositories {
}

dependencies {
compileOnly group:'org.spongepowered', name:'mixin', version:'0.8.5'

modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"

modImplementation "dev.architectury:architectury:11.1.17"
implementation "dev.architectury:architectury:11.1.17"

modImplementation include("me.lucko:fabric-permissions-api:${project.fabric_permissions_version}")
modImplementation include("net.kyori:adventure-platform-fabric:${project.adventure_platform_fabric_version}")
include(implementation "net.kyori:adventure-text-minimessage:${project.adventure_api_version}")
include(implementation "net.kyori:adventure-text-serializer-plain:${project.adventure_api_version}")
implementation("me.lucko:fabric-permissions-api:${project.fabric_permissions_version}")
// implementation("net.kyori:adventure-platform-fabric:${project.adventure_platform_fabric_version}")
implementation "net.kyori:adventure-text-minimessage:${project.adventure_api_version}"
implementation "net.kyori:adventure-text-serializer-plain:${project.adventure_api_version}"

modImplementation("carpet:fabric-carpet:${project.carpet_core_version}")
implementation("carpet:fabric-carpet:${project.carpet_core_version}")

modImplementation include("eu.pb4:sgui:${project.sgui_version}")
implementation("eu.pb4:sgui:${project.sgui_version}")

implementation "me.lucko:spark-api:${project.spark_version}"

Expand All @@ -36,12 +45,26 @@ dependencies {
testAnnotationProcessor "org.projectlombok:lombok:${project.lombok_version}"

implementation group: 'com.google.code.gson', name: 'gson', version: "${project.gson_version}"
implementation(annotationProcessor("com.github.llamalad7.mixinextras:mixinextras-fabric:${project.mixin_extras_version}"))
implementation group: 'org.apache.commons', name: 'commons-compress', version: "${project.apache_commons_compression_version}"
implementation group: 'commons-io', name: 'commons-io', version: "${project.apache_commons_io_version}"
implementation group: 'org.quartz-scheduler', name: 'quartz', version: "${project.quartz_version}"
implementation "org.reflections:reflections:${project.reflections_version}"
implementation "org.javassist:javassist:${project.javaassist_version}"
}

include(implementation(annotationProcessor("com.github.llamalad7.mixinextras:mixinextras-fabric:${project.mixin_extras_version}")))
configurations {
commonJava {
canBeResolved = false
canBeConsumed = true
}
commonResources {
canBeResolved = false
canBeConsumed = true
}
}

include(implementation group: 'org.apache.commons', name: 'commons-compress', version: "${project.apache_commons_compression_version}")
include(implementation group: 'commons-io', name: 'commons-io', version: "${project.apache_commons_io_version}")
include(implementation group: 'org.quartz-scheduler', name: 'quartz', version: "${project.quartz_version}")
include(implementation "org.reflections:reflections:${project.reflections_version}")
include(implementation "org.javassist:javassist:${project.javaassist_version}")
}
artifacts {
commonJava sourceSets.main.java.sourceDirectories.singleFile
commonResources sourceSets.main.resources.sourceDirectories.singleFile
}
22 changes: 21 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,34 @@ mod_version=1.1.8
maven_group=io.github.sakurawald
archives_base_name=fuji

java_version=21

# Common
mod_name=ExampleMod
mod_author=Jared
mod_id=examplemod
license=CC0-1.0
credits=
description=The description of your mod. \nAccepts multilines.
minecraft_version_range=[1.20.6, 1.21)

# fabric deps
minecraft_version=1.20.6
loader_version=0.15.11
yarn_mappings=1.20.6+build.1
yarn_mappings=1.20.6+build.3

# mod deps

fabric_version=0.98.0+1.20.6
fabric_api_version=0.98.0+1.20.6
fabric_loader_version=0.15.11

carpet_core_version=1.20.6-1.4.141+v240429
sgui_version=1.5.1+1.20.5
adventure_api_version=4.15.0
adventure_platform_fabric_version=5.13.0


# common deps
fabric_permissions_version=0.2-SNAPSHOT
spark_version=0.1-SNAPSHOT
Expand All @@ -29,3 +45,7 @@ lombok_version=1.18.30
quartz_version=2.5.0-rc1
reflections_version=0.10.2
javaassist_version=3.29.2-GA

# NeoForge
neoforge_version=20.6.72-beta
neoforge_loader_version_range=[2,)
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
56 changes: 45 additions & 11 deletions settings.gradle
Original file line number Diff line number Diff line change
@@ -1,19 +1,53 @@
pluginManagement {
repositories {
maven {
name = 'Fabric'
url = 'https://maven.fabricmc.net/'
gradlePluginPortal()
mavenCentral()
exclusiveContent {
forRepository {
maven {
name = 'Fabric'
url = uri("https://maven.fabricmc.net")
}
}
filter {
includeGroup("net.fabricmc")
includeGroup("fabric-loom")
}
}
exclusiveContent {
forRepository {
maven {
name = 'NeoForge'
url = uri("https://maven.neoforged.net/releases")
}
}
filter {
includeGroupAndSubgroups("net.neoforged")
includeGroup("codechicken")
}
}
maven {
name = 'Forge'
url = 'https://maven.minecraftforge.net/'
exclusiveContent {
forRepository {
maven {
name = 'Sponge Snapshots'
url = uri("https://repo.spongepowered.org/repository/maven-public")
}
}
filter {
includeGroupAndSubgroups("org.spongepowered")
includeGroup("net.minecraftforge")
}
}


maven { url "https://maven.architectury.dev/" }
gradlePluginPortal()
}
}

include(
'common',
'fabric'
)
plugins {
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.8.0'
}

rootProject.name = 'fuji'
include('common')
include('fabric')

0 comments on commit dfdc754

Please sign in to comment.