API Events

HuskHomes provides a number of API events your plugin can listen to when certain actions are performed. Most of these events are cancellable, letting you stop them from executing if you wish.

List of API events

Bukkit Event classSinceCancellableDescription
HomeCreateEvent4.0✅Called when a player sets a home
HomeListEvent3.0✅Called when a player requests to view a list of homes / public homes
HomeEditEvent4.0✅Called when a player edits a home (privacy, relocate, description, name)
HomeDeleteEvent3.0✅Called when a player deletes a home†
DeleteAllHomesEvent3.2.1✅Called when a player uses /delhome all to delete all their homes
WarpCreateEvent4.0✅Called when a player sets a warp
WarpListEvent3.0✅Called when a player requests to view a list of warps
WarpEditEvent4.0✅Called when a player edits a warp (relocate, description, name)
WarpDeleteEvent3.0✅Called when a player deletes a warp†
DeleteAllWarpsEvent3.2.1✅Called when a player uses /delwarp all to delete all warps
SendTeleportRequestEvent4.1✅Called when a player sends a teleport request (/tpa)
ReceiveTeleportRequestEvent4.1✅Called when a player receives a teleport request from someone
ReplyTeleportRequestEvent4.1✅Called when a player accepts or declines a teleport request
TeleportWarmupEvent3.0✅Called when a player starts a teleport warmup countdown
TeleportWarmupCancelledEvent4.6.3❌Called when a player cancels the teleport warmup
TeleportEvent3.0✅Called when a player is teleported‡
TeleportBackEvent4.1✅Called when a player teleports to their last position (/back)‡
RandomTeleportEvent4.8✅Called when a player is randomly teleported

† If the player uses /delhome all or /delwarp all to delete all their homes or all the warps, a single DeleteAllHomesEvent or DeleteAllWarpsEvent is fired instead. ‡ Called on the server the player is teleported from; not necessarily where the executor of the teleport is.

Events on Fabric

Check the [[API]] introduction for details on targeting platforms

Fabric uses callbacks for handling events. HuskHomes provides callback equivalents for all the above events. For instance, to handle what to do when someone creates a home, you can register a callback to handle what to do as follows:

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