事件
TreasuresLite 提供以下自定义事件,可通过 Bukkit 事件监听器或 TabooLib 的 @SubscribeEvent 监听。
TreasureOpenEvent
玩家打开宝箱时触发。可取消 — 取消后玩家无法打开该宝箱。
| 字段 | 类型 | 说明 |
|---|---|---|
player | Player | 打开宝箱的玩家 |
chest | String | 宝箱 ID |
location | Location | 宝箱位置 |
import org.bukkit.event.EventHandler
import org.bukkit.event.Listener
class MyListener : Listener {
@EventHandler
fun onTreasureOpen(event: TreasureOpenEvent) {
val player = event.player
val chestId = event.chest
// 禁止在特定世界打开宝箱
if (player.world.name == "lobby") {
event.isCancelled = true
player.sendMessage("§c大厅中无法打开宝箱!")
}
}
}
TreasureSpawnEvent
宝箱生成(刷新)时触发。
| 字段 | 类型 | 说明 |
|---|---|---|
chest | String | 宝箱 ID |
location | Location | 宝箱生成位置 |
@EventHandler
fun onTreasureSpawn(event: TreasureSpawnEvent) {
println("宝箱 ${event.chest} 已在 ${event.location} 生成")
}
TreasureDestroyEvent
宝箱被销毁时触发。
| 字段 | 类型 | 说明 |
|---|---|---|
chest | String | 宝箱 ID |
location | Location | 宝箱位置 |
@EventHandler
fun onTreasureDestroy(event: TreasureDestroyEvent) {
println("宝箱 ${event.chest} 已在 ${event.location} 被销毁")
}