mirror of
https://github.com/GeyserMC/Geyser.git
synced 2024-08-14 23:57:35 +00:00
* Initial work on Forge platform * Rework modded platforms to use a common module * Add support for integrated worlds on modded platforms * Fix classload errors and move mixins to shared module * Fix Fabric mixins and check min height in mod world manager * Add Forge command support * Add back modrinth publishing * Don't apply application plugin to shared mod sources * Fix docs * Delete unused class * Clean up repositories * - Update to 1.20.2 - set custom refmap name - fixed console commands crashing the server (hasPermission now accepts CommandSourceStack instead of Player) - Forge wants fastutil relocated, so be it Current issues: - ClassNotFound exceptions with classes that are clearly present * - Fix ClassNotFound errors on Forge due to weird Classloader - Dont relocate gson * merge upstream * oh no * Bump lombok, architectury-loom * init: neoforge 1.20.4 support * NeoForge builds Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com> * Archive neoforge artifacts * transformForge -> transformNeoForge * Neoforge boots! * Fix mixins on neoforge * Update build/pr file names * Update mods.toml to new neoforge standard * Fix refmap naming * more fixes - no need to include gson - cleanup nullable/nonnull annotations - add more info to geyser dumps on neoforge * yeet platform executor * yet another temp branch to figure out the runServer task * yeet transitive dependency, that cant be right * Attempt at getting the runServer task to work, part two * Revert the changes for the runServer task, try and shut down the injector * Remove spigot weird bug workaround, shut down properly Also add a compileOnly dependency for the mod module to get rid of spammy false warnings * Update to latest restart changes - fix duplicate nodes crashing neoforge - connector -> geyser in GeyserModCommandExecutor - create command manager early to fix issues with permission gather event * Consistent NeoForge spelling, move some dependencies to the version toml * Add lombok to version catalogue * Add plugins to version catalogue * revert move to buildSrc * Create `assets/geyser/icon.png` to reference icon from a single file on standalone/neoforge/fabric * add fabric permissions api to libs.versions.toml --------- Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com> Co-authored-by: onebeastchris <github@onechris.mozmail.com> Co-authored-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
102 lines
No EOL
3.8 KiB
Text
102 lines
No EOL
3.8 KiB
Text
@file:Suppress("UnstableApiUsage")
|
|
|
|
import net.fabricmc.loom.task.RemapJarTask
|
|
import org.gradle.kotlin.dsl.dependencies
|
|
import org.gradle.kotlin.dsl.maven
|
|
|
|
plugins {
|
|
id("geyser.publish-conventions")
|
|
id("architectury-plugin")
|
|
id("dev.architectury.loom")
|
|
id("com.modrinth.minotaur")
|
|
}
|
|
|
|
architectury {
|
|
minecraft = "1.20.4"
|
|
}
|
|
|
|
loom {
|
|
silentMojangMappingsLicense()
|
|
}
|
|
|
|
tasks {
|
|
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
|
|
// if it is present.
|
|
// If you remove this task, sources will not be generated.
|
|
sourcesJar {
|
|
archiveClassifier.set("sources")
|
|
from(sourceSets.main.get().allSource)
|
|
}
|
|
|
|
shadowJar {
|
|
// Mirrors the example fabric project, otherwise tons of dependencies are shaded that shouldn't be
|
|
configurations = listOf(project.configurations.shadow.get())
|
|
// The remapped shadowJar is the final desired mod jar
|
|
archiveVersion.set(project.version.toString())
|
|
archiveClassifier.set("shaded")
|
|
|
|
relocate("org.objectweb.asm", "org.geysermc.relocate.asm")
|
|
relocate("org.yaml", "org.geysermc.relocate.yaml") // https://github.com/CardboardPowered/cardboard/issues/139
|
|
relocate("com.fasterxml.jackson", "org.geysermc.relocate.jackson")
|
|
relocate("net.kyori", "org.geysermc.relocate.kyori")
|
|
|
|
dependencies {
|
|
// Exclude everything EXCEPT some DNS stuff required for HAProxy
|
|
exclude(dependency("io.netty:netty-transport-classes-epoll:.*"))
|
|
exclude(dependency("io.netty:netty-transport-native-epoll:.*"))
|
|
exclude(dependency("io.netty:netty-transport-native-unix-common:.*"))
|
|
exclude(dependency("io.netty:netty-transport-classes-kqueue:.*"))
|
|
exclude(dependency("io.netty:netty-transport-native-kqueue:.*"))
|
|
exclude(dependency("io.netty:netty-handler:.*"))
|
|
exclude(dependency("io.netty:netty-common:.*"))
|
|
exclude(dependency("io.netty:netty-buffer:.*"))
|
|
exclude(dependency("io.netty:netty-resolver:.*"))
|
|
exclude(dependency("io.netty:netty-transport:.*"))
|
|
exclude(dependency("io.netty:netty-codec:.*"))
|
|
exclude(dependency("io.netty:netty-resolver-dns:.*"))
|
|
exclude(dependency("io.netty:netty-resolver-dns-native-macos:.*"))
|
|
}
|
|
}
|
|
|
|
remapJar {
|
|
dependsOn(shadowJar)
|
|
inputFile.set(shadowJar.get().archiveFile)
|
|
archiveClassifier.set("")
|
|
archiveVersion.set("")
|
|
}
|
|
|
|
register("remapModrinthJar", RemapJarTask::class) {
|
|
dependsOn(shadowJar)
|
|
inputFile.set(shadowJar.get().archiveFile)
|
|
archiveVersion.set(project.version.toString() + "+build." + System.getenv("GITHUB_RUN_NUMBER"))
|
|
archiveClassifier.set("")
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
minecraft("com.mojang:minecraft:1.20.4")
|
|
mappings(loom.officialMojangMappings())
|
|
}
|
|
|
|
repositories {
|
|
maven("https://repo.opencollab.dev/maven-releases/")
|
|
maven("https://repo.opencollab.dev/maven-snapshots/")
|
|
maven("https://jitpack.io")
|
|
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
|
maven("https://s01.oss.sonatype.org/content/repositories/snapshots/")
|
|
maven("https://maven.neoforged.net/releases")
|
|
}
|
|
|
|
modrinth {
|
|
token.set(System.getenv("MODRINTH_TOKEN")) // Even though this is the default value, apparently this prevents GitHub Actions caching the token?
|
|
projectId.set("wKkoqHrH")
|
|
versionNumber.set(project.version as String + "-" + System.getenv("GITHUB_RUN_NUMBER"))
|
|
versionType.set("beta")
|
|
changelog.set("A changelog can be found at https://github.com/GeyserMC/Geyser/commits")
|
|
|
|
syncBodyFrom.set(rootProject.file("README.md").readText())
|
|
|
|
uploadFile.set(tasks.getByPath("remapModrinthJar"))
|
|
gameVersions.addAll("1.20.4")
|
|
failSilently.set(true)
|
|
} |