Skip to content

Commit d97d8aa

Browse files
committed
Refactor!: Single version, removed kotlin modloader
1 parent 0cf5751 commit d97d8aa

File tree

19 files changed

+137
-322
lines changed

19 files changed

+137
-322
lines changed

build.gradle.kts

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ val yarnMappings = property("yarn_mappings").toString()
1010
val libs = file("libs")
1111

1212
plugins {
13-
kotlin("jvm") version "1.9.22"
13+
kotlin("jvm") version "1.9.23"
1414
id("org.jetbrains.dokka") version "1.9.20"
1515
id("architectury-plugin") version "3.4-SNAPSHOT"
1616
id("dev.architectury.loom") version "1.5-SNAPSHOT" apply false
@@ -26,14 +26,8 @@ subprojects {
2626
apply(plugin = "org.jetbrains.dokka")
2727

2828
dependencies {
29-
if (path == ":quilt") {
30-
"minecraft"("com.mojang:minecraft:1.20.2")
31-
"mappings"("net.fabricmc:yarn:1.20.2+build.3:v2")
32-
}
33-
else {
34-
"minecraft"("com.mojang:minecraft:$minecraftVersion")
35-
"mappings"("net.fabricmc:yarn:$yarnMappings:v2")
36-
}
29+
"minecraft"("com.mojang:minecraft:$minecraftVersion")
30+
"mappings"("net.fabricmc:yarn:$yarnMappings:v2")
3731
}
3832

3933
if (path == ":common") return@subprojects

common/build.gradle.kts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
val fabricLoaderVersion = property("fabric_loader_version").toString()
2-
val fabricKotlinVersion = property("fabric_kotlin_version").toString()
32
val mixinExtrasVersion = property("mixinextras_version").toString()
3+
val kotlinVersion = property("kotlin_version").toString()
4+
val kotlinxCoroutinesVersion = property("kotlinx_coroutines_version").toString()
45
val architecturyVersion = property("architectury_version").toString()
56

6-
architectury { common("fabric", "forge", "neoforge", "quilt") }
7+
architectury { common("fabric", "forge", "neoforge") }
78

89
loom {
910
silentMojangMappingsLicense()
1011
accessWidenerPath.set(File("src/main/resources/lambda.accesswidener"))
1112
}
1213

1314
repositories {
14-
maven("https://impactdevelopment.github.io/maven/")
1515
maven("https://maven.fabricmc.net/")
1616
}
1717

@@ -25,8 +25,9 @@ dependencies {
2525

2626
// Add dependencies on the required Kotlin modules.
2727
implementation("org.reflections:reflections:0.10.2")
28-
modImplementation("net.fabricmc:fabric-language-kotlin:$fabricKotlinVersion")
29-
modImplementation("baritone-api:baritone-api:1.10.2")
28+
29+
// Add Kotlin
30+
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinxCoroutinesVersion")
3031
}
3132

3233
// Avoid nested jars

fabric/build.gradle.kts

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
val fabricLoaderVersion = property("fabric_loader_version").toString()
22
val fabricApiVersion = property("fabric_api_version").toString()
3-
val fabricKotlinVersion = property("fabric_kotlin_version").toString()
3+
val kotlinVersion = property("kotlin_version").toString()
4+
val kotlinxCoroutinesVersion = property("kotlinx_coroutines_version").toString()
45
val architecturyVersion = property("architectury_version").toString()
56

67
architectury {
@@ -15,10 +16,6 @@ loom {
1516
enableTransitiveAccessWideners.set(true)
1617
}
1718

18-
repositories {
19-
maven("https://impactdevelopment.github.io/maven/")
20-
}
21-
2219
val common: Configuration by configurations.creating {
2320
configurations.compileClasspath.get().extendsFrom(this)
2421
configurations.runtimeClasspath.get().extendsFrom(this)
@@ -27,6 +24,7 @@ val common: Configuration by configurations.creating {
2724

2825
val includeLib: Configuration by configurations.creating
2926
val includeMod: Configuration by configurations.creating
27+
val shadowInclude: Configuration by configurations.creating
3028

3129
fun DependencyHandlerScope.setupConfigurations() {
3230
includeLib.dependencies.forEach {
@@ -37,26 +35,29 @@ fun DependencyHandlerScope.setupConfigurations() {
3735
includeMod.dependencies.forEach {
3836
modImplementation(it)
3937
}
38+
39+
shadowInclude.dependencies.forEach {
40+
implementation(it)
41+
shadowCommon(it)
42+
}
4043
}
4144

4245
dependencies {
4346
// Fabric API (Do not touch)
4447
modImplementation("net.fabricmc:fabric-loader:$fabricLoaderVersion")
45-
modApi("net.fabricmc.fabric-api:fabric-api:$fabricApiVersion")
4648

4749
// Remove the following line if you don't want to depend on the API
4850
modApi("dev.architectury:architectury-fabric:$architecturyVersion")
4951

50-
// Kotlin for Fabric
51-
modImplementation("net.fabricmc:fabric-language-kotlin:$fabricKotlinVersion")
52-
5352
// Add dependencies on the required Kotlin modules.
5453
includeLib("org.reflections:reflections:0.10.2")
5554
includeLib("org.javassist:javassist:3.27.0-GA")
56-
includeLib("nether-pathfinder:nether-pathfinder:1.4.1")
5755

5856
// Add mods to the mod jar
59-
includeMod("baritone-api:baritone-unoptimized-fabric:1.10.2")
57+
// includeMod(...)
58+
59+
// Add Kotlin
60+
shadowInclude("org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinxCoroutinesVersion")
6061

6162
// Common (Do not touch)
6263
common(project(":common", configuration = "namedElements")) { isTransitive = false }
@@ -75,7 +76,7 @@ tasks {
7576
expand(getProperties())
7677
expand(mutableMapOf(
7778
"group" to project.group,
78-
"version" to project.version
79+
"version" to project.version,
7980
))
8081
}
8182
}

fabric/src/main/kotlin/com/lambda/fabric/LambdaFabric.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import com.lambda.Lambda.LOG
66
import com.lambda.Lambda.MOD_NAME
77
import com.lambda.Lambda.VERSION
88

9-
object LambdaFabric : ClientModInitializer {
9+
class LambdaFabric : ClientModInitializer {
1010
override fun onInitializeClient() {
1111
Lambda.initialize()
1212
LOG.info("$MOD_NAME Fabric $VERSION initialized.")

fabric/src/main/resources/fabric.mod.json

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
"entrypoints": {
1818
"client": [
1919
{
20-
"adapter": "kotlin",
2120
"value": "com.lambda.fabric.LambdaFabric"
2221
}
2322
]
@@ -26,11 +25,10 @@
2625
"lambda.mixins.common.json"
2726
],
2827
"depends": {
29-
"fabricloader": ">=0.14.24",
30-
"fabric-api": ">=0.83.0+1.20",
31-
"architectury": ">=9.0.6",
32-
"minecraft": ">=1.20.0",
33-
"java": ">=17",
34-
"fabric-language-kotlin": ">=${fabric_kotlin_version}"
28+
"fabricloader": ">=0.15.1",
29+
"fabric-api": ">=0.91.3+1.20.4",
30+
"architectury": ">=11.0.8",
31+
"minecraft": "1.20.4",
32+
"java": ">=17"
3533
}
3634
}

forge/build.gradle.kts

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
val forgeVersion = property("forge_version").toString()
2-
val kotlinForgeVersion = property("kotlin_forge_version").toString()
2+
val kotlinVersion = property("kotlin_version").toString()
3+
val kotlinxCoroutinesVersion = property("kotlinx_coroutines_version").toString()
34
val architecturyVersion = property("architectury_version").toString()
45
val mixinExtrasVersion = property("mixinextras_version").toString()
56

@@ -33,9 +34,7 @@ loom {
3334
}
3435

3536
repositories {
36-
maven("https://thedarkcolour.github.io/KotlinForForge/")
3737
maven("https://cursemaven.com")
38-
maven("https://impactdevelopment.github.io/maven/")
3938
}
4039

4140
val common: Configuration by configurations.creating {
@@ -46,6 +45,7 @@ val common: Configuration by configurations.creating {
4645

4746
val includeLib: Configuration by configurations.creating
4847
val includeMod: Configuration by configurations.creating
48+
val shadowInclude: Configuration by configurations.creating
4949

5050
fun DependencyHandlerScope.setupConfigurations() {
5151
includeLib.dependencies.forEach {
@@ -59,6 +59,11 @@ fun DependencyHandlerScope.setupConfigurations() {
5959
implementation(it)
6060
forgeRuntimeLibrary(it)
6161
}
62+
63+
shadowInclude.dependencies.forEach {
64+
implementation(it)
65+
shadowCommon(it)
66+
}
6267
}
6368

6469
dependencies {
@@ -70,33 +75,38 @@ dependencies {
7075

7176
// Add dependencies on the required Kotlin modules.
7277
includeLib("org.reflections:reflections:0.10.2")
73-
includeLib("org.javassist:javassist:3.27.0-GA")
74-
includeLib("nether-pathfinder:nether-pathfinder:1.4.1")
78+
includeLib("org.javassist:javassist:3.30.0-GA")
7579

7680
// Add mods to the mod jar
77-
includeMod("thedarkcolour:kotlinforforge:$kotlinForgeVersion")
78-
includeMod("baritone:baritone-unoptimized-forge:1.10.2")
81+
// includeMod(...)
7982

80-
// Common (Do not touch)
81-
common(project(":common", configuration = "namedElements")) { isTransitive = false }
82-
shadowCommon(project(path = ":common", configuration = "transformProductionForge")) { isTransitive = false }
83+
// Add Kotlin
84+
shadowInclude("org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion")
85+
shadowInclude("org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinxCoroutinesVersion")
8386

84-
// Others
87+
// MixinExtras
8588
implementation("io.github.llamalad7:mixinextras-forge:$mixinExtrasVersion")
8689
compileOnly(annotationProcessor("io.github.llamalad7:mixinextras-common:$mixinExtrasVersion")!!)
87-
compileOnly(kotlin("stdlib")) // Hack https://github.com/thedarkcolour/KotlinForForge/issues/93
90+
91+
// Common (Do not touch)
92+
common(project(":common", configuration = "namedElements")) { isTransitive = false }
93+
shadowCommon(project(path = ":common", configuration = "transformProductionForge")) { isTransitive = false }
8894

8995
// Finish the configuration
9096
setupConfigurations()
9197
}
9298

9399
tasks {
94100
processResources {
101+
inputs.property("group", project.group)
95102
inputs.property("version", project.version)
96103

97104
filesMatching("META-INF/mods.toml") {
98105
expand(getProperties())
99-
expand(mutableMapOf("version" to project.version))
106+
expand(mutableMapOf(
107+
"group" to project.group,
108+
"version" to project.version,
109+
))
100110
}
101111
}
102112
}

forge/src/main/kotlin/com/lambda/forge/LambdaForge.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
package com.lambda.forge
22

3-
import net.minecraftforge.fml.common.Mod
43
import com.lambda.Lambda
54
import com.lambda.Lambda.LOG
65
import com.lambda.Lambda.MOD_NAME
76
import com.lambda.Lambda.VERSION
7+
import net.minecraftforge.fml.common.Mod
8+
89

910
@Mod(Lambda.MOD_ID)
10-
object LambdaForge {
11+
class LambdaForge {
1112
init {
1213
Lambda.initialize()
1314
LOG.info("$MOD_NAME Forge $VERSION initialized.")
Lines changed: 25 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,34 @@
1-
modLoader = "kotlinforforge"
2-
loaderVersion = "[4,)"
1+
modLoader = "javafml"
2+
loaderVersion = "[48,)"
33
license = "GNU General Public License v3.0"
4+
issueTrackerURL = "https://github.com/lambda-client/lambda/issues
45
56
[[mods]]
6-
modId = "lambda"
7-
version = "${version}"
8-
displayName = "Lambda"
9-
authors = "${authors}"
10-
description = '''
11-
'''
12-
logoFile = "assets/lambda/lambda.png"
13-
displayTest = "IGNORE_ALL_VERSION"
7+
modId = "lambda"
8+
version = "${mod_version}"
9+
displayName = "Lambda"
10+
authors = "${authors}"
11+
description = "${mod_description}"
12+
logoFile = "assets/lambda/lambda.png"
13+
displayTest = "IGNORE_ALL_VERSION"
1414

1515
[[dependencies.lambda]]
16-
modId = "forge"
17-
mandatory = true
18-
versionRange = "[44,)"
19-
ordering = "NONE"
20-
side = "CLIENT"
16+
modId = "forge"
17+
mandatory = true
18+
versionRange = "[49,)"
19+
ordering = "NONE"
20+
side = "CLIENT"
2121

2222
[[dependencies.lambda]]
23-
modId = "minecraft"
24-
mandatory = true
25-
versionRange = "[1.19.3,1.21)"
26-
ordering = "NONE"
27-
side = "CLIENT"
23+
modId = "minecraft"
24+
mandatory = true
25+
versionRange = "[1.20.4,)"
26+
ordering = "NONE"
27+
side = "CLIENT"
2828

2929
[[dependencies.lambda]]
30-
modId = "kotlinforforge"
31-
mandatory = true
32-
versionRange = "[4,)"
33-
ordering = "AFTER"
34-
side = "CLIENT"
35-
36-
[[dependencies.lambda]]
37-
modId = "architectury"
38-
mandatory = true
39-
versionRange = "[7.1.86,)"
40-
ordering = "AFTER"
41-
side = "CLIENT"
30+
modId = "architectury"
31+
mandatory = true
32+
versionRange = "[11.0.7,)"
33+
ordering = "NONE"
34+
side = "CLIENT"

gradle.properties

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ authors=Constructor
88
# General
99
minecraft_version=1.20.4
1010
mixinextras_version=0.3.5
11+
kotlin_version=1.9.23
1112
kotlinx_coroutines_version=1.8.0
1213

1314
# Architectury https://docs.architectury.dev/start
@@ -18,19 +19,16 @@ architectury_version=11.1.13
1819
fabric_loader_version=0.15.7
1920
yarn_mappings=1.20.4+build.3
2021
fabric_api_version=0.96.4+1.20.4
21-
fabric_kotlin_version=1.10.18+kotlin.1.9.22
2222

2323
# Forge https://files.minecraftforge.net/
2424
forge_version=1.20.4-49.0.31
25-
kotlin_forge_version=4.10.0
2625

2726
# NeoForge https://neoforged.net
2827
neo_version=20.4.196
2928

3029
# Quilt https://quiltmc.org/
3130
quilt_version=0.24.0
3231
quilted_fabric_version=8.0.0-alpha.4+0.91.6-1.20.2
33-
kotlin_quilt_version=3.0.0+kt.1.9.22+flk.1.10.17
3432

3533
# Kotlin https://kotlinlang.org/
3634
kotlin.code.style=official

0 commit comments

Comments
 (0)