sync code
This commit is contained in:
parent
7b7849194c
commit
94295d7f44
|
|
@ -10,6 +10,7 @@ version = "1.0-SNAPSHOT"
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
|
mavenLocal()
|
||||||
maven("https://repo.maxmc.cn/repository/maven-snapshots/") {
|
maven("https://repo.maxmc.cn/repository/maven-snapshots/") {
|
||||||
name = "maxmc"
|
name = "maxmc"
|
||||||
credentials(PasswordCredentials::class.java)
|
credentials(PasswordCredentials::class.java)
|
||||||
|
|
@ -20,6 +21,8 @@ repositories {
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(kotlin("stdlib"))
|
implementation(kotlin("stdlib"))
|
||||||
implementation("ink.ptms.core:v10800:10800")
|
implementation("ink.ptms.core:v10800:10800")
|
||||||
|
implementation("ink.ptms.core:v11200:11200")
|
||||||
|
implementation("ink.ptms:Adyeshach:1.5.12")
|
||||||
}
|
}
|
||||||
|
|
||||||
taboolib {
|
taboolib {
|
||||||
|
|
|
||||||
|
|
@ -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") {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,5 +1,14 @@
|
||||||
package cc.maxmc.blastingcrisis.game
|
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<GameTeam>, val state: GameState, scoreboard: GameScoreboard) {
|
||||||
|
val players: List<Player>
|
||||||
|
get() {
|
||||||
|
val all = ArrayList<Player>()
|
||||||
|
teams.map { it.players }.forEach { all.addAll(it) }
|
||||||
|
return all
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -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())
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
package cc.maxmc.blastingcrisis.game
|
||||||
|
|
||||||
|
enum class GameState {
|
||||||
|
WAITING,
|
||||||
|
COUNTING_DOWN,
|
||||||
|
START,
|
||||||
|
WALL_FALL,
|
||||||
|
FINISH;
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,8 @@
|
||||||
package cc.maxmc.blastingcrisis.game
|
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<Player>) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
package cc.maxmc.blastingcrisis.game
|
||||||
|
|
||||||
|
class GameTimer(val game: Game) {
|
||||||
|
val time2Start = 2
|
||||||
|
|
||||||
|
fun beginCountdown() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
fun startTimer() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package cc.maxmc.blastingcrisis.map
|
package cc.maxmc.blastingcrisis.map
|
||||||
|
|
||||||
class GameMap(val name: String,) {
|
class GameMap(val name: String, val teams: List<MapTeam>, val maxPlayersPerTeam: Int) {
|
||||||
|
val maxPlayer: Int
|
||||||
|
get() = maxPlayersPerTeam * teams.size
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
scoreboard_waiting: |-
|
||||||
|
§6Blasting§7Crisis
|
||||||
|
|
||||||
|
§a| §7当前玩家: §a{0}/{1}
|
||||||
|
|
||||||
|
§a| §7等待中...
|
||||||
|
|
||||||
|
§aplay.maxmc.cc
|
||||||
Loading…
Reference in New Issue