Add RankingManager and integrate RR system

Introduce a new RankingManager that implements a per-round Rank Rating (RR) system (placement + kill-based scoring, placement games, kill caps and RR interpolation). Wire the manager into the plugin (SpeedHG): add field + initialization. Integrate into GameManager: call startRound at game start, registerRoundKill on kills, and onPlayerResult for eliminated players and the winner; adjust some stats calls (addLoss/addWin kept alongside ranking updates). Add corresponding English language messages for placement progress and result notifications.
This commit is contained in:
TDSTOS
2026-04-03 19:27:04 +02:00
parent 184443b7c6
commit ab976cc2a4
4 changed files with 322 additions and 3 deletions

View File

@@ -18,6 +18,7 @@ import club.mcscrims.speedhg.listener.ConnectListener
import club.mcscrims.speedhg.listener.GameStateListener
import club.mcscrims.speedhg.listener.SoupListener
import club.mcscrims.speedhg.listener.StatsListener
import club.mcscrims.speedhg.ranking.RankingManager
import club.mcscrims.speedhg.scoreboard.ScoreboardManager
import club.mcscrims.speedhg.webhook.DiscordWebhookManager
import club.mcscrims.speedhg.world.WorldManager
@@ -64,6 +65,9 @@ class SpeedHG : JavaPlugin() {
lateinit var customGameManager: CustomGameManager
private set
lateinit var rankingManager: RankingManager
private set
override fun onLoad()
{
instance = this
@@ -95,6 +99,7 @@ class SpeedHG : JavaPlugin() {
languageManager = LanguageManager( this )
gameManager = GameManager( this )
rankingManager = RankingManager( this )
antiRunningManager = AntiRunningManager( this )
scoreboardManager = ScoreboardManager( this )
kitManager = KitManager( this )