forked from SteamWar/SteamWar
Format code
This commit is contained in:
@@ -107,12 +107,13 @@ object TNTLeagueGame {
|
||||
timerTask = plugin.server.scheduler.runTaskTimer(plugin, bukkit {
|
||||
gameTimeRemaining--
|
||||
if (gameTimeRemaining == 0) {
|
||||
if (blueTeam.damagedBlocks > redTeam.damagedBlocks)
|
||||
if (blueTeam.damagedBlocks > redTeam.damagedBlocks) {
|
||||
win(blueTeam, WinReason.TIMEOUT)
|
||||
else if (redTeam.damagedBlocks > blueTeam.damagedBlocks)
|
||||
} else if (redTeam.damagedBlocks > blueTeam.damagedBlocks) {
|
||||
win(redTeam, WinReason.TIMEOUT)
|
||||
else
|
||||
} else {
|
||||
draw(WinReason.TIMEOUT)
|
||||
}
|
||||
return@bukkit
|
||||
}
|
||||
|
||||
@@ -123,10 +124,11 @@ object TNTLeagueGame {
|
||||
}, 20, 20)
|
||||
}
|
||||
|
||||
private fun bukkit(f: () -> Unit): () -> Unit = f
|
||||
private fun bukkit(f: () -> Unit): () -> Unit =
|
||||
f
|
||||
|
||||
private fun end() {
|
||||
if(state != GameState.RUNNING) return
|
||||
if (state != GameState.RUNNING) return
|
||||
state = GameState.END
|
||||
|
||||
plugin.server.onlinePlayers.forEach {
|
||||
@@ -154,21 +156,26 @@ object TNTLeagueGame {
|
||||
updateFightinfo()
|
||||
}
|
||||
|
||||
private fun spawnItems(loc: Location, item: ItemStack) = plugin.server.worlds.first().dropItem(loc, item)
|
||||
private fun spawnItems(loc: Location, item: ItemStack) =
|
||||
plugin.server.worlds.first().dropItem(loc, item)
|
||||
|
||||
fun getTeam(player: Player) = if (player in blueTeam.members) blueTeam else if (player in redTeam.members) redTeam else null
|
||||
fun getTeam(player: Player) =
|
||||
if (player in blueTeam.members) blueTeam else if (player in redTeam.members) redTeam else null
|
||||
|
||||
fun getFreeTeam(player: Player) = if (TNTLeagueConfig.isEvent()) getEventFreeTeam(player) else getNormalFreeTeam(player)
|
||||
fun getFreeTeam(player: Player) =
|
||||
if (TNTLeagueConfig.isEvent()) getEventFreeTeam(player) else getNormalFreeTeam(player)
|
||||
|
||||
private fun getNormalFreeTeam(player: Player) = if (blueTeam.leader == null && (TNTLeagueConfig.config.blueLeader == null || player.uniqueId == TNTLeagueConfig.config.blueLeader)) blueTeam
|
||||
private fun getNormalFreeTeam(player: Player) =
|
||||
if (blueTeam.leader == null && (TNTLeagueConfig.config.blueLeader == null || player.uniqueId == TNTLeagueConfig.config.blueLeader)) blueTeam
|
||||
else if (redTeam.leader == null && TNTLeagueConfig.config.redLeader == null || player.uniqueId == TNTLeagueConfig.config.redLeader) redTeam
|
||||
else null
|
||||
|
||||
private fun getEventFreeTeam(player: Player) = SteamwarUser.get(player.uniqueId)!!.let { user ->
|
||||
if (user.team == TNTLeagueConfig.config.eventTeamBlue.teamId && blueTeam.members.size < TNTLeagueConfig.config.event.maximumTeamMembers) blueTeam
|
||||
else if (user.team == TNTLeagueConfig.config.eventTeamRed.teamId && redTeam.members.size < TNTLeagueConfig.config.event.maximumTeamMembers) redTeam
|
||||
else null
|
||||
}
|
||||
private fun getEventFreeTeam(player: Player) =
|
||||
SteamwarUser.get(player.uniqueId)!!.let { user ->
|
||||
if (user.team == TNTLeagueConfig.config.eventTeamBlue.teamId && blueTeam.members.size < TNTLeagueConfig.config.event.maximumTeamMembers) blueTeam
|
||||
else if (user.team == TNTLeagueConfig.config.eventTeamRed.teamId && redTeam.members.size < TNTLeagueConfig.config.event.maximumTeamMembers) redTeam
|
||||
else null
|
||||
}
|
||||
|
||||
fun checkStart() {
|
||||
if (blueTeam.isReady && redTeam.isReady) {
|
||||
@@ -249,7 +256,8 @@ object TNTLeagueGame {
|
||||
}
|
||||
|
||||
fun updateFightinfo() {
|
||||
NetworkSender.send(FightInfoPacket(
|
||||
NetworkSender.send(
|
||||
FightInfoPacket(
|
||||
plugin.server.worlds.first().name,
|
||||
"TNTLeague",
|
||||
"",
|
||||
@@ -257,13 +265,15 @@ object TNTLeagueGame {
|
||||
redTeam.name.message.colorByTeam(redTeam),
|
||||
state.lobbyName,
|
||||
TNTLeagueConfig.config.gameTime - gameTimeRemaining,
|
||||
blueTeam.leader?.let { SteamwarUser.get(it.uniqueId)!!.getId() } ?: 0,
|
||||
redTeam.leader?.let { SteamwarUser.get(it.uniqueId)!!.getId() } ?: 0,
|
||||
blueTeam.leader?.let { SteamwarUser.get(it.uniqueId)!!.getId() }
|
||||
?: 0,
|
||||
redTeam.leader?.let { SteamwarUser.get(it.uniqueId)!!.getId() }
|
||||
?: 0,
|
||||
0,
|
||||
0,
|
||||
blueTeam.members.map { SteamwarUser.get(it.uniqueId)!!.getId() },
|
||||
redTeam.members.map { SteamwarUser.get(it.uniqueId)!!.getId() },
|
||||
plugin.server.onlinePlayers.filter {! blueTeam.members.contains(it) && !redTeam.members.contains(it) }.map { SteamwarUser.get(it.uniqueId)!!.getId() }
|
||||
plugin.server.onlinePlayers.filter { !blueTeam.members.contains(it) && !redTeam.members.contains(it) }.map { SteamwarUser.get(it.uniqueId)!!.getId() }
|
||||
))
|
||||
}
|
||||
|
||||
|
||||
@@ -114,25 +114,27 @@ data class TNTLeagueTeam(val config: TeamConfig) {
|
||||
return true
|
||||
}
|
||||
|
||||
fun readyItem() = if (isReady) {
|
||||
ItemStack.of(Material.LIME_DYE).apply {
|
||||
itemMeta = itemMeta.apply {
|
||||
displayName(Component.text(message.parse("READY", leader!!)))
|
||||
fun readyItem() =
|
||||
if (isReady) {
|
||||
ItemStack.of(Material.LIME_DYE).apply {
|
||||
itemMeta = itemMeta.apply {
|
||||
displayName(Component.text(message.parse("READY", leader!!)))
|
||||
}
|
||||
}
|
||||
} else {
|
||||
ItemStack.of(Material.RED_DYE).apply {
|
||||
itemMeta = itemMeta.apply {
|
||||
displayName(Component.text(message.parse("NOT_READY", leader!!)))
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
ItemStack.of(Material.RED_DYE).apply {
|
||||
itemMeta = itemMeta.apply {
|
||||
displayName(Component.text(message.parse("NOT_READY", leader!!)))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun start() = members.forEach {
|
||||
with(it) {
|
||||
gameMode = GameMode.SURVIVAL
|
||||
fun start() =
|
||||
members.forEach {
|
||||
with(it) {
|
||||
gameMode = GameMode.SURVIVAL
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun leave(player: Player) {
|
||||
members.remove(player)
|
||||
|
||||
Reference in New Issue
Block a user