forked from SteamWar/SteamWar
Fixes and De-Spagetti Code
This commit is contained in:
@@ -38,8 +38,6 @@ class TNTLeague : JavaPlugin() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onEnable() {
|
override fun onEnable() {
|
||||||
saveResource("config.yml", false)
|
|
||||||
|
|
||||||
message = Message("de.steamwar.tntleague.TNTLeague", classLoader)
|
message = Message("de.steamwar.tntleague.TNTLeague", classLoader)
|
||||||
|
|
||||||
server.pluginManager.registerEvents(LobbyListener, this)
|
server.pluginManager.registerEvents(LobbyListener, this)
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ object LobbyListener: Listener {
|
|||||||
|
|
||||||
@EventHandler(priority = EventPriority.LOWEST)
|
@EventHandler(priority = EventPriority.LOWEST)
|
||||||
fun onPlayerQuit(e: PlayerQuitEvent) {
|
fun onPlayerQuit(e: PlayerQuitEvent) {
|
||||||
TNTLeagueGame.getTeam(e.player)?.leave(e.player)
|
TNTLeagueGame.playerLeave(e.player)
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
|||||||
@@ -175,10 +175,7 @@ object TNTLeagueGame {
|
|||||||
blueTeam.invites.remove(player)
|
blueTeam.invites.remove(player)
|
||||||
redTeam.invites.remove(player)
|
redTeam.invites.remove(player)
|
||||||
getTeam(player)?.apply {
|
getTeam(player)?.apply {
|
||||||
members.remove(player)
|
remove(player)
|
||||||
if (leader == player && members.isNotEmpty() && state == GameState.RUNNING) {
|
|
||||||
win(this.opposite, WinReason.LEAVE)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,8 @@ package de.steamwar.tntleague.game
|
|||||||
import de.steamwar.tntleague.colorByTeam
|
import de.steamwar.tntleague.colorByTeam
|
||||||
import de.steamwar.tntleague.config.TNTLeagueWorldConfig
|
import de.steamwar.tntleague.config.TNTLeagueWorldConfig
|
||||||
import de.steamwar.tntleague.config.targetedBlocks
|
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.message
|
||||||
import de.steamwar.tntleague.plugin
|
import de.steamwar.tntleague.plugin
|
||||||
import net.kyori.adventure.text.Component
|
import net.kyori.adventure.text.Component
|
||||||
@@ -127,9 +129,8 @@ data class TNTLeagueTeam(val config: TNTLeagueWorldConfig.TeamConfig, private va
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun leave(player: Player) {
|
fun leave(player: Player) {
|
||||||
|
members.remove(player)
|
||||||
if (TNTLeagueGame.state != TNTLeagueGame.GameState.RUNNING) {
|
if (TNTLeagueGame.state != TNTLeagueGame.GameState.RUNNING) {
|
||||||
members.remove(player)
|
|
||||||
|
|
||||||
if (members.isEmpty()) {
|
if (members.isEmpty()) {
|
||||||
plugin.server.onlinePlayers.firstOrNull { it != player && TNTLeagueGame.getTeam(it) == null }?.run {
|
plugin.server.onlinePlayers.firstOrNull { it != player && TNTLeagueGame.getTeam(it) == null }?.run {
|
||||||
members.add(this)
|
members.add(this)
|
||||||
@@ -142,6 +143,10 @@ data class TNTLeagueTeam(val config: TNTLeagueWorldConfig.TeamConfig, private va
|
|||||||
isReady = false
|
isReady = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if (TNTLeagueGame.state == TNTLeagueGame.GameState.RUNNING) {
|
||||||
|
if (members.isEmpty()) {
|
||||||
|
win(this.opposite, WinReason.LEAVE)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user