跳到主要内容

事件

TreasuresLite 提供以下自定义事件,可通过 Bukkit 事件监听器或 TabooLib 的 @SubscribeEvent 监听。

TreasureOpenEvent

玩家打开宝箱时触发。可取消 — 取消后玩家无法打开该宝箱。

字段类型说明
playerPlayer打开宝箱的玩家
chestString宝箱 ID
locationLocation宝箱位置
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

宝箱生成(刷新)时触发。

字段类型说明
chestString宝箱 ID
locationLocation宝箱生成位置
@EventHandler
fun onTreasureSpawn(event: TreasureSpawnEvent) {
println("宝箱 ${event.chest} 已在 ${event.location} 生成")
}

TreasureDestroyEvent

宝箱被销毁时触发。

字段类型说明
chestString宝箱 ID
locationLocation宝箱位置
@EventHandler
fun onTreasureDestroy(event: TreasureDestroyEvent) {
println("宝箱 ${event.chest} 已在 ${event.location} 被销毁")
}