This commit is contained in:
2025-02-12 17:54:44 +08:00
parent 2a8f395ae9
commit 48217cca0d
6 changed files with 32 additions and 35 deletions

View File

@@ -3,7 +3,12 @@ package xyz.fortern.minehunt
import net.kyori.adventure.text.Component
import net.kyori.adventure.text.format.NamedTextColor
import net.kyori.adventure.title.Title
import org.bukkit.*
import org.bukkit.Bukkit
import org.bukkit.Difficulty
import org.bukkit.GameMode
import org.bukkit.GameRule
import org.bukkit.Location
import org.bukkit.Material
import org.bukkit.enchantments.Enchantment
import org.bukkit.entity.Player
import org.bukkit.inventory.ItemStack
@@ -21,7 +26,7 @@ class Console {
var stage: GameStage = GameStage.PREPARING
var overworld = Bukkit.getWorld("world")!!
private var overworld = Bukkit.getWorld("world")!!
/**
* 速通者队伍

View File

@@ -2,7 +2,6 @@ package xyz.fortern.minehunt
import org.bukkit.Bukkit
import org.bukkit.plugin.java.JavaPlugin
import xyz.fortern.minehunt.command.GodCommand
import xyz.fortern.minehunt.command.TestCommand
import xyz.fortern.minehunt.listener.PlayerListener
@@ -22,9 +21,11 @@ class Minehunt : JavaPlugin() {
// 初始化
instance = this
val console = Console()
// 注册命令
Bukkit.getPluginManager().registerEvents(PlayerListener(console), this)
Bukkit.getPluginCommand("god")!!.setExecutor(GodCommand())
// 注册事件
Bukkit.getPluginCommand("test")!!.setExecutor(TestCommand())
}

View File

@@ -1,14 +0,0 @@
package xyz.fortern.minehunt.command
import org.bukkit.command.Command
import org.bukkit.command.CommandExecutor
import org.bukkit.command.CommandSender
import org.bukkit.entity.Player
class GodCommand : CommandExecutor {
override fun onCommand(sender: CommandSender, command: Command, label: String, args: Array<out String>?): Boolean {
if (sender is Player)
sender.isInvulnerable = !sender.isInvulnerable
return true
}
}

View File

@@ -1,5 +1,6 @@
package xyz.fortern.minehunt.command
import net.kyori.adventure.text.Component
import org.bukkit.Bukkit
import org.bukkit.command.Command
import org.bukkit.command.CommandExecutor
@@ -11,15 +12,32 @@ import org.bukkit.command.CommandSender
class TestCommand : CommandExecutor {
override fun onCommand(sender: CommandSender, command: Command, label: String, args: Array<out String>): Boolean {
when (args[0]) {
// 发送消息
"sendTo" -> {
if (args.size < 2) {
sender.sendMessage(Component.text("需要参数"))
return true
}
// 给某个玩家发消息
val name = args[1]
val player = Bukkit.getPlayer(name)
if (player != null) {
if (player != null)
player.sendMessage("离线发送消息")
} else {
else
sender.sendMessage("玩家 $name 不存在")
}
// 无敌
"invulnerable" -> {
if (args.size < 2) {
sender.sendMessage(Component.text("需要参数"))
return true
}
val name = args[1]
val player = Bukkit.getPlayer(name)
if (player != null)
player.isInvulnerable = !player.isInvulnerable
else
sender.sendMessage("玩家 $name 不存在")
}
}
return true

View File

@@ -7,7 +7,6 @@ import org.bukkit.event.entity.PlayerDeathEvent
import org.bukkit.event.player.PlayerDropItemEvent
import org.bukkit.event.player.PlayerJoinEvent
import org.bukkit.event.player.PlayerMoveEvent
import org.bukkit.event.player.PlayerQuitEvent
import xyz.fortern.minehunt.Console
import xyz.fortern.minehunt.Console.GameStage
@@ -41,18 +40,6 @@ class PlayerListener(
}
}
/**
* 玩家退出服务器时的操作
*/
@EventHandler
fun onPlayerQuit(event: PlayerQuitEvent) {
val player = event.player
// 速通者退出时从speedrunnerList中移除避免指南针遍历
// if (console.stage == GameStage.PROCESSING && console.speedrunnerSet.contains(player))
// console.speedrunnerList.remove(player)
}
/**
* 玩家丢弃物品时,阻止玩家丢弃猎人指南针,并将追踪目标切换到下一个
*/