Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update cloud to 2.0, update to Floodgate 2.2.3, support 1.20.5 #115

Merged
merged 17 commits into from
Apr 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
166 changes: 0 additions & 166 deletions build.gradle

This file was deleted.

144 changes: 144 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
import net.fabricmc.loom.task.RemapJarTask

plugins {
id("com.github.johnrengelman.shadow") version "8.1.1"
id("fabric-loom") version "1.6-SNAPSHOT"
id("java")
id("maven-publish")
id("com.modrinth.minotaur") version "2.+"
}

loom {
accessWidenerPath = file("src/main/resources/floodgate.accesswidener")
}

dependencies {
//to change the versions see the gradle.properties file
minecraft("com.mojang:minecraft:1.20.5")
mappings(loom.officialMojangMappings())
modImplementation("net.fabricmc:fabric-loader:0.15.10")

// Fabric API. This is technically optional, but you probably want it anyway.
modImplementation("net.fabricmc.fabric-api:fabric-api:0.97.6+1.20.5")

// Base Floodgate
implementation("org.geysermc.floodgate:core:2.2.3-SNAPSHOT")
shadow("org.geysermc.floodgate:core:2.2.3-SNAPSHOT") { isTransitive = false }
shadow("org.geysermc.floodgate:api:2.2.3-SNAPSHOT") { isTransitive = false }

// Requires relocation
shadow("org.bstats:bstats-base:3.0.2")

// Shadow & relocate these since the (indirectly) depend on quite old dependencies
shadow("com.google.inject:guice:6.0.0") { isTransitive = false }
shadow("org.geysermc.configutils:configutils:1.0-SNAPSHOT") {
exclude("org.checkerframework")
exclude("com.google.errorprone")
exclude("com.github.spotbugs")
exclude("com.nukkitx.fastutil")
}

include("aopalliance:aopalliance:1.0")
include("javax.inject:javax.inject:1")
include("jakarta.inject:jakarta.inject-api:2.0.1")
include("org.java-websocket:Java-WebSocket:1.5.2")

// Just like Geyser, include these
include("org.geysermc.geyser", "common", "2.2.3-SNAPSHOT")
include("org.geysermc.cumulus", "cumulus", "1.1.2")
include("org.geysermc.event", "events", "1.1-SNAPSHOT")
include("org.lanternpowered", "lmbda", "2.0.0") // used in events

// cloud
include("org.incendo:cloud-fabric:2.0.0-SNAPSHOT")
modImplementation("org.incendo:cloud-fabric:2.0.0-SNAPSHOT")

// Lombok
compileOnly("org.projectlombok:lombok:1.18.32")
annotationProcessor("org.projectlombok:lombok:1.18.32")
}

repositories {
//mavenLocal()
mavenCentral()
maven("https://maven.fabricmc.net/")
maven("https://repo.opencollab.dev/main/")
maven("https://jitpack.io") {
content {
includeGroupByRegex("com.github.*")
}
}
maven("https://oss.sonatype.org/content/repositories/snapshots/")
maven("https://s01.oss.sonatype.org/content/repositories/snapshots/")
}

java {
withSourcesJar()
}

tasks {
shadowJar {
configurations = listOf(project.configurations.shadow.get())

relocate("org.bstats", "org.geysermc.floodgate.shadow.bstats")
relocate("com.google.inject", "org.geysermc.floodgate.shadow.google.inject")
relocate("org.yaml", "org.geysermc.floodgate.shadow.org.yaml")
}

processResources {
filesMatching("fabric.mod.json") {
expand("version" to project.version)
}
}

remapJar {
dependsOn(shadowJar)
mustRunAfter(shadowJar)
inputFile.set(shadowJar.get().archiveFile)
addNestedDependencies = true // todo?
archiveFileName.set("floodgate-fabric.jar")
}

register("remapModrinthJar", RemapJarTask::class) {
dependsOn(shadowJar)
inputFile.set(remapJar.get().archiveFile)
addNestedDependencies = true
archiveVersion.set(project.version.toString() + "+build." + System.getenv("GITHUB_RUN_NUMBER"))
archiveClassifier.set("")
}
}

publishing {
publications {
register("publish", MavenPublication::class) {
from(project.components["java"])

// skip shadow jar from publishing. Workaround for https://github.com/johnrengelman/shadow/issues/651
val javaComponent = project.components["java"] as AdhocComponentWithVariants
javaComponent.withVariantsFromConfiguration(configurations["shadowRuntimeElements"]) { skip() }
}
}

repositories {
mavenLocal()
}
}

modrinth {
token.set(System.getenv("MODRINTH_TOKEN")) // Prevent GitHub Actions from caching empty Modrinth token
projectId.set("bWrNNfkb")
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/Floodgate-Fabric/commits")

syncBodyFrom.set(rootProject.file("README.md").readText())

uploadFile.set(tasks.named("remapModrinthJar"))
gameVersions.addAll("1.20.5")

loaders.add("fabric")

dependencies {
required.project("fabric-api")
}
}
13 changes: 2 additions & 11 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,15 +1,6 @@
# Done to increase the memory available to gradle.
org.gradle.jvmargs=-Xmx2G
# Fabric Properties
# check these on https://modmuss50.me/fabric.html
minecraft_version=1.20.4
loader_version=0.15.2
# Mod Properties
mod_version=2.2.0-SNAPSHOT
maven_group=org.geysermc.floodgate
version=2.2.3-SNAPSHOT
group=org.geysermc.floodgate
archives_base_name=floodgate-fabric
# Dependencies
# check this on https://modmuss50.me/fabric.html
fabric_version=0.91.2+1.20.4
# Our stuff
lombok_version=1.18.20
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
10 changes: 5 additions & 5 deletions gradlew
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/sh

#
# Copyright © 2015-2021 the original authors.
# Copyright 2015-2021 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -32,10 +32,10 @@
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
# * functions;
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
# * compound commands having a testable exit status, especially «case»;
# * various built-in commands including «command», «set», and «ulimit».
# * expansions $var�, �${var}�, �${var:-default}�, �${var+SET},
# ${var#prefix}�, �${var%suffix}, and $( cmd );
# * compound commands having a testable exit status, especially case;
# * various built-in commands including command�, �set, and ulimit.
#
# Important for patching:
#
Expand Down
10 changes: 0 additions & 10 deletions settings.gradle

This file was deleted.

8 changes: 8 additions & 0 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
pluginManagement {
repositories {
//mavenLocal()
mavenCentral()
gradlePluginPortal()
maven("https://maven.fabricmc.net/")
}
}
2 changes: 1 addition & 1 deletion src/main/java/org/geysermc/floodgate/FabricMod.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public void onInitialize() {
new FabricPlatformModule()
);

FabricPlatform platform = injector.getInstance(FabricPlatform.class);
FloodgatePlatform platform = injector.getInstance(FloodgatePlatform.class);

platform.enable(new FabricCommandModule());

Expand Down
Loading