init 8
This commit is contained in:
@@ -3,7 +3,12 @@ package xyz.fortern.minehunt
|
|||||||
import net.kyori.adventure.text.Component
|
import net.kyori.adventure.text.Component
|
||||||
import net.kyori.adventure.text.format.NamedTextColor
|
import net.kyori.adventure.text.format.NamedTextColor
|
||||||
import net.kyori.adventure.title.Title
|
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.enchantments.Enchantment
|
||||||
import org.bukkit.entity.Player
|
import org.bukkit.entity.Player
|
||||||
import org.bukkit.inventory.ItemStack
|
import org.bukkit.inventory.ItemStack
|
||||||
@@ -21,7 +26,7 @@ class Console {
|
|||||||
|
|
||||||
var stage: GameStage = GameStage.PREPARING
|
var stage: GameStage = GameStage.PREPARING
|
||||||
|
|
||||||
var overworld = Bukkit.getWorld("world")!!
|
private var overworld = Bukkit.getWorld("world")!!
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 速通者队伍
|
* 速通者队伍
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package xyz.fortern.minehunt
|
|||||||
|
|
||||||
import org.bukkit.Bukkit
|
import org.bukkit.Bukkit
|
||||||
import org.bukkit.plugin.java.JavaPlugin
|
import org.bukkit.plugin.java.JavaPlugin
|
||||||
import xyz.fortern.minehunt.command.GodCommand
|
|
||||||
import xyz.fortern.minehunt.command.TestCommand
|
import xyz.fortern.minehunt.command.TestCommand
|
||||||
import xyz.fortern.minehunt.listener.PlayerListener
|
import xyz.fortern.minehunt.listener.PlayerListener
|
||||||
|
|
||||||
@@ -22,9 +21,11 @@ class Minehunt : JavaPlugin() {
|
|||||||
// 初始化
|
// 初始化
|
||||||
instance = this
|
instance = this
|
||||||
val console = Console()
|
val console = Console()
|
||||||
|
|
||||||
|
// 注册命令
|
||||||
Bukkit.getPluginManager().registerEvents(PlayerListener(console), this)
|
Bukkit.getPluginManager().registerEvents(PlayerListener(console), this)
|
||||||
|
|
||||||
Bukkit.getPluginCommand("god")!!.setExecutor(GodCommand())
|
// 注册事件
|
||||||
Bukkit.getPluginCommand("test")!!.setExecutor(TestCommand())
|
Bukkit.getPluginCommand("test")!!.setExecutor(TestCommand())
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
package xyz.fortern.minehunt.command
|
package xyz.fortern.minehunt.command
|
||||||
|
|
||||||
|
import net.kyori.adventure.text.Component
|
||||||
import org.bukkit.Bukkit
|
import org.bukkit.Bukkit
|
||||||
import org.bukkit.command.Command
|
import org.bukkit.command.Command
|
||||||
import org.bukkit.command.CommandExecutor
|
import org.bukkit.command.CommandExecutor
|
||||||
@@ -11,15 +12,32 @@ import org.bukkit.command.CommandSender
|
|||||||
class TestCommand : CommandExecutor {
|
class TestCommand : CommandExecutor {
|
||||||
override fun onCommand(sender: CommandSender, command: Command, label: String, args: Array<out String>): Boolean {
|
override fun onCommand(sender: CommandSender, command: Command, label: String, args: Array<out String>): Boolean {
|
||||||
when (args[0]) {
|
when (args[0]) {
|
||||||
|
// 发送消息
|
||||||
"sendTo" -> {
|
"sendTo" -> {
|
||||||
|
if (args.size < 2) {
|
||||||
|
sender.sendMessage(Component.text("需要参数"))
|
||||||
|
return true
|
||||||
|
}
|
||||||
// 给某个玩家发消息
|
// 给某个玩家发消息
|
||||||
val name = args[1]
|
val name = args[1]
|
||||||
val player = Bukkit.getPlayer(name)
|
val player = Bukkit.getPlayer(name)
|
||||||
if (player != null) {
|
if (player != null)
|
||||||
player.sendMessage("离线发送消息")
|
player.sendMessage("离线发送消息")
|
||||||
} else {
|
else
|
||||||
sender.sendMessage("玩家 $name 不存在")
|
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
|
return true
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import org.bukkit.event.entity.PlayerDeathEvent
|
|||||||
import org.bukkit.event.player.PlayerDropItemEvent
|
import org.bukkit.event.player.PlayerDropItemEvent
|
||||||
import org.bukkit.event.player.PlayerJoinEvent
|
import org.bukkit.event.player.PlayerJoinEvent
|
||||||
import org.bukkit.event.player.PlayerMoveEvent
|
import org.bukkit.event.player.PlayerMoveEvent
|
||||||
import org.bukkit.event.player.PlayerQuitEvent
|
|
||||||
import xyz.fortern.minehunt.Console
|
import xyz.fortern.minehunt.Console
|
||||||
import xyz.fortern.minehunt.Console.GameStage
|
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)
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 玩家丢弃物品时,阻止玩家丢弃猎人指南针,并将追踪目标切换到下一个
|
* 玩家丢弃物品时,阻止玩家丢弃猎人指南针,并将追踪目标切换到下一个
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ main: xyz.fortern.minehunt.Minehunt
|
|||||||
api-version: '1.21'
|
api-version: '1.21'
|
||||||
authors: [ Fortern ]
|
authors: [ Fortern ]
|
||||||
|
|
||||||
|
# TODO 插件加载时机
|
||||||
|
|
||||||
commands:
|
commands:
|
||||||
god:
|
|
||||||
description: "使自己无敌"
|
|
||||||
test:
|
test:
|
||||||
description: "测试"
|
description: "测试"
|
||||||
|
|||||||
Reference in New Issue
Block a user