2024-02-23 16:58:39 +00:00
|
|
|
plugins {
|
|
|
|
application
|
|
|
|
}
|
|
|
|
|
2024-03-19 22:05:30 +00:00
|
|
|
// This is provided by "org.cloudburstmc.math.mutable" too, so yeet.
|
|
|
|
// NeoForge's class loader is *really* annoying.
|
|
|
|
provided("org.cloudburstmc.math", "api")
|
|
|
|
|
2024-02-23 16:58:39 +00:00
|
|
|
architectury {
|
|
|
|
platformSetupLoomIde()
|
|
|
|
neoForge()
|
|
|
|
}
|
|
|
|
|
2024-03-19 22:05:30 +00:00
|
|
|
val includeTransitive: Configuration = configurations.getByName("includeTransitive")
|
|
|
|
|
2024-02-23 16:58:39 +00:00
|
|
|
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", configuration = "namedElements"))
|
|
|
|
shadow(project(path = ":mod", configuration = "transformProductionNeoForge")) {
|
|
|
|
isTransitive = false
|
|
|
|
}
|
2024-03-24 16:12:40 +00:00
|
|
|
shadow(projects.core) { isTransitive = false }
|
2024-03-19 22:05:30 +00:00
|
|
|
|
2024-03-24 16:12:40 +00:00
|
|
|
// Let's shade in our own api
|
|
|
|
shadow(projects.api) { isTransitive = false }
|
2024-04-01 21:33:12 +00:00
|
|
|
shadow(projects.common) { isTransitive = false }
|
2024-03-24 16:12:40 +00:00
|
|
|
|
|
|
|
// Include all transitive deps of core via JiJ
|
2024-03-19 22:05:30 +00:00
|
|
|
includeTransitive(projects.core)
|
2024-02-23 16:58:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
application {
|
|
|
|
mainClass.set("org.geysermc.geyser.platform.forge.GeyserNeoForgeMain")
|
|
|
|
}
|
|
|
|
|
|
|
|
tasks {
|
|
|
|
remapJar {
|
|
|
|
archiveBaseName.set("Geyser-NeoForge")
|
|
|
|
}
|
|
|
|
|
|
|
|
remapModrinthJar {
|
|
|
|
archiveBaseName.set("geyser-neoforge")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
modrinth {
|
|
|
|
loaders.add("neoforge")
|
|
|
|
}
|