diff --git a/.gitignore b/.gitignore index b63da45..b88dc17 100644 --- a/.gitignore +++ b/.gitignore @@ -5,10 +5,7 @@ build/ !**/src/test/**/build/ ### IntelliJ IDEA ### -.idea/modules.xml -.idea/jarRepositories.xml -.idea/compiler.xml -.idea/libraries/ +.idea/ *.iws *.iml *.ipr @@ -16,6 +13,9 @@ out/ !**/src/main/**/out/ !**/src/test/**/out/ +### Kotlin ### +.kotlin/ + ### Eclipse ### .apt_generated .classpath diff --git a/README.md b/README.md index f66cb15..464febb 100644 --- a/README.md +++ b/README.md @@ -69,9 +69,9 @@ This repository is licensed under [Apache 2.0][license]. [banner]: https://github.com/simplecloudapp/branding/blob/main/readme/banner/plugin/prefixes.png?raw=true -[issue-bug-report]: https://github.com/theSimpleCloud/prefixes-plugin/issues/new?labels=bug&projects=template=01_BUG-REPORT.yml&title=%5BBUG%5D+%3Ctitle%3E -[issue-feature-request]: https://github.com/theSimpleCloud/prefixes-plugin/discussions/new?category=ideas -[docs-thisproject]: https://docs.simplecloud.app/plugin/prefixes +[issue-bug-report]: https://github.com/simplecloudapp/prefixes-plugin/issues/new?labels=bug&projects=template=01_BUG-REPORT.yml&title=%5BBUG%5D+%3Ctitle%3E +[issue-feature-request]: https://github.com/simplecloudapp/prefixes-plugin/discussions/new?category=ideas +[docs-thisproject]: https://docs.simplecloud.app/en/manual/plugin/prefixes [docs-contribute]: https://docs.simplecloud.app/contribute [modrinth]: https://modrinth.com/organization/simplecloud diff --git a/build.gradle.kts b/build.gradle.kts index 0474723..709194a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -14,12 +14,10 @@ allprojects { repositories { mavenCentral() - maven("https://hub.spigotmc.org/nexus/content/repositories/snapshots/") maven("https://oss.sonatype.org/content/repositories/snapshots") maven("https://oss.sonatype.org/content/repositories/central") maven("https://repo.papermc.io/repository/maven-public/") maven("https://jitpack.io") - maven("https://repo.dmulloy2.net/repository/public/") } } @@ -36,11 +34,11 @@ subprojects { compileOnly(rootProject.libs.kotlin.jvm) compileOnly(rootProject.libs.kotlin.test) - compileOnly("net.luckperms:api:5.4") - compileOnly("space.chunks.custom-names:custom-names-api:1.0.6") - implementation("net.kyori:adventure-api:4.14.0") - implementation("com.google.code.gson:gson:2.10.1") - implementation("net.kyori:adventure-text-minimessage:4.14.0") + compileOnly(rootProject.libs.luckperms.api) + compileOnly(rootProject.libs.custom.names.api) + implementation(rootProject.libs.adventure.api) + implementation(rootProject.libs.adventure.text.minimessage) + implementation(rootProject.libs.gson) } java { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e980715..4d682a3 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,15 +1,39 @@ [versions] -kotlin = "2.0.20" -shadow = "8.3.3" -paper-api = "1.21.4-R0.1-SNAPSHOT" -paperweight = "2.0.0-beta.12" -minotaur = "2.8.7" -sonatype-central-portal-publisher = "1.2.3" +kotlin = "2.2.20" + +paper-api = "1.21.11-R0.1-SNAPSHOT" +luckperms-api = "5.5" +custom-names-api = "1.0.6" + +adventure = "4.26.1" + +minestom-ce-snapshots = "1_20_2-e7f833b499" +minestom-ce-extensions = "1.2.0" + +gson = "2.13.2" + +paperweight = "2.0.0-beta.19" +minotaur = "2.8.10" +shadow = "9.3.1" +sonatype-central-portal-publisher = "1.2.4" [libraries] kotlin-jvm = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" } kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" } + paper-api = { module = "io.papermc.paper:paper-api", version.ref = "paper-api" } +luckperms-api = { module = "net.luckperms:api", version.ref = "luckperms-api" } +custom-names-api = { module = "space.chunks.custom-names:custom-names-api", version.ref = "custom-names-api" } + +adventure-api = { module = "net.kyori:adventure-api", version.ref = "adventure" } +adventure-text-minimessage = { module = "net.kyori:adventure-text-minimessage", version.ref = "adventure" } +adventure-text-serializer-gson = { module = "net.kyori:adventure-text-serializer-gson", version.ref = "adventure" } +adventure-text-serializer-legacy = { module = "net.kyori:adventure-text-serializer-legacy", version.ref = "adventure" } + +gson = { module = "com.google.code.gson:gson", version.ref = "gson" } + +minestom-ce-snapshots = { module = "dev.hollowcube:minestom-ce-snapshots", version.ref = "minestom-ce-snapshots" } +minestom-ce-extensions = { module = "dev.hollowcube:minestom-ce-extensions", version.ref = "minestom-ce-extensions" } [plugins] paperweight-userdev = { id = "io.papermc.paperweight.userdev", version.ref = "paperweight" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 348fbf3..54c34b2 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists \ No newline at end of file diff --git a/prefixes-api/src/main/kotlin/app/simplecloud/plugin/prefixes/api/impl/PrefixesApiImpl.kt b/prefixes-api/src/main/kotlin/app/simplecloud/plugin/prefixes/api/impl/PrefixesApiImpl.kt index 8e5c5df..68185f2 100644 --- a/prefixes-api/src/main/kotlin/app/simplecloud/plugin/prefixes/api/impl/PrefixesApiImpl.kt +++ b/prefixes-api/src/main/kotlin/app/simplecloud/plugin/prefixes/api/impl/PrefixesApiImpl.kt @@ -52,11 +52,12 @@ abstract class PrefixesApiImpl : PrefixesApi { } override fun setWholeName(uniqueId: UUID, groupName: String, viewers: Audience) { - setWholeName( - uniqueId, - groups.stream().filter { group -> group.getName() == groupName }.findFirst().orElse(null), - viewers - ) + val group = groups.stream() + .filter { group -> group.getName() == groupName } + .findFirst() + .orElse(null) ?: return + + setWholeName(uniqueId, group, viewers) } override fun setWholeName( @@ -96,11 +97,12 @@ abstract class PrefixesApiImpl : PrefixesApi { } override fun setWholeName(uniqueId: UUID, groupName: String, vararg viewers: UUID) { - setWholeName( - uniqueId, - groups.stream().filter { group -> group.getName() == groupName }.findFirst().orElse(null), - *viewers - ) + val group = groups.stream() + .filter { group -> group.getName() == groupName } + .findFirst() + .orElse(null) ?: return + + setWholeName(uniqueId, group, *viewers) } override fun setWholeName( diff --git a/prefixes-minestom/build.gradle.kts b/prefixes-minestom/build.gradle.kts index 638ad69..1368607 100644 --- a/prefixes-minestom/build.gradle.kts +++ b/prefixes-minestom/build.gradle.kts @@ -1,6 +1,6 @@ dependencies { - compileOnly("dev.hollowcube:minestom-ce-snapshots:1_20_2-e7f833b499") - compileOnly("dev.hollowcube:minestom-ce-extensions:1.2.0") + compileOnly(libs.minestom.ce.snapshots) + compileOnly(libs.minestom.ce.extensions) api(project(":prefixes-api")) compileOnly(files("libs/lp-minestom-5.4-SNAPSHOT-all.jar")) } \ No newline at end of file diff --git a/prefixes-paper/build.gradle.kts b/prefixes-paper/build.gradle.kts index 23e72cd..070d70a 100644 --- a/prefixes-paper/build.gradle.kts +++ b/prefixes-paper/build.gradle.kts @@ -5,7 +5,7 @@ plugins { dependencies { api(project(":prefixes-api")) - paperweight.paperDevBundle("1.21.4-R0.1-SNAPSHOT") + paperweight.paperDevBundle("1.21.11-R0.1-SNAPSHOT") compileOnly(libs.paper.api) } @@ -28,7 +28,10 @@ modrinth { "1.21.5", "1.21.6", "1.21.7", - "1.21.8" + "1.21.8", + "1.21.9", + "1.21.10", + "1.21.11" ) loaders.add("paper") changelog.set("https://docs.simplecloud.app/changelog") diff --git a/prefixes-paper/src/main/kotlin/app/simplecloud/plugin/prefixes/paper/PaperPrefixesDisplay.kt b/prefixes-paper/src/main/kotlin/app/simplecloud/plugin/prefixes/paper/PaperPrefixesDisplay.kt index 03ef68f..1b92369 100644 --- a/prefixes-paper/src/main/kotlin/app/simplecloud/plugin/prefixes/paper/PaperPrefixesDisplay.kt +++ b/prefixes-paper/src/main/kotlin/app/simplecloud/plugin/prefixes/paper/PaperPrefixesDisplay.kt @@ -38,7 +38,7 @@ class PaperPrefixesDisplay : PrefixesDisplay val team = getTeam(id) ?: return null val deletePacket = ClientboundSetPlayerTeamPacket.createRemovePacket(team) viewers.forEach { viewer -> - (viewer as CraftPlayer).handle.connection.sendPacket(deletePacket) + (viewer as CraftPlayer).handle.connection.send(deletePacket) } val newTeam = changeTeamPriority(priority, team) ?: return null val createPacket = ClientboundSetPlayerTeamPacket.createAddOrModifyPacket(newTeam, true) @@ -49,8 +49,8 @@ class PaperPrefixesDisplay : PrefixesDisplay ) viewers.forEach { viewer -> with(viewer as CraftPlayer) { - handle.connection.sendPacket(createPacket) - handle.connection.sendPacket(addPlayersPacket) + handle.connection.send(createPacket) + handle.connection.send(addPlayersPacket) } } teams[id] = newTeam @@ -62,7 +62,7 @@ class PaperPrefixesDisplay : PrefixesDisplay team.realColor = color val updatePacket = ClientboundSetPlayerTeamPacket.createAddOrModifyPacket(team, false) viewers.forEach { viewer -> - (viewer as CraftPlayer).handle.connection.sendPacket(updatePacket) + (viewer as CraftPlayer).handle.connection.send(updatePacket) } sendUpdateDisplayNamePackets(team) } @@ -76,7 +76,7 @@ class PaperPrefixesDisplay : PrefixesDisplay if (result) { teams.values.forEach { team -> val deletePacket = ClientboundSetPlayerTeamPacket.createRemovePacket(team) - (player as CraftPlayer).handle.connection.sendPacket(deletePacket) + (player as CraftPlayer).handle.connection.send(deletePacket) getPlayersForTeam(team).filter { Bukkit.getPlayer(it)?.isOnline ?: false } .map { Bukkit.getPlayer(it)!! }.forEach { sendUpdateDisplayNamePacket(it) } } @@ -95,8 +95,8 @@ class PaperPrefixesDisplay : PrefixesDisplay ClientboundSetPlayerTeamPacket.Action.ADD ) with(player as CraftPlayer) { - handle.connection.sendPacket(createPacket) - handle.connection.sendPacket(addPlayersPacket) + handle.connection.send(createPacket) + handle.connection.send(addPlayersPacket) } sendUpdateDisplayNamePackets(team) } @@ -118,7 +118,7 @@ class PaperPrefixesDisplay : PrefixesDisplay player.name, ClientboundSetPlayerTeamPacket.Action.REMOVE ) - viewers.forEach { viewer -> (viewer as CraftPlayer).handle.connection.sendPacket(packet) } + viewers.forEach { viewer -> (viewer as CraftPlayer).handle.connection.send(packet) } sendUpdateDisplayNamePackets(team) } @@ -131,7 +131,7 @@ class PaperPrefixesDisplay : PrefixesDisplay player.name, ClientboundSetPlayerTeamPacket.Action.REMOVE ) - viewers.forEach { viewer -> (viewer as CraftPlayer).handle.connection.sendPacket(delete) } + viewers.forEach { viewer -> (viewer as CraftPlayer).handle.connection.send(delete) } } } @@ -141,7 +141,7 @@ class PaperPrefixesDisplay : PrefixesDisplay player.name, ClientboundSetPlayerTeamPacket.Action.ADD ) - viewers.forEach { viewer -> (viewer as CraftPlayer).handle.connection.sendPacket(packet) } + viewers.forEach { viewer -> (viewer as CraftPlayer).handle.connection.send(packet) } sendUpdateDisplayNamePackets(team) } @@ -155,7 +155,7 @@ class PaperPrefixesDisplay : PrefixesDisplay viewers.forEach { viewer -> with(viewer as CraftPlayer) { - handle.connection.sendPacket(packet) + handle.connection.send(packet) } } sendUpdateDisplayNamePackets(team) @@ -168,7 +168,7 @@ class PaperPrefixesDisplay : PrefixesDisplay val packet = ClientboundSetPlayerTeamPacket.createAddOrModifyPacket(team, false) viewers.forEach { viewer -> with(viewer as CraftPlayer) { - handle.connection.sendPacket(packet) + handle.connection.send(packet) } } sendUpdateDisplayNamePackets(team) @@ -181,7 +181,7 @@ class PaperPrefixesDisplay : PrefixesDisplay val packet = ClientboundSetPlayerTeamPacket.createAddOrModifyPacket(team, false) viewers.forEach { viewer -> with(viewer as CraftPlayer) { - handle.connection.sendPacket(packet) + handle.connection.send(packet) } } sendUpdateDisplayNamePackets(team) @@ -213,7 +213,7 @@ class PaperPrefixesDisplay : PrefixesDisplay ) viewers.forEach { viewer -> with(viewer as CraftPlayer) { - handle.connection.sendPacket(update) + handle.connection.send(update) } } } diff --git a/prefixes-paper/src/main/kotlin/app/simplecloud/plugin/prefixes/paper/listener/LuckPermsListener.kt b/prefixes-paper/src/main/kotlin/app/simplecloud/plugin/prefixes/paper/listener/LuckPermsListener.kt index 02628a1..8158243 100644 --- a/prefixes-paper/src/main/kotlin/app/simplecloud/plugin/prefixes/paper/listener/LuckPermsListener.kt +++ b/prefixes-paper/src/main/kotlin/app/simplecloud/plugin/prefixes/paper/listener/LuckPermsListener.kt @@ -1,6 +1,5 @@ package app.simplecloud.plugin.prefixes.paper.listener -import app.simplecloud.plugin.prefixes.api.PrefixesApi import net.luckperms.api.LuckPerms import net.luckperms.api.event.user.UserDataRecalculateEvent import org.bukkit.plugin.Plugin @@ -8,7 +7,6 @@ import org.bukkit.plugin.Plugin class LuckPermsListener( private val plugin: Plugin, private val luckPerms: LuckPerms, - private val api: PrefixesApi ) { fun init() { @@ -21,7 +19,5 @@ class LuckPermsListener( private fun onUserUpdate(event: UserDataRecalculateEvent) { if(groups.getOrDefault(event.user.uniqueId.toString(), "") == event.user.primaryGroup) return groups[event.user.uniqueId.toString()] = event.user.primaryGroup - api.setWholeName(event.user.uniqueId, event.user.primaryGroup) } - } \ No newline at end of file diff --git a/prefixes-paper/src/main/resources/paper-plugin.yml b/prefixes-paper/src/main/resources/paper-plugin.yml index 4a708bb..1552a2d 100644 --- a/prefixes-paper/src/main/resources/paper-plugin.yml +++ b/prefixes-paper/src/main/resources/paper-plugin.yml @@ -6,10 +6,10 @@ dependencies: server: LuckPerms: load: BEFORE - require: true + required: true CustomNames: load: BEFORE - require: true + required: true join-classpath: true authors: - dayyeeet \ No newline at end of file diff --git a/prefixes-shared/build.gradle.kts b/prefixes-shared/build.gradle.kts index 248cd43..9b903e4 100644 --- a/prefixes-shared/build.gradle.kts +++ b/prefixes-shared/build.gradle.kts @@ -1,4 +1,4 @@ dependencies { - implementation("net.kyori:adventure-text-serializer-gson:4.14.0") - implementation("net.kyori:adventure-text-serializer-legacy:4.14.0") + implementation(libs.adventure.text.serializer.gson) + implementation(libs.adventure.text.serializer.legacy) } \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index e99c558..dcbabee 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -7,7 +7,7 @@ pluginManagement { } plugins { - id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0" + id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0" } include("prefixes-api", "prefixes-minestom", "prefixes-paper", "prefixes-shared")