From e1d3e478459502db8bd3ed1140d7d7a4169df8fe Mon Sep 17 00:00:00 2001 From: Chaoscaot Date: Thu, 12 Dec 2024 16:09:25 +0100 Subject: [PATCH] Fixes and De-Spagetti Code --- TNTLeague/src/de/steamwar/tntleague/TNTLeague.kt | 2 -- .../src/de/steamwar/tntleague/events/LobbyListener.kt | 2 +- .../src/de/steamwar/tntleague/game/TNTLeagueGame.kt | 5 +---- .../src/de/steamwar/tntleague/game/TNTLeagueTeam.kt | 9 +++++++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/TNTLeague/src/de/steamwar/tntleague/TNTLeague.kt b/TNTLeague/src/de/steamwar/tntleague/TNTLeague.kt index a856b917..378dbfc7 100644 --- a/TNTLeague/src/de/steamwar/tntleague/TNTLeague.kt +++ b/TNTLeague/src/de/steamwar/tntleague/TNTLeague.kt @@ -38,8 +38,6 @@ class TNTLeague : JavaPlugin() { } override fun onEnable() { - saveResource("config.yml", false) - message = Message("de.steamwar.tntleague.TNTLeague", classLoader) server.pluginManager.registerEvents(LobbyListener, this) diff --git a/TNTLeague/src/de/steamwar/tntleague/events/LobbyListener.kt b/TNTLeague/src/de/steamwar/tntleague/events/LobbyListener.kt index b4073f1c..d61be80b 100644 --- a/TNTLeague/src/de/steamwar/tntleague/events/LobbyListener.kt +++ b/TNTLeague/src/de/steamwar/tntleague/events/LobbyListener.kt @@ -41,7 +41,7 @@ object LobbyListener: Listener { @EventHandler(priority = EventPriority.LOWEST) fun onPlayerQuit(e: PlayerQuitEvent) { - TNTLeagueGame.getTeam(e.player)?.leave(e.player) + TNTLeagueGame.playerLeave(e.player) } @EventHandler diff --git a/TNTLeague/src/de/steamwar/tntleague/game/TNTLeagueGame.kt b/TNTLeague/src/de/steamwar/tntleague/game/TNTLeagueGame.kt index 6bbdde6f..e781c045 100644 --- a/TNTLeague/src/de/steamwar/tntleague/game/TNTLeagueGame.kt +++ b/TNTLeague/src/de/steamwar/tntleague/game/TNTLeagueGame.kt @@ -175,10 +175,7 @@ object TNTLeagueGame { blueTeam.invites.remove(player) redTeam.invites.remove(player) getTeam(player)?.apply { - members.remove(player) - if (leader == player && members.isNotEmpty() && state == GameState.RUNNING) { - win(this.opposite, WinReason.LEAVE) - } + remove(player) } } diff --git a/TNTLeague/src/de/steamwar/tntleague/game/TNTLeagueTeam.kt b/TNTLeague/src/de/steamwar/tntleague/game/TNTLeagueTeam.kt index 6a47038f..cfb23dca 100644 --- a/TNTLeague/src/de/steamwar/tntleague/game/TNTLeagueTeam.kt +++ b/TNTLeague/src/de/steamwar/tntleague/game/TNTLeagueTeam.kt @@ -22,6 +22,8 @@ package de.steamwar.tntleague.game import de.steamwar.tntleague.colorByTeam import de.steamwar.tntleague.config.TNTLeagueWorldConfig import de.steamwar.tntleague.config.targetedBlocks +import de.steamwar.tntleague.game.TNTLeagueGame.WinReason +import de.steamwar.tntleague.game.TNTLeagueGame.win import de.steamwar.tntleague.message import de.steamwar.tntleague.plugin import net.kyori.adventure.text.Component @@ -127,9 +129,8 @@ data class TNTLeagueTeam(val config: TNTLeagueWorldConfig.TeamConfig, private va } fun leave(player: Player) { + members.remove(player) if (TNTLeagueGame.state != TNTLeagueGame.GameState.RUNNING) { - members.remove(player) - if (members.isEmpty()) { plugin.server.onlinePlayers.firstOrNull { it != player && TNTLeagueGame.getTeam(it) == null }?.run { members.add(this) @@ -142,6 +143,10 @@ data class TNTLeagueTeam(val config: TNTLeagueWorldConfig.TeamConfig, private va isReady = false } } + } else if (TNTLeagueGame.state == TNTLeagueGame.GameState.RUNNING) { + if (members.isEmpty()) { + win(this.opposite, WinReason.LEAVE) + } } }