From 94295d7f449ca4529e371e6df724bf34af451ed5 Mon Sep 17 00:00:00 2001 From: TONY_All Date: Sat, 22 Oct 2022 01:01:05 +0800 Subject: [PATCH] sync code --- build.gradle.kts | 3 ++ .../blastingcrisis/command/DebugCommand.kt | 18 ++++++++++ .../cc/maxmc/blastingcrisis/game/Game.kt | 11 +++++- .../blastingcrisis/game/GameScoreboard.kt | 36 +++++++++++++++++++ .../cc/maxmc/blastingcrisis/game/GameState.kt | 9 +++++ .../cc/maxmc/blastingcrisis/game/GameTeam.kt | 6 +++- .../cc/maxmc/blastingcrisis/game/GameTimer.kt | 13 +++++++ .../cc/maxmc/blastingcrisis/map/GameMap.kt | 5 +-- src/main/resources/lang/zh_CN.yml | 8 +++++ 9 files changed, 105 insertions(+), 4 deletions(-) create mode 100644 src/main/kotlin/cc/maxmc/blastingcrisis/command/DebugCommand.kt create mode 100644 src/main/kotlin/cc/maxmc/blastingcrisis/game/GameScoreboard.kt create mode 100644 src/main/kotlin/cc/maxmc/blastingcrisis/game/GameState.kt create mode 100644 src/main/kotlin/cc/maxmc/blastingcrisis/game/GameTimer.kt create mode 100644 src/main/resources/lang/zh_CN.yml diff --git a/build.gradle.kts b/build.gradle.kts index 7040c95..e674092 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -10,6 +10,7 @@ version = "1.0-SNAPSHOT" repositories { mavenCentral() + mavenLocal() maven("https://repo.maxmc.cn/repository/maven-snapshots/") { name = "maxmc" credentials(PasswordCredentials::class.java) @@ -20,6 +21,8 @@ repositories { dependencies { implementation(kotlin("stdlib")) implementation("ink.ptms.core:v10800:10800") + implementation("ink.ptms.core:v11200:11200") + implementation("ink.ptms:Adyeshach:1.5.12") } taboolib { diff --git a/src/main/kotlin/cc/maxmc/blastingcrisis/command/DebugCommand.kt b/src/main/kotlin/cc/maxmc/blastingcrisis/command/DebugCommand.kt new file mode 100644 index 0000000..5876518 --- /dev/null +++ b/src/main/kotlin/cc/maxmc/blastingcrisis/command/DebugCommand.kt @@ -0,0 +1,18 @@ +package cc.maxmc.blastingcrisis.command + +import org.bukkit.Bukkit +import org.bukkit.Location +import org.bukkit.entity.Blaze +import org.bukkit.entity.EntityType +import taboolib.common.platform.command.command + +object DebugCommand { + fun debug(cmd: String) = command(cmd) { + literal("game") { + + } + literal("scoreboard") { + + } + } +} \ No newline at end of file diff --git a/src/main/kotlin/cc/maxmc/blastingcrisis/game/Game.kt b/src/main/kotlin/cc/maxmc/blastingcrisis/game/Game.kt index 9f43011..7580019 100644 --- a/src/main/kotlin/cc/maxmc/blastingcrisis/game/Game.kt +++ b/src/main/kotlin/cc/maxmc/blastingcrisis/game/Game.kt @@ -1,5 +1,14 @@ package cc.maxmc.blastingcrisis.game -class Game { +import cc.maxmc.blastingcrisis.map.GameMap +import org.bukkit.entity.Player + +class Game(val map: GameMap, val teams: List, val state: GameState, scoreboard: GameScoreboard) { + val players: List + get() { + val all = ArrayList() + teams.map { it.players }.forEach { all.addAll(it) } + return all + } } \ No newline at end of file diff --git a/src/main/kotlin/cc/maxmc/blastingcrisis/game/GameScoreboard.kt b/src/main/kotlin/cc/maxmc/blastingcrisis/game/GameScoreboard.kt new file mode 100644 index 0000000..e43a455 --- /dev/null +++ b/src/main/kotlin/cc/maxmc/blastingcrisis/game/GameScoreboard.kt @@ -0,0 +1,36 @@ +package cc.maxmc.blastingcrisis.game + +import cc.maxmc.blastingcrisis.game.GameState.* +import org.bukkit.entity.Player +import taboolib.module.nms.sendScoreboard +import taboolib.platform.util.asLangText + +class GameScoreboard(val game: Game) { + fun sendScoreboard() { + game.teams.forEach { g -> + g.players.forEach { + sendScoreboardPlayer(it) + } + } + } + + fun sendScoreboardPlayer(player: Player) { + + val scoreboardText = when (game.state) { + WAITING -> { + player.asLangText("scoreboard_waiting", game.players.size, game.map.maxPlayer) + } + + COUNTING_DOWN -> { + player.asLangText("scoreboard_counting_down", game.players.size, game.map.maxPlayer) + } + START -> TODO() + WALL_FALL -> TODO() + FINISH -> TODO() + } + + player.sendScoreboard(*scoreboardText.lines().toTypedArray()) + + } + +} \ No newline at end of file diff --git a/src/main/kotlin/cc/maxmc/blastingcrisis/game/GameState.kt b/src/main/kotlin/cc/maxmc/blastingcrisis/game/GameState.kt new file mode 100644 index 0000000..6967648 --- /dev/null +++ b/src/main/kotlin/cc/maxmc/blastingcrisis/game/GameState.kt @@ -0,0 +1,9 @@ +package cc.maxmc.blastingcrisis.game + +enum class GameState { + WAITING, + COUNTING_DOWN, + START, + WALL_FALL, + FINISH; +} \ No newline at end of file diff --git a/src/main/kotlin/cc/maxmc/blastingcrisis/game/GameTeam.kt b/src/main/kotlin/cc/maxmc/blastingcrisis/game/GameTeam.kt index dfc5f92..653d189 100644 --- a/src/main/kotlin/cc/maxmc/blastingcrisis/game/GameTeam.kt +++ b/src/main/kotlin/cc/maxmc/blastingcrisis/game/GameTeam.kt @@ -1,4 +1,8 @@ package cc.maxmc.blastingcrisis.game -class GameTeam { +import cc.maxmc.blastingcrisis.map.MapTeam +import org.bukkit.entity.Player + +class GameTeam(val team: MapTeam, val players: List) { + } \ No newline at end of file diff --git a/src/main/kotlin/cc/maxmc/blastingcrisis/game/GameTimer.kt b/src/main/kotlin/cc/maxmc/blastingcrisis/game/GameTimer.kt new file mode 100644 index 0000000..f546bea --- /dev/null +++ b/src/main/kotlin/cc/maxmc/blastingcrisis/game/GameTimer.kt @@ -0,0 +1,13 @@ +package cc.maxmc.blastingcrisis.game + +class GameTimer(val game: Game) { + val time2Start = 2 + + fun beginCountdown() { + + } + + fun startTimer() { + + } +} \ No newline at end of file diff --git a/src/main/kotlin/cc/maxmc/blastingcrisis/map/GameMap.kt b/src/main/kotlin/cc/maxmc/blastingcrisis/map/GameMap.kt index c62b66f..6442fbd 100644 --- a/src/main/kotlin/cc/maxmc/blastingcrisis/map/GameMap.kt +++ b/src/main/kotlin/cc/maxmc/blastingcrisis/map/GameMap.kt @@ -1,5 +1,6 @@ package cc.maxmc.blastingcrisis.map -class GameMap(val name: String,) { - +class GameMap(val name: String, val teams: List, val maxPlayersPerTeam: Int) { + val maxPlayer: Int + get() = maxPlayersPerTeam * teams.size } \ No newline at end of file diff --git a/src/main/resources/lang/zh_CN.yml b/src/main/resources/lang/zh_CN.yml new file mode 100644 index 0000000..08a3d5b --- /dev/null +++ b/src/main/resources/lang/zh_CN.yml @@ -0,0 +1,8 @@ +scoreboard_waiting: |- + §6Blasting§7Crisis + + §a| §7当前玩家: §a{0}/{1} + + §a| §7等待中... + + §aplay.maxmc.cc \ No newline at end of file