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 {
// =========================================================================