Change VolcanoAPI to McScrimsAPI

This commit is contained in:
TDSTOS
2026-04-15 21:51:35 +02:00
parent 50a8a4efe7
commit 176bd7e533
4 changed files with 24 additions and 49 deletions

View File

@@ -35,7 +35,7 @@ dependencies {
compileOnly("com.lunarclient:apollo-api:1.2.4") compileOnly("com.lunarclient:apollo-api:1.2.4")
compileOnly("com.lunarclient:apollo-extra-adventure4: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("io.papermc.paper:paper-api:1.21.1-R0.1-SNAPSHOT")
compileOnly("com.sk89q.worldedit:worldedit-core:7.2.17-SNAPSHOT") compileOnly("com.sk89q.worldedit:worldedit-core:7.2.17-SNAPSHOT")

View File

@@ -46,9 +46,9 @@ import club.mcscrims.speedhg.perk.impl.ScavengerPerk
import club.mcscrims.speedhg.perk.impl.VampirePerk import club.mcscrims.speedhg.perk.impl.VampirePerk
import club.mcscrims.speedhg.perk.listener.PerkEventDispatcher import club.mcscrims.speedhg.perk.listener.PerkEventDispatcher
import club.mcscrims.speedhg.ranking.RankingManager import club.mcscrims.speedhg.ranking.RankingManager
import club.mcscrims.speedhg.scoreboard.McScrimsRankProvider
import club.mcscrims.speedhg.scoreboard.ScoreboardManager import club.mcscrims.speedhg.scoreboard.ScoreboardManager
import club.mcscrims.speedhg.scoreboard.TablistManager 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.PresetTeamManager
import club.mcscrims.speedhg.team.gui.TeamSelectionListener import club.mcscrims.speedhg.team.gui.TeamSelectionListener
import club.mcscrims.speedhg.webhook.DiscordWebhookManager import club.mcscrims.speedhg.webhook.DiscordWebhookManager
@@ -189,7 +189,7 @@ class SpeedHG : JavaPlugin() {
discordWebhookManager = DiscordWebhookManager( this ) discordWebhookManager = DiscordWebhookManager( this )
lunarClientManager = LunarClientManager( this ) lunarClientManager = LunarClientManager( this )
lobbyItemManager = LobbyItemManager( this ) lobbyItemManager = LobbyItemManager( this )
tablistManager = TablistManager( this, VolcanoServerRankProvider() ) tablistManager = TablistManager( this, McScrimsRankProvider() )
presetTeamManager = PresetTeamManager( this ) presetTeamManager = PresetTeamManager( this )
perkManager = PerkManager( this ) perkManager = PerkManager( this )
@@ -310,7 +310,7 @@ class SpeedHG : JavaPlugin() {
pm.registerEvents( MenuListener(), this ) pm.registerEvents( MenuListener(), this )
pm.registerEvents(PerkEventDispatcher( this, perkManager ), this ) pm.registerEvents(PerkEventDispatcher( this, perkManager ), this )
pm.registerEvents( lobbyItemManager, this ) pm.registerEvents( lobbyItemManager, this )
pm.registerEvents(ChatListener( this, VolcanoServerRankProvider() ), this ) pm.registerEvents(ChatListener( this, McScrimsRankProvider() ), this )
pm.registerEvents(KnockbackListener( this ), this ) pm.registerEvents(KnockbackListener( this ), this )
pm.registerEvents(TeamSelectionListener( this ), this ) pm.registerEvents(TeamSelectionListener( this ), this )
pm.registerEvents( HungerListener(), this ) pm.registerEvents( HungerListener(), this )

View File

@@ -1,7 +1,7 @@
package club.mcscrims.speedhg.scoreboard package club.mcscrims.speedhg.scoreboard
import me.zowpy.core.api.CoreAPI import club.mcscrims.core.api.McScrimsAPI
import me.zowpy.core.api.rank.Rank import club.mcscrims.core.rank.model.Rank
import net.kyori.adventure.text.Component import net.kyori.adventure.text.Component
import net.kyori.adventure.text.minimessage.MiniMessage import net.kyori.adventure.text.minimessage.MiniMessage
import org.bukkit.entity.Player import org.bukkit.entity.Player
@@ -16,7 +16,7 @@ interface ServerRankProvider {
* in [TablistManager.WEIGHT_MAP] zeigt. * in [TablistManager.WEIGHT_MAP] zeigt.
* Muss einer der Keys sein: `"admin"`, `"mod"`, `"helper"`, `"player"`. * 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 * Gibt die formatierte Prefix-Komponente zurück, die VOR dem
@@ -34,50 +34,19 @@ interface ServerRankProvider {
*/ */
fun getRankColor( player: Player ): String fun getRankColor( player: Player ): String
} /**
* Gibt den Namen vom Rang zurück
/** */
* Einfache Implementierung auf Basis von Bukkit-Permissions. fun getRankName( player: Player ): String
*/
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( "<red><bold>[Admin]</bold></red>" )
player.hasPermission( "group.mod" ) -> mm.deserialize( "<green><bold>[Mod]</bold></green>" )
player.hasPermission( "group.helper" ) -> mm.deserialize( "<aqua><bold>[Helper]</bold></aqua>" )
else -> Component.empty()
}
override fun getRankColor(
player: Player
): String = when {
player.hasPermission( "group.admin" ) -> "<red>"
player.hasPermission( "group.mod" ) -> "<green>"
player.hasPermission( "group.helper" ) -> "<aqua>"
else -> "<gray>"
}
} }
/** /**
* 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() private val mm = MiniMessage.miniMessage()
override fun getRankWeight( override fun getRankWeight(
@@ -100,16 +69,22 @@ class VolcanoServerRankProvider : ServerRankProvider {
player: Player player: Player
): String ): String
{ {
val rawColor = getRank( player ).displayColor val rawColor = getRank( player ).prefix
return convertLegacyToMiniMessage( rawColor ) return convertLegacyToMiniMessage( rawColor )
} }
override fun getRankName(
player: Player
): String
{
return getRank( player ).id
}
private fun getRank( private fun getRank(
player: Player player: Player
): Rank ): Rank
{ {
val rank = coreAPI.profileManager.getByUUID( player.uniqueId ).realRank return mcScrimsAPI.getRank( player.uniqueId )
return coreAPI.rankManager.getByUUID( rank.uuid )
} }
/** /**

View File

@@ -58,7 +58,7 @@ import java.util.concurrent.ConcurrentHashMap
*/ */
class TablistManager( class TablistManager(
private val plugin: SpeedHG, private val plugin: SpeedHG,
val rankProvider: ServerRankProvider = DefaultServerRankProvider() val rankProvider: ServerRankProvider = McScrimsRankProvider()
) : Listener { ) : Listener {
// ========================================================================= // =========================================================================