diff --git a/api/build.gradle.kts b/api/build.gradle.kts index 4ae8a61..7aba030 100644 --- a/api/build.gradle.kts +++ b/api/build.gradle.kts @@ -3,10 +3,10 @@ plugins { } dependencies { - implementation("com.github.Redempt:Crunch:1.1.2") // used to evaluating mathematical expressions + implementation("com.github.Redempt:Crunch:2.0.3") // used to evaluating mathematical expressions testImplementation("junit:junit:4.13.2") - testImplementation("com.github.seeseemelk:MockBukkit-v1.20:3.9.0") + testImplementation("com.github.seeseemelk:MockBukkit-v1.21:3.133.2") testImplementation("org.reflections:reflections:0.10.2") compileOnly("org.spigotmc:spigot-api:${properties["spigot_version"]}") @@ -15,7 +15,7 @@ dependencies { } compileOnly("io.papermc:paperlib:1.0.7") // we include paperlib and relocate elsewhere compileOnly("com.github.MilkBowl:VaultAPI:1.7") // vault - compileOnly("me.clip:placeholderapi:2.11.3") // PAPI + compileOnly("me.clip:placeholderapi:2.11.6") // PAPI compileOnly("com.github.shynixn.headdatabase:hdb-api:1.0") // head database compileOnly("com.sk89q.worldguard:worldguard-bukkit:${properties["worldguard_version"]}") { exclude("com.destroystokyo.paper") diff --git a/api/src/main/java/net/islandearth/rpgregions/utils/TitleAnimator.java b/api/src/main/java/net/islandearth/rpgregions/utils/TitleAnimator.java index 7c49890..5d0dea7 100644 --- a/api/src/main/java/net/islandearth/rpgregions/utils/TitleAnimator.java +++ b/api/src/main/java/net/islandearth/rpgregions/utils/TitleAnimator.java @@ -1,6 +1,5 @@ package net.islandearth.rpgregions.utils; -import com.google.common.base.Enums; import net.islandearth.rpgregions.api.IRPGRegionsAPI; import net.kyori.adventure.text.Component; import net.kyori.adventure.title.Title; @@ -36,19 +35,21 @@ public class TitleAnimator { final String animationSound = plugin.getConfig().getString("settings.server.discoveries.discovered.title.animation_sound", Sound.BLOCK_TRIPWIRE_CLICK_ON.name()); final int animationSoundPitch = plugin.getConfig().getInt("settings.server.discoveries.discovered.title.animation_sound_pitch", 1); if (current >= 1) { - Enums.getIfPresent(Sound.class, animationSound).toJavaUtil().ifPresentOrElse(sound -> { + try { + final Sound sound = Sound.valueOf(animationSound); player.playSound( player.getLocation(), sound, 1, animationSoundPitch ); - }, () -> player.playSound( - player.getLocation(), - animationSound, - 1, - animationSoundPitch - )); + } catch (Exception ignored) { + player.playSound( + player.getLocation(), + animationSound, + 1, + animationSoundPitch); + } } } diff --git a/build-logic/src/main/kotlin/buildlogic.java-common-conventions.gradle.kts b/build-logic/src/main/kotlin/buildlogic.java-common-conventions.gradle.kts index 18a18db..ba27ada 100644 --- a/build-logic/src/main/kotlin/buildlogic.java-common-conventions.gradle.kts +++ b/build-logic/src/main/kotlin/buildlogic.java-common-conventions.gradle.kts @@ -33,7 +33,7 @@ repositories { maven("https://jitpack.io") maven("https://repo.convallyria.com/releases") maven("https://repo.convallyria.com/snapshots") - maven("https://papermc.io/repo/repository/maven-public/") + maven("https://repo.papermc.io/repository/maven-public/") maven("https://oss.sonatype.org/content/groups/public/") maven("https://repo.aikar.co/content/groups/aikar/") @@ -77,7 +77,7 @@ dependencies { // compileOnly("net.kyori:adventure-api:4.17.0") // compileOnly("net.kyori:adventure-text-serializer-plain:4.17.0") - compileOnly("net.kyori:adventure-platform-bukkit:4.3.3") // IMPLEMENTED VIA LIBRARIES + compileOnly("net.kyori:adventure-platform-bukkit:4.3.4") // IMPLEMENTED VIA LIBRARIES // implementation("net.kyori:adventure-platform-api:4.3.3-SNAPSHOT") compileOnly("net.kyori:adventure-text-minimessage:4.14.0") // IMPLEMENTED VIA LIBRARIES } diff --git a/gradle.properties b/gradle.properties index 84437a0..1e926c1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ pluginVersion=1.4.8 ultraRegionsSupport=true # Dependency management -spigot_version = 1.20.6-R0.1-SNAPSHOT +spigot_version = 1.21.1-R0.1-SNAPSHOT folia_version = 1.20.4-R0.1-SNAPSHOT worldguard_version = 7.0.9 worldedit_version = 7.2.18-SNAPSHOT diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index e644113..a4b76b9 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index b82aa23..cea7a79 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 1aa94a4..f3b75f3 100644 --- a/gradlew +++ b/gradlew @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -55,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -84,7 +86,7 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum diff --git a/gradlew.bat b/gradlew.bat index 25da30d..9d21a21 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -13,6 +13,8 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem @if "%DEBUG%"=="" @echo off @rem ########################################################################## diff --git a/rpgregions/build.gradle.kts b/rpgregions/build.gradle.kts index f57f5f1..c259239 100644 --- a/rpgregions/build.gradle.kts +++ b/rpgregions/build.gradle.kts @@ -6,6 +6,7 @@ repositories { maven("https://nexus.betonquest.org/repository/betonquest/") maven("https://repo.codemc.io/repository/maven-public/") maven("https://jitpack.io") + maven("https://repo.dmulloy2.net/repository/public/") } dependencies { @@ -13,27 +14,27 @@ dependencies { implementation(project(":folia")) implementation(project(":modern")) - testImplementation("com.github.seeseemelk:MockBukkit-v1.20:3.9.0") + testImplementation("com.github.seeseemelk:MockBukkit-v1.21:3.133.2") testImplementation("org.reflections:reflections:0.10.2") - implementation("org.incendo:cloud-paper:2.0.0-beta.9") { + implementation("org.incendo:cloud-paper:2.0.0-beta.10") { exclude("org.checkerframework") exclude("net.kyori") } - implementation("org.incendo:cloud-annotations:2.0.0-rc.2") { + implementation("org.incendo:cloud-annotations:2.0.0") { exclude("org.checkerframework") } - implementation("org.incendo:cloud-minecraft-extras:2.0.0-beta.9") { + implementation("org.incendo:cloud-minecraft-extras:2.0.0-beta.10") { exclude("org.checkerframework") exclude("net.kyori") } - implementation("org.incendo:cloud-processors-confirmation:1.0.0-beta.3") { + implementation("org.incendo:cloud-processors-confirmation:1.0.0-rc.1") { exclude("org.checkerframework") exclude("net.kyori") } implementation("net.wesjd:anvilgui:1.10.0-SNAPSHOT") // anvilgui - implementation("com.github.stefvanschie.inventoryframework:IF:0.10.15") // inventory framework + implementation("com.github.stefvanschie.inventoryframework:IF:0.10.19") // inventory framework implementation("co.aikar:idb-core:1.0.0-SNAPSHOT") // database implementation("org.bstats:bstats-bukkit:3.0.2") // plugin stats implementation("io.papermc:paperlib:1.0.7") // paperlib - async teleport on Paper @@ -52,10 +53,10 @@ dependencies { exclude("org.bukkit") exclude("org.spigotmc") } - compileOnly("org.flywaydb:flyway-core:10.12.0") // IMPLEMENTED VIA LIBRARIES - db migration - compileOnly("org.flywaydb:flyway-mysql:10.12.0") // IMPLEMENTED VIA LIBRARIES + compileOnly("org.flywaydb:flyway-core:11.1.0") // IMPLEMENTED VIA LIBRARIES - db migration + compileOnly("org.flywaydb:flyway-mysql:11.1.0") // IMPLEMENTED VIA LIBRARIES //compileOnly 'com.zaxxer:HikariCP:2.4.1' // IMPLEMENTED VIA LIBRARIES - database - compileOnly("me.clip:placeholderapi:2.11.3") // PAPI + compileOnly("me.clip:placeholderapi:2.11.6") // PAPI compileOnly("com.github.MilkBowl:VaultAPI:1.7") { // vault exclude("org.bukkit") } @@ -68,13 +69,13 @@ dependencies { } compileOnly("net.Indyuce:MMOCore-API:1.11.0-SNAPSHOT") compileOnly("com.github.shynixn.headdatabase:hdb-api:1.0") // head database - compileOnly("com.github.plan-player-analytics:Plan:5.6.2614") // plan + compileOnly("com.github.plan-player-analytics:Plan:5.6.2883") // plan compileOnly("io.lumine:Mythic-Dist:5.3.5") { exclude("org.apache.commons") exclude("com.google") } compileOnly("us.dynmap:DynmapCoreAPI:3.7-SNAPSHOT") // Dynmap - compileOnly("com.comphenix.protocol:ProtocolLib:5.0.0-SNAPSHOT") { + compileOnly("com.comphenix.protocol:ProtocolLib:5.1.0") { exclude("net.kyori") } compileOnly("com.ryandw11:CustomStructures:1.9.0") diff --git a/rpgregions/src/main/java/net/islandearth/rpgregions/commands/RPGRegionsCommand.java b/rpgregions/src/main/java/net/islandearth/rpgregions/commands/RPGRegionsCommand.java index 67efb30..5e4f05e 100644 --- a/rpgregions/src/main/java/net/islandearth/rpgregions/commands/RPGRegionsCommand.java +++ b/rpgregions/src/main/java/net/islandearth/rpgregions/commands/RPGRegionsCommand.java @@ -41,12 +41,10 @@ import java.io.File; import java.io.FileReader; import java.io.Reader; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.Optional; import java.util.UUID; import java.util.concurrent.CompletableFuture; -import java.util.stream.Collectors; public class RPGRegionsCommand { @@ -295,7 +293,11 @@ public class RPGRegionsCommand { @Suggestions("sound_names") public List soundNameSuggestions(CommandContext context, String input) { - return Arrays.stream(Sound.values()).map(Enum::name).collect(Collectors.toList()); + List names = new ArrayList<>(); + for (Sound sound : Sound.values()) { + names.add(sound.name()); + } + return names; } //TODO: use confirmation api diff --git a/rpgregions/src/main/java/net/islandearth/rpgregions/listener/RegionListener.java b/rpgregions/src/main/java/net/islandearth/rpgregions/listener/RegionListener.java index 9e72000..2edd751 100644 --- a/rpgregions/src/main/java/net/islandearth/rpgregions/listener/RegionListener.java +++ b/rpgregions/src/main/java/net/islandearth/rpgregions/listener/RegionListener.java @@ -1,6 +1,5 @@ package net.islandearth.rpgregions.listener; -import com.google.common.base.Enums; import net.islandearth.rpgregions.RPGRegions; import net.islandearth.rpgregions.api.events.RegionDiscoverEvent; import net.islandearth.rpgregions.api.events.RegionsEnterEvent; @@ -132,19 +131,22 @@ public class RegionListener implements Listener { this.sendTitles(player, region, true); final String configSound = region.getSoundName().orElse(plugin.getConfig().getString("settings.server.discoveries.discovered.sound.name", "")); - Enums.getIfPresent(Sound.class, configSound).toJavaUtil().ifPresentOrElse(sound -> { + try { + Sound sound = Sound.valueOf(configSound); player.playSound( player.getLocation(), sound, 1, plugin.getConfig().getInt("settings.server.discoveries.discovered.sound.pitch") ); - }, () -> player.playSound( - player.getLocation(), - configSound, - 1, - plugin.getConfig().getInt("settings.server.discoveries.discovered.sound.pitch") - )); + } catch (Exception ignored) { + player.playSound( + player.getLocation(), + configSound, + 1, + plugin.getConfig().getInt("settings.server.discoveries.discovered.sound.pitch") + ); + } if (region.getRewards() != null) region.getRewards().forEach(reward -> reward.award(player, rde.getAccount())); diff --git a/rpgregions/src/main/resources/plugin.yml b/rpgregions/src/main/resources/plugin.yml index f52aa19..f950cbc 100644 --- a/rpgregions/src/main/resources/plugin.yml +++ b/rpgregions/src/main/resources/plugin.yml @@ -3,13 +3,13 @@ version: '${version}' main: net.islandearth.rpgregions.RPGRegions api-version: '1.16' libraries: - - "com.zaxxer:HikariCP:5.0.1" # database - - "net.kyori:adventure-platform-bukkit:4.3.3" + - "com.zaxxer:HikariCP:6.2.1" # database + - "net.kyori:adventure-platform-bukkit:4.3.4" - "net.kyori:adventure-text-minimessage:4.14.0" - "com.github.ben-manes.caffeine:caffeine:3.1.8" - - "org.xerial:sqlite-jdbc:3.30.1" - - "org.flywaydb:flyway-core:10.12.0" # db migration - - "org.flywaydb:flyway-mysql:10.12.0" + - "org.xerial:sqlite-jdbc:3.47.2.0" + - "org.flywaydb:flyway-core:11.1.0" # db migration + - "org.flywaydb:flyway-mysql:11.1.0" softdepend: [Hyperverse, Multiverse-Core, UltraRegions, WorldGuard, PlaceholderAPI, HeadDatabase, Residence, Plan, GriefPrevention, GriefDefender, Vault, MythicMobs, AlonsoLevels, dynmap, ProtocolLib, Quests, BetonQuest, Lands, MMOCore, CustomStructures] authors: [SamB440] description: Utilise your protection plugin to create discoverable regions