1
0
mirror of https://github.com/GeyserMC/Geyser.git synced 2025-12-19 14:59:27 +00:00
Files
Geyser/bootstrap/mod/fabric/build.gradle.kts
Kas-tle e2f873466b Update to Gradle 9 (#5976)
* Update gradle to 9.2.0

* Eclipse doesn't like defining a generic in an instanceof check...

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Fix launching on standalone due to Gradle 9 changes

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Update indra to v4; fix as many gradle deprecation warnings as possible

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Do task order suggestion; remove properties comment line

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Fix fabric runServer rask

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Fix :neoforge:runServer gradle task

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Fix libs.versions.toml

* Fix dupe runtask def

* Update architectury-loom and resolve properties issues

---------

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
Co-authored-by: onebeastchris <github@onechris.mozmail.com>
2025-12-12 19:04:34 -08:00

84 lines
2.1 KiB
Plaintext

plugins {
id("geyser.modded-conventions")
id("geyser.modrinth-uploading-conventions")
}
architectury {
platformSetupLoomIde()
fabric()
}
loom {
mods {
create("geyser-fabric") {
sourceSet(sourceSets.main.get())
sourceSet("main", projects.mod)
sourceSet("main", projects.core)
}
}
}
dependencies {
modImplementation(libs.fabric.loader)
modApi(libs.fabric.api)
api(project(":mod", configuration = "namedElements"))
shadowBundle(project(path = ":mod", configuration = "transformProductionFabric"))
shadowBundle(projects.core)
includeTransitive(projects.core)
// These are NOT transitively included, and instead shadowed (+ relocated, if not under the org.geyser namespace).
// Avoids fabric complaining about non-SemVer versioning
shadowBundle(libs.protocol.connection)
shadowBundle(libs.protocol.common)
shadowBundle(libs.protocol.codec)
shadowBundle(libs.raknet)
shadowBundle(libs.mcprotocollib)
// Shade + relocate configurate as we're using a fork
shadowBundle(libs.configurate.`interface`)
shadowBundle(libs.configurate.yaml)
shadowBundle(libs.configurate.core)
// Since we also relocate cloudburst protocol: shade erosion common
shadowBundle(libs.erosion.common)
// Let's shade in our own api/common module
shadowBundle(projects.api)
shadowBundle(projects.common)
modImplementation(libs.cloud.fabric)
include(libs.cloud.fabric)
include(libs.fabric.permissions.api)
}
tasks.withType<Jar> {
manifest.attributes["Main-Class"] = "org.geysermc.geyser.platform.fabric.GeyserFabricMain"
}
relocate("org.cloudburstmc.netty")
relocate("org.cloudburstmc.protocol")
relocate("org.spongepowered.configurate")
tasks {
remapJar {
archiveBaseName.set("Geyser-Fabric")
}
remapModrinthJar {
archiveBaseName.set("geyser-fabric")
}
shadowJar {
mergeServiceFiles()
}
}
modrinth {
loaders.add("fabric")
uploadFile.set(tasks.getByPath("remapModrinthJar"))
dependencies {
required.project("fabric-api")
}
}