1
0
mirror of https://github.com/GeyserMC/Floodgate.git synced 2026-01-06 15:42:03 +00:00
Files
Floodgate/neoforge/build.gradle.kts
chris 0ef06597f1 Support neoforge platform, move to using architectury (#125)
* rebase

* split fabric/neoforge specific code

* more progress

* dependency configuration

* exclude more junk

* neo, you make me go insane

* neoforge seems to work!

* some minor cleanup, add neoforge command module 

* mixin config plugin shenanigans

* fix language strings loading

* some cleanup, yeet Jenkinsfile

* proper repository declaration using plugin, target jitpack branch

* oops

* address reviews

* Update for 1.21

* some minor fixes

* Fix modrinth task, add floodgate version command mixin to disable version checking, update to loom 1.7, update cloud, update floodgate core to not use my branch

* oops

* what on earth is going on now

* neoforge works again!!!!!!!!!

* Address review, dont rely on locals in mixin

* modrinth version/name changes, similar to geyser

* Update README.md

Co-authored-by: Konicai <71294714+Konicai@users.noreply.github.com>

* Improve handling of PayloadRegistrar

this took years off my life

* address review

* Move blossom version declaration to libs.versions.toml

* remove unused versions from catalogue

* Only run modrinth task if successful & on Geyser repo

* cleanup & fix gh actions building/archiving

* run and uses are different steps

---------

Co-authored-by: Konicai <71294714+Konicai@users.noreply.github.com>
2024-09-11 02:00:55 +08:00

62 lines
1.9 KiB
Plaintext

architectury {
platformSetupLoomIde()
neoForge()
}
provided("com.google.guava", "failureaccess")
// Used to extend runtime/compile classpaths
val common: Configuration by configurations.creating
// Needed to read mixin config in the runServer task, and for the architectury transformer
// (e.g. the @ExpectPlatform annotation)
val developmentNeoForge: Configuration = configurations.getByName("developmentNeoForge")
// Our custom transitive include configuration
val includeTransitive: Configuration = configurations.getByName("includeTransitive")
configurations {
compileClasspath.get().extendsFrom(configurations["common"])
runtimeClasspath.get().extendsFrom(configurations["common"])
developmentNeoForge.extendsFrom(configurations["common"])
}
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)
// "namedElements" configuration should be used to depend on different loom projects
common(project(":mod", configuration = "namedElements")) { isTransitive = false }
// Bundle transformed classes of the common module for production mod jar
shadow(project(path = ":mod", configuration = "transformProductionNeoForge")) { isTransitive = false }
includeTransitive(libs.floodgate.core)
implementation(libs.floodgate.core)
implementation(libs.guice)
modImplementation(libs.cloud.neoforge)
include(libs.cloud.neoforge)
}
tasks {
processResources {
from(project(":mod").file("src/main/resources/floodgate.accesswidener")) {
into("/assets/")
}
}
remapJar {
dependsOn(processResources)
atAccessWideners.add("floodgate.accesswidener")
archiveBaseName.set("floodgate-neoforge")
}
modrinth {
loaders.add("neoforge")
}
}