From dbb0254ce5496fc7fe35c55098387dfb319d0560 Mon Sep 17 00:00:00 2001 From: Jason Penilla <11360596+jpenilla@users.noreply.github.com> Date: Mon, 13 May 2024 22:04:23 -0700 Subject: [PATCH] Update for Minecraft 1.20.6 (#122) * Update gradle and run-paper * Initial update for 1.20.6 * Update minimumToolchain * Remove minimize, fixes missing parser contributors * Opt-out of remapping on Paper 1.20.5+ * Remove no longer needed sender type check in predicate permissions, and update for multiple sender types in invalid sender exception * Dependency updates * Update cloud --- .github/workflows/build.yml | 1 + README.md | 4 ++-- .../common/command/ExceptionHandler.java | 6 ++++- .../commands/ToggleDisplayCommands.java | 13 +++++------ fabric/build.gradle.kts | 2 +- fabric/src/main/resources/fabric.mod.json | 4 ++-- gradle/build-logic/src/main/kotlin/ext.kt | 2 +- .../src/main/kotlin/tabtps.base.gradle.kts | 2 +- .../main/kotlin/tabtps.platform.gradle.kts | 2 +- gradle/libs.versions.toml | 22 +++++++++---------- settings.gradle.kts | 2 +- spigot/build.gradle.kts | 8 +++++-- sponge/build.gradle.kts | 4 ++-- 13 files changed, 39 insertions(+), 33 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e0d7c8e6..d193f5a9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,3 +17,4 @@ jobs: modrinth-publish: true hangar-publish: true loom: true + jdk-version: 21 diff --git a/README.md b/README.md index 50a07acc..dc621d24 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,9 @@ Minecraft server mod/plugin to show TPS, MSPT, and other information in the tab menu, boss bar, and action bar. Current supported platforms: -- [Paper](https://papermc.io)/Spigot API (Minecraft versions 1.8.8-1.20.4+) +- [Paper](https://papermc.io)/Spigot API (Minecraft versions 1.8.8-1.20.6+) - [Sponge](https://spongepowered.org) 8+ -- Fabric (Minecraft 1.20.4, requires [Fabric API](https://modrinth.com/mod/fabric-api)) +- Fabric (Minecraft 1.20.6, requires [Fabric API](https://modrinth.com/mod/fabric-api)) ## Features diff --git a/common/src/main/java/xyz/jpenilla/tabtps/common/command/ExceptionHandler.java b/common/src/main/java/xyz/jpenilla/tabtps/common/command/ExceptionHandler.java index 01c0e0a0..d357bc66 100644 --- a/common/src/main/java/xyz/jpenilla/tabtps/common/command/ExceptionHandler.java +++ b/common/src/main/java/xyz/jpenilla/tabtps/common/command/ExceptionHandler.java @@ -138,9 +138,13 @@ private void argumentParsing(final @NonNull ExceptionContext ctx) { + if (ctx.exception().requiredSenderTypes().size() > 1) { + // We don't have any command chains that would cause this to happen + throw new IllegalStateException(); + } final Component message = Messages.COMMAND_EXCEPTION_INVALID_SENDER_TYPE.styled( RED, - text(GenericTypeReflector.erase(ctx.exception().requiredSender()).getSimpleName()) + text(GenericTypeReflector.erase(ctx.exception().requiredSenderTypes().iterator().next()).getSimpleName()) ); decorateAndSend(ctx.context().sender(), message); } diff --git a/common/src/main/java/xyz/jpenilla/tabtps/common/command/commands/ToggleDisplayCommands.java b/common/src/main/java/xyz/jpenilla/tabtps/common/command/commands/ToggleDisplayCommands.java index 50ed849e..8bc37b6b 100644 --- a/common/src/main/java/xyz/jpenilla/tabtps/common/command/commands/ToggleDisplayCommands.java +++ b/common/src/main/java/xyz/jpenilla/tabtps/common/command/commands/ToggleDisplayCommands.java @@ -58,29 +58,26 @@ public void register() { final Command.Builder toggle = this.commands.rootBuilder().literal("toggle"); this.commands.register(toggle.literal("tab") - .permission(PredicatePermission.of(user -> this.togglePermission(user, DisplayConfig::tabSettings))) .senderType(User.TYPE) + .permission(PredicatePermission.of(user -> this.togglePermission(user, DisplayConfig::tabSettings))) .commandDescription(richDescription(Messages.COMMAND_TOGGLE_TAB_DESCRIPTION.plain())) .handler(this::toggleTab)); this.commands.register(toggle.literal("actionbar") - .permission(PredicatePermission.of(user -> this.togglePermission(user, DisplayConfig::actionBarSettings))) .senderType(User.TYPE) + .permission(PredicatePermission.of(user -> this.togglePermission(user, DisplayConfig::actionBarSettings))) .commandDescription(richDescription(Messages.COMMAND_TOGGLE_ACTIONBAR_DESCRIPTION.plain())) .handler(this::toggleActionBar)); this.commands.register(toggle.literal("bossbar") - .permission(PredicatePermission.of(user -> this.togglePermission(user, DisplayConfig::bossBarSettings))) .senderType(User.TYPE) + .permission(PredicatePermission.of(user -> this.togglePermission(user, DisplayConfig::bossBarSettings))) .commandDescription(richDescription(Messages.COMMAND_TOGGLE_BOSSBAR_DESCRIPTION.plain())) .handler(this::toggleBossBar)); } - private boolean togglePermission(final @NonNull Commander sender, final @NonNull Function function) { - if (!(sender instanceof User)) { - return false; - } - return this.tabTPS.findDisplayConfig((User) sender) + private boolean togglePermission(final @NonNull User sender, final @NonNull Function function) { + return this.tabTPS.findDisplayConfig(sender) .map(config -> function.apply(config).allow()) .orElse(false); } diff --git a/fabric/build.gradle.kts b/fabric/build.gradle.kts index 39b86c58..69a1704b 100644 --- a/fabric/build.gradle.kts +++ b/fabric/build.gradle.kts @@ -36,7 +36,7 @@ dependencies { } indra { - javaVersions().target(17) + javaVersions().target(21) } tasks { diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json index 99dd9d88..a3c317fa 100644 --- a/fabric/src/main/resources/fabric.mod.json +++ b/fabric/src/main/resources/fabric.mod.json @@ -26,9 +26,9 @@ "tabtps-fabric.mixins.json" ], "depends": { - "fabricloader": ">=0.15.3", + "fabricloader": ">=0.15.10", "fabric": "*", "fabric-permissions-api-v0": "*", - "minecraft": "~1.20.4" + "minecraft": "~1.20.6" } } diff --git a/gradle/build-logic/src/main/kotlin/ext.kt b/gradle/build-logic/src/main/kotlin/ext.kt index 2a12ac34..ddf00300 100644 --- a/gradle/build-logic/src/main/kotlin/ext.kt +++ b/gradle/build-logic/src/main/kotlin/ext.kt @@ -33,5 +33,5 @@ val bukkitVersions = listOf( "1.17.1", "1.18.2", "1.19.4", - "1.20.4", + "1.20.6", ) diff --git a/gradle/build-logic/src/main/kotlin/tabtps.base.gradle.kts b/gradle/build-logic/src/main/kotlin/tabtps.base.gradle.kts index d23c357f..fa0d09ca 100644 --- a/gradle/build-logic/src/main/kotlin/tabtps.base.gradle.kts +++ b/gradle/build-logic/src/main/kotlin/tabtps.base.gradle.kts @@ -15,7 +15,7 @@ description = rootProject.description indra { javaVersions { target(8) - minimumToolchain(17) + minimumToolchain(21) } github("jpenilla", "TabTPS") mitLicense() diff --git a/gradle/build-logic/src/main/kotlin/tabtps.platform.gradle.kts b/gradle/build-logic/src/main/kotlin/tabtps.platform.gradle.kts index 2194d194..2e43ac82 100644 --- a/gradle/build-logic/src/main/kotlin/tabtps.platform.gradle.kts +++ b/gradle/build-logic/src/main/kotlin/tabtps.platform.gradle.kts @@ -2,7 +2,7 @@ import me.modmuss50.mpp.ReleaseType plugins { id("tabtps.base") - id("com.github.johnrengelman.shadow") + id("io.github.goooler.shadow") id("me.modmuss50.mod-publish-plugin") } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0a510bfb..a745003d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,12 +5,12 @@ runPaper = { id = "xyz.jpenilla.run-paper", version = "2.3.0" } sponge-gradle = { id = "org.spongepowered.gradle.plugin", version = "2.2.0" } [versions] -adventure = "4.16.0" +adventure = "4.17.0" adventurePagination = "4.0.0-SNAPSHOT" -adventurePlatform = "4.3.2" -cloud = "2.0.0-beta.4" -cloudMinecraft = "2.0.0-beta.5" -cloudModded = "2.0.0-beta.4" +adventurePlatform = "4.3.3-SNAPSHOT" +cloud = "2.0.0-rc.1" +cloudMinecraft = "2.0.0-beta.7" +cloudModded = "2.0.0-beta.6" cloudSponge = "2.0.0-SNAPSHOT" configurate = "4.1.2" typesafeConfig = "1.4.3" @@ -22,15 +22,15 @@ guava = "21.0" bstats = "3.0.2" paperApi = "1.16.5-R0.1-SNAPSHOT" paperLib = "1.0.8" -fabricApi = "0.94.0+1.20.4" -fabricLoader = "0.15.10" -minecraft = "1.20.4" -adventurePlatformFabric = "5.12.0" +fabricApi = "0.98.0+1.20.6" +fabricLoader = "0.15.11" +minecraft = "1.20.6" +adventurePlatformFabric = "5.13.0" mixin = "0.8.5" # buildSrc indra = "3.1.3" -shadow = "8.1.1" +shadow = "8.1.7" mod-publish-plugin = "0.5.1" hangarPublishPlugin = "0.1.2" @@ -81,7 +81,7 @@ minecraft = { group = "com.mojang", name = "minecraft", version.ref = "minecraft # buildSrc build-indraCommon = { group = "net.kyori", name = "indra-common", version.ref = "indra" } build-indraLicenser = { group = "net.kyori", name = "indra-licenser-spotless", version.ref = "indra" } -build-shadow = { group = "com.github.johnrengelman", name = "shadow", version.ref = "shadow" } +build-shadow = { module = "io.github.goooler.shadow:shadow-gradle-plugin", version.ref = "shadow" } build-mod-publish-plugin = { module = "me.modmuss50:mod-publish-plugin", version.ref = "mod-publish-plugin" } build-hangarPublishPlugin = { group = "io.papermc", name = "hangar-publish-plugin", version.ref = "hangarPublishPlugin" } diff --git a/settings.gradle.kts b/settings.gradle.kts index 216170d4..8fa67abd 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -34,7 +34,7 @@ pluginManagement { } plugins { - id("quiet-fabric-loom") version "1.5-SNAPSHOT" + id("quiet-fabric-loom") version "1.6-SNAPSHOT" id("org.spongepowered.gradle.vanilla") version "0.2.1-SNAPSHOT" id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0" } diff --git a/spigot/build.gradle.kts b/spigot/build.gradle.kts index a8fff4f2..a56257c9 100644 --- a/spigot/build.gradle.kts +++ b/spigot/build.gradle.kts @@ -25,7 +25,6 @@ tasks { shadowJar { archiveClassifier.set(null as String?) - minimize() sequenceOf( "org.slf4j", "org.incendo.cloud", @@ -41,6 +40,9 @@ tasks { ).forEach { pkg -> relocate(pkg, "${rootProject.group}.${rootProject.name.lowercase()}.lib.$pkg") } + manifest { + attributes("paperweight-mappings-namespace" to "mojang") + } } val mcVer = libs.versions.minecraft.get() @@ -67,8 +69,10 @@ tasks { "1.17.1", "1.18.2", "1.19.4", - mcVer, ), + 21 to setOf( + mcVer, + ) ).forEach { (javaVersion, minecraftVersions) -> for (version in minecraftVersions) { createVersionedRun(version, javaVersion) diff --git a/sponge/build.gradle.kts b/sponge/build.gradle.kts index 505518ab..b5381853 100644 --- a/sponge/build.gradle.kts +++ b/sponge/build.gradle.kts @@ -55,7 +55,7 @@ sponge { } minecraft { - version("1.20.4") + version("1.20.6") platform(MinecraftPlatform.JOINED) } @@ -97,7 +97,7 @@ tabTPSPlatform { publishMods.modrinth { modLoaders.add("sponge") minecraftVersions.addAll( - "1.20.4" + "1.20.6" ) }