init 25
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
plugins {
|
plugins {
|
||||||
kotlin("jvm") version "2.1.0"
|
kotlin("jvm") version "2.1.10"
|
||||||
id("com.gradleup.shadow") version "8.3.5"
|
id("com.gradleup.shadow") version "8.3.5"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -110,12 +110,12 @@ class Console {
|
|||||||
private lateinit var speedrunnerList: List<UUID>
|
private lateinit var speedrunnerList: List<UUID>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 玩家离开主世界时最后的位置
|
* 速通者离开主世界时最后的位置
|
||||||
*/
|
*/
|
||||||
private val playerLocInWorld: MutableMap<UUID, Location> = HashMap()
|
private val playerLocInWorld: MutableMap<UUID, Location> = HashMap()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 玩家离开下界时最后的位置
|
* 速通者离开下界时最后的位置
|
||||||
*/
|
*/
|
||||||
private val playerLocInNether: MutableMap<UUID, Location> = HashMap()
|
private val playerLocInNether: MutableMap<UUID, Location> = HashMap()
|
||||||
|
|
||||||
@@ -258,7 +258,7 @@ class Console {
|
|||||||
* 加入观众阵营
|
* 加入观众阵营
|
||||||
*/
|
*/
|
||||||
fun joinAudience(player: Player) {
|
fun joinAudience(player: Player) {
|
||||||
if (stage == GameStage.PREPARING && beginningCountdown == null) {
|
if (stage == GameStage.PREPARING) {
|
||||||
audienceTeam.addPlayer(player)
|
audienceTeam.addPlayer(player)
|
||||||
player.sendMessage(Component.text("你已加入[观众]"))
|
player.sendMessage(Component.text("你已加入[观众]"))
|
||||||
}
|
}
|
||||||
@@ -442,7 +442,7 @@ class Console {
|
|||||||
}
|
}
|
||||||
votingEndMap[player.uniqueId] = true
|
votingEndMap[player.uniqueId] = true
|
||||||
votingCount++
|
votingCount++
|
||||||
player.sendMessage(Component.text("voting (${votingCount}/${votingEndMap.size})", NamedTextColor.RED))
|
player.sendMessage(Component.text("Voting (${votingCount}/${votingEndMap.size})", NamedTextColor.RED))
|
||||||
if (votingCount != votingEndMap.size) {
|
if (votingCount != votingEndMap.size) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -536,7 +536,15 @@ class Console {
|
|||||||
// 让指南针指向某一个猎人
|
// 让指南针指向某一个猎人
|
||||||
val meta = itemStack.itemMeta as CompassMeta
|
val meta = itemStack.itemMeta as CompassMeta
|
||||||
meta.isLodestoneTracked = false
|
meta.isLodestoneTracked = false
|
||||||
meta.lodestone = speedrunner.location
|
if (hunter.world.uid == speedrunner.world.uid) {
|
||||||
|
meta.lodestone = speedrunner.location
|
||||||
|
} else if (hunter.world.uid == overworld.uid) {
|
||||||
|
meta.lodestone = playerLocInWorld[speedrunner.uniqueId]
|
||||||
|
} else if (hunter.world.uid == nether.uid) {
|
||||||
|
meta.lodestone = playerLocInNether[speedrunner.uniqueId]
|
||||||
|
} else {
|
||||||
|
meta.lodestone = null
|
||||||
|
}
|
||||||
itemStack.itemMeta = meta
|
itemStack.itemMeta = meta
|
||||||
itemStack.amount = 1
|
itemStack.amount = 1
|
||||||
}
|
}
|
||||||
@@ -630,7 +638,19 @@ class Console {
|
|||||||
*/
|
*/
|
||||||
fun giveCompassIfNeed(player: Player) {
|
fun giveCompassIfNeed(player: Player) {
|
||||||
if (stage == GameStage.PROCESSING && isHunter(player)) {
|
if (stage == GameStage.PROCESSING && isHunter(player)) {
|
||||||
player.give(hunterCompass)
|
val items = player.inventory.all(Material.COMPASS)
|
||||||
|
var have = false
|
||||||
|
for (item in items) {
|
||||||
|
if (item.value.lore().isNullOrEmpty()) continue
|
||||||
|
val component = item.value.lore()!![0]
|
||||||
|
if (component is TextComponent && component.content() == compassFlag) {
|
||||||
|
have = true
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!have) {
|
||||||
|
player.give(hunterCompass)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,11 +26,11 @@ class PlayerListener(
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
fun onPlayerJoin(event: PlayerJoinEvent) {
|
fun onPlayerJoin(event: PlayerJoinEvent) {
|
||||||
val player = event.player
|
val player = event.player
|
||||||
if (console.stage == GameStage.PREPARING && console.beginningCountdown == null) {
|
if (console.stage == GameStage.PREPARING) {
|
||||||
// 在准备阶段,玩家设为冒险模式
|
// 在准备阶段,玩家设为冒险模式
|
||||||
player.gameMode = GameMode.ADVENTURE
|
player.gameMode = GameMode.ADVENTURE
|
||||||
// 自动加入观察者队伍
|
// 自动加入观察者队伍
|
||||||
console.audienceTeam.addPlayer(player)
|
console.joinAudience(player)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user