Skip to content

API 事件

HuskHomes 提供了一系列的 API 事件供你的插件监听,用于检测玩家执行了本插件的哪些操作。大多数的事件都可取消,允许你阻止这些事件的进行,如果你想的话。

API 事件列表

Bukkit 事件名称添加版本是否可取消描述
HomeCreateEvent4.0当玩家创建一个家传送点时调用
HomeListEvent3.0当玩家请求浏览家/公开家传送点时调用
HomeEditEvent4.0当玩家编辑家传送点(切换公开状态、修改位置、修改描述、修改名称)时调用
HomeDeleteEvent3.0当玩家删除家传送点时调用†
DeleteAllHomesEvent3.2.1当玩家使用命令 /delhome all 来删除他们所有的家传送点时调用
WarpCreateEvent4.0当玩家设置地标传送点时调用
WarpListEvent3.0当玩家列出地标传送点时调用
WarpEditEvent4.0当玩家编辑地标传送点(修改位置、修改描述、修改名称)时调用
WarpDeleteEvent3.0当玩家删除地标传送点时调用†
DeleteAllWarpsEvent3.2.1当玩家使用命令 /delwarp all 来删除所有的地标传送点时调用
SendTeleportRequestEvent4.1当玩家发送传送请求(/tpa)时调用
ReceiveTeleportRequestEvent4.1当玩家收到传送请求时调用
ReplyTeleportRequestEvent4.1当玩家接受或拒绝传送请求时调用
TeleportWarmupEvent3.0当玩家开始传送预热时调用
TeleportWarmupCancelledEvent4.6.3当玩家的传送预热被打断时调用
TeleportEventEvent3.0当玩家被传送后调用‡
TeleportBackEventEvent4.1当玩家被传送回他们的上一个位置(/back)时调用‡
RandomTeleportEvent4.8当玩家被随机传送时调用

† 当玩家输入命令 /delhome all/delwarp all 来删除他们所有的家或地标传送点时,只会调用一个 DeleteAllHomesEventDeleteAllWarpsEvent 事件。 ‡ 仅在玩家传送的出发服务器上调用;传送的执行方在此处不重要。

Sponge 和 Fabric 上的事件

提示

浏览 API 介绍页来获取目标平台上的相关内容。

Sponge,有着和 Bukkit 相似的事件 API,拥有与上述相同的事件,前缀为 Sponge(所以在 Bukkit 上的 HomeCreateEvent 在 Sponge 上为 SpongeHomeCreateEvent。)

Fabric 使用回调来处理事件。HuskHomes 提供了与上述事件相同的回调。例如,为处理玩家创建家传送点的事件,你需要注册一个如下图代码所示的回调:

HuskHomes 和 Fabric 回调

Java
HomeCreateCallback.EVENT.register((player, home) -> {
    // Do something with the player and home
    return ActionResult.SUCCESS; // Return an appropriate ActionResult
});.