Skip to content

Commit 263f026

Browse files
committed
fix: Replaced Unimined with NeoForged moddev plugin, added Kotlin compilation support, and fixed processResources variable shadowing
1 parent 7f03f1d commit 263f026

7 files changed

Lines changed: 155 additions & 169 deletions

File tree

build.gradle

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
plugins {
2+
id "net.neoforged.moddev.legacyforge"
3+
id "maven-publish"
4+
id 'com.palantir.git-version' version '3.1.0'
5+
id 'org.jetbrains.kotlin.jvm' version '2.1.21'
6+
id 'org.jetbrains.kotlin.plugin.serialization' version '2.1.21'
7+
}
8+
9+
version = gitVersion()
10+
group = mod_group
11+
archivesBaseName = archive_name
12+
13+
java {
14+
toolchain {
15+
languageVersion = JavaLanguageVersion.of(17)
16+
}
17+
}
18+
19+
repositories {
20+
mavenLocal()
21+
mavenCentral()
22+
maven {
23+
name = "ModMaven"
24+
url = "https://modmaven.dev/"
25+
}
26+
maven {
27+
name = "Modrinth"
28+
url = "https://api.modrinth.com/maven"
29+
content {
30+
includeGroup "maven.modrinth"
31+
}
32+
}
33+
maven {
34+
name = "CurseMaven"
35+
url = "https://cursemaven.com"
36+
content {
37+
includeGroup "curse.maven"
38+
}
39+
}
40+
maven {
41+
name = "Kotlin for Forge"
42+
url = "https://thedarkcolour.github.io/KotlinForForge/"
43+
content {
44+
includeGroup "thedarkcolour"
45+
}
46+
}
47+
maven {
48+
name = "SpongePowered"
49+
url = "https://repo.spongepowered.org/repository/maven-public/"
50+
}
51+
}
52+
53+
dependencies {
54+
// Kotlin
55+
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.1.21"
56+
implementation "thedarkcolour:kotlinforforge:4.12.0"
57+
58+
// Mixin
59+
annotationProcessor "org.spongepowered:mixin:0.8.7:processor"
60+
61+
// macOS ARM native bridge for dev environment
62+
if (System.getProperty("os.name").contains("Mac")) {
63+
runtimeOnly "ca.weblite:java-objc-bridge:1.1"
64+
}
65+
}
66+
67+
kotlin {
68+
jvmToolchain(17)
69+
}
70+
71+
legacyForge {
72+
version = "${minecraft_version}-${forge_version}"
73+
74+
mods {
75+
"${id}" {
76+
sourceSet sourceSets.main
77+
}
78+
}
79+
80+
runs {
81+
configureEach {
82+
gameDirectory = project.file('run')
83+
}
84+
client {
85+
client()
86+
}
87+
server {
88+
server()
89+
}
90+
}
91+
}
92+
93+
processResources {
94+
def props = [
95+
"id": project.property("id"),
96+
"name": project.property("name"),
97+
"version": version.toString(),
98+
"group": project.group.toString(),
99+
"description": project.property("description"),
100+
"author": project.property("author"),
101+
"source": project.property("source"),
102+
"minecraft_version_range": minecraft_version_range,
103+
"forge_version_range": forge_version_range
104+
]
105+
106+
inputs.properties(props)
107+
108+
filesMatching(["META-INF/mods.toml", "META-INF/MANIFEST.MF"]) {
109+
expand props
110+
}
111+
}
112+
113+
tasks.withType(JavaCompile) {
114+
options.encoding = 'UTF-8'
115+
}

build.gradle.kts

Lines changed: 0 additions & 114 deletions
This file was deleted.

gradle.properties

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@ systemProp.file.encoding=utf-8
99
archive_name=column-quick-swap
1010
id=column_quick_swap
1111
name=Column Quick Swap
12+
mod_group=yarden_zamir.column_quick_swap
1213
author=yarden-zamir
1314
description=Hold a key to quickly swap items between hotbar and inventory column above
1415
source=https://github.com/game-design-driven/ColumnQuickSwap
16+
17+
minecraft_version=1.20.1
18+
minecraft_version_range=[1.20.1,1.20.2)
19+
forge_version=47.4.10
20+
forge_version_range=[47,)
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
#Fri Nov 08 16:42:54 CST 2024
21
distributionBase=GRADLE_USER_HOME
32
distributionPath=wrapper/dists
4-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip
4+
networkTimeout=10000
5+
validateDistributionUrl=true
56
zipStoreBase=GRADLE_USER_HOME
67
zipStorePath=wrapper/dists

settings.gradle

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
pluginManagement {
2+
repositories {
3+
maven {
4+
name = 'NeoForged'
5+
url = 'https://maven.neoforged.net/releases'
6+
}
7+
maven {
8+
name = "Sponge"
9+
url = 'https://repo.spongepowered.org/maven'
10+
}
11+
gradlePluginPortal()
12+
mavenCentral()
13+
}
14+
plugins {
15+
id 'net.neoforged.moddev.legacyforge' version '2.0.86'
16+
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.8.0'
17+
}
18+
}
19+
20+
plugins {
21+
id 'org.gradle.toolchains.foojay-resolver-convention'
22+
}
23+
24+
rootProject.name = 'Column Quick Swap'

settings.gradle.kts

Lines changed: 0 additions & 46 deletions
This file was deleted.

src/main/resources/META-INF/mods.toml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,24 @@ license='MIT'
44
displayURL='${source}'
55

66
[[mods]]
7-
modId="$id"
8-
version="$version"
9-
displayName="$name"
10-
authors="$author"
7+
modId="${id}"
8+
version="${version}"
9+
displayName="${name}"
10+
authors="${author}"
1111
description='''
12-
$description
12+
${description}
1313
'''
1414

1515
[[dependencies.${id}]]
1616
modId="forge"
1717
mandatory=true
18-
versionRange="[47,)"
18+
versionRange="${forge_version_range}"
1919
ordering="NONE"
2020
side="BOTH"
2121

2222
[[dependencies.${id}]]
2323
modId="minecraft"
2424
mandatory=true
25-
versionRange="[1.20.1,1.21)"
25+
versionRange="${minecraft_version_range}"
2626
ordering="NONE"
2727
side="BOTH"

0 commit comments

Comments
 (0)