-
-
Notifications
You must be signed in to change notification settings - Fork 822
Expand file tree
/
Copy pathbuild.gradle.kts
More file actions
78 lines (62 loc) · 1.95 KB
/
build.gradle.kts
File metadata and controls
78 lines (62 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
plugins {
id("geyser.modded-conventions")
id("geyser.modrinth-uploading-conventions")
}
architectury {
platformSetupLoomIde()
neoForge()
}
loom {
mods {
create("geyser-neoforge") {
sourceSet(sourceSets.main.get())
sourceSet("main", projects.mod)
sourceSet("main", projects.core)
}
}
}
// This is provided by "org.cloudburstmc.math.mutable" too, so yeet.
// NeoForge's class loader is *really* annoying.
provided("org.cloudburstmc.math", "api")
provided("com.google.errorprone", "error_prone_annotations")
dependencies {
// See https://github.com/google/guava/issues/6618
modules {
module("com.google.guava:listenablefuture") {
replacedBy("com.google.guava:guava", "listenablefuture is part of guava")
}
}
neoForge(libs.neoforge.minecraft)
api(project(":mod"))
shadowBundle(project(path = ":mod", configuration = "transformProductionNeoForge"))
shadowBundle(projects.core)
// Let's shade in our own api
shadowBundle(projects.api)
// shade + relocate these to avoid conflicts
shadowBundle(libs.configurate.`interface`)
shadowBundle(libs.configurate.yaml)
shadowBundle(libs.configurate.core)
// cannot be shaded, since neoforge will complain if floodgate-neoforge tries to provide this
include(projects.common)
// Include all transitive deps of core via JiJ
includeTransitive(projects.core)
implementation(libs.cloud.neoforge)
include(libs.cloud.neoforge)
}
relocate("org.spongepowered.configurate")
tasks.withType<Jar> {
manifest.attributes["Main-Class"] = "org.geysermc.geyser.platform.neoforge.GeyserNeoForgeMain"
}
tasks {
remapModrinthJar {
archiveBaseName.set("geyser-neoforge")
}
shadowJar {
archiveBaseName.set("Geyser-NeoForge")
mergeServiceFiles()
}
}
modrinth {
loaders.add("neoforge")
uploadFile.set(tasks.getByPath("remapModrinthJar"))
}