EzAfk Custom Events
EzAfk exposes custom events to allow other plugins to hook into AFK status changes and extend functionality.
PlayerAfkStatusChangeEvent
- Package:
com.gyvex.ezafk.event - Fired: When a player goes AFK or returns from AFK.
- Cancellable: Yes. Plugins can cancel AFK status changes.
- Fields:
Player getPlayer(): The player whose status changedboolean isAfk():trueif now AFK,falseif returnedAfkReason getReason(): Reason for AFK status change (see AfkReasons)String getDetail(): Additional details about the change
Example Listener
import com.gyvex.ezafk.event.PlayerAfkStatusChangeEvent;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
public class MyAfkListener implements Listener {
@EventHandler
public void onAfkStatusChange(PlayerAfkStatusChangeEvent event) {
if (event.isAfk()) {
// Player went AFK
String reason = event.getReason() != null ? event.getReason().name() : "UNKNOWN";
String detail = event.getDetail();
} else {
// Player returned from AFK
}
// Example: Cancel AFK status change
// if (shouldBlockAfk(event.getPlayer())) {
// event.setCancelled(true);
// }
}
}
Register your listener as usual in your plugin to receive these events.