diff --git a/build.gradle.kts b/build.gradle.kts index a07f934..959c356 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -35,7 +35,7 @@ dependencies { compileOnly("com.lunarclient:apollo-api:1.2.4") compileOnly("com.lunarclient:apollo-extra-adventure4:1.2.4") - compileOnly(files( "${rootProject.projectDir}/libs/VolcanoAPI.jar" )) + compileOnly(files( "${rootProject.projectDir}/libs/McScrims-CoreSystem-1.0.0.jar" )) compileOnly("io.papermc.paper:paper-api:1.21.1-R0.1-SNAPSHOT") compileOnly("com.sk89q.worldedit:worldedit-core:7.2.17-SNAPSHOT") diff --git a/src/main/kotlin/club/mcscrims/speedhg/SpeedHG.kt b/src/main/kotlin/club/mcscrims/speedhg/SpeedHG.kt index abc3cb3..1e9d425 100644 --- a/src/main/kotlin/club/mcscrims/speedhg/SpeedHG.kt +++ b/src/main/kotlin/club/mcscrims/speedhg/SpeedHG.kt @@ -46,9 +46,9 @@ import club.mcscrims.speedhg.perk.impl.ScavengerPerk import club.mcscrims.speedhg.perk.impl.VampirePerk import club.mcscrims.speedhg.perk.listener.PerkEventDispatcher import club.mcscrims.speedhg.ranking.RankingManager +import club.mcscrims.speedhg.scoreboard.McScrimsRankProvider import club.mcscrims.speedhg.scoreboard.ScoreboardManager import club.mcscrims.speedhg.scoreboard.TablistManager -import club.mcscrims.speedhg.scoreboard.VolcanoServerRankProvider import club.mcscrims.speedhg.team.gui.PresetTeamManager import club.mcscrims.speedhg.team.gui.TeamSelectionListener import club.mcscrims.speedhg.webhook.DiscordWebhookManager @@ -189,7 +189,7 @@ class SpeedHG : JavaPlugin() { discordWebhookManager = DiscordWebhookManager( this ) lunarClientManager = LunarClientManager( this ) lobbyItemManager = LobbyItemManager( this ) - tablistManager = TablistManager( this, VolcanoServerRankProvider() ) + tablistManager = TablistManager( this, McScrimsRankProvider() ) presetTeamManager = PresetTeamManager( this ) perkManager = PerkManager( this ) @@ -310,7 +310,7 @@ class SpeedHG : JavaPlugin() { pm.registerEvents( MenuListener(), this ) pm.registerEvents(PerkEventDispatcher( this, perkManager ), this ) pm.registerEvents( lobbyItemManager, this ) - pm.registerEvents(ChatListener( this, VolcanoServerRankProvider() ), this ) + pm.registerEvents(ChatListener( this, McScrimsRankProvider() ), this ) pm.registerEvents(KnockbackListener( this ), this ) pm.registerEvents(TeamSelectionListener( this ), this ) pm.registerEvents( HungerListener(), this ) diff --git a/src/main/kotlin/club/mcscrims/speedhg/scoreboard/ServerRankProvider.kt b/src/main/kotlin/club/mcscrims/speedhg/scoreboard/ServerRankProvider.kt index 3b32a41..e5e5eea 100644 --- a/src/main/kotlin/club/mcscrims/speedhg/scoreboard/ServerRankProvider.kt +++ b/src/main/kotlin/club/mcscrims/speedhg/scoreboard/ServerRankProvider.kt @@ -1,7 +1,7 @@ package club.mcscrims.speedhg.scoreboard -import me.zowpy.core.api.CoreAPI -import me.zowpy.core.api.rank.Rank +import club.mcscrims.core.api.McScrimsAPI +import club.mcscrims.core.rank.model.Rank import net.kyori.adventure.text.Component import net.kyori.adventure.text.minimessage.MiniMessage import org.bukkit.entity.Player @@ -16,7 +16,7 @@ interface ServerRankProvider { * in [TablistManager.WEIGHT_MAP] zeigt. * Muss einer der Keys sein: `"admin"`, `"mod"`, `"helper"`, `"player"`. */ - fun getRankWeight( player: Player ): String + fun getRankWeight( player: Player): String /** * Gibt die formatierte Prefix-Komponente zurück, die VOR dem @@ -34,50 +34,19 @@ interface ServerRankProvider { */ fun getRankColor( player: Player ): String -} - -/** - * Einfache Implementierung auf Basis von Bukkit-Permissions. - */ -class DefaultServerRankProvider : ServerRankProvider { - - private val mm = MiniMessage.miniMessage() - - override fun getRankWeight( - player: Player - ): String = when { - player.hasPermission( "group.admin" ) -> "admin" - player.hasPermission( "group.mod" ) -> "mod" - player.hasPermission( "group.helper" ) -> "helper" - else -> "player" - } - - override fun getRankPrefix( - player: Player - ): Component = when { - player.hasPermission( "group.admin" ) -> mm.deserialize( "[Admin]" ) - player.hasPermission( "group.mod" ) -> mm.deserialize( "[Mod]" ) - player.hasPermission( "group.helper" ) -> mm.deserialize( "[Helper]" ) - else -> Component.empty() - } - - override fun getRankColor( - player: Player - ): String = when { - player.hasPermission( "group.admin" ) -> "" - player.hasPermission( "group.mod" ) -> "" - player.hasPermission( "group.helper" ) -> "" - else -> "" - } + /** + * Gibt den Namen vom Rang zurück + */ + fun getRankName( player: Player ): String } /** - * Volcano Implementierung + * McScrimsAPI Implementierung */ -class VolcanoServerRankProvider : ServerRankProvider { +class McScrimsRankProvider : ServerRankProvider { - private val coreAPI get() = CoreAPI.getInstance() + private val mcScrimsAPI get() = McScrimsAPI.get() private val mm = MiniMessage.miniMessage() override fun getRankWeight( @@ -100,16 +69,22 @@ class VolcanoServerRankProvider : ServerRankProvider { player: Player ): String { - val rawColor = getRank( player ).displayColor + val rawColor = getRank( player ).prefix return convertLegacyToMiniMessage( rawColor ) } + override fun getRankName( + player: Player + ): String + { + return getRank( player ).id + } + private fun getRank( player: Player ): Rank { - val rank = coreAPI.profileManager.getByUUID( player.uniqueId ).realRank - return coreAPI.rankManager.getByUUID( rank.uuid ) + return mcScrimsAPI.getRank( player.uniqueId ) } /** diff --git a/src/main/kotlin/club/mcscrims/speedhg/scoreboard/TablistManager.kt b/src/main/kotlin/club/mcscrims/speedhg/scoreboard/TablistManager.kt index 808dd85..9358c28 100644 --- a/src/main/kotlin/club/mcscrims/speedhg/scoreboard/TablistManager.kt +++ b/src/main/kotlin/club/mcscrims/speedhg/scoreboard/TablistManager.kt @@ -58,7 +58,7 @@ import java.util.concurrent.ConcurrentHashMap */ class TablistManager( private val plugin: SpeedHG, - val rankProvider: ServerRankProvider = DefaultServerRankProvider() + val rankProvider: ServerRankProvider = McScrimsRankProvider() ) : Listener { // =========================================================================