Skip to content

Events

Claimo fires two Bukkit events around every redemption, in the zone.vao.claimo.event package. Listen to them like any other Bukkit event.

Event When Notes
PlayerRedeemVoucherEvent Requirements passed, before commands run Cancellable Cancel to block the redemption — no commands, no success message. Exposes player, voucher.
VoucherRedeemedEvent After the commands were dispatched Informational. Exposes player, voucher.

PlayerRedeemVoucherEvent is Cancellable. Cancel it to veto a redeem — for example, to enforce a check your own plugin owns:

import org.bukkit.event.EventHandler
import org.bukkit.event.Listener
import zone.vao.claimo.event.PlayerRedeemVoucherEvent
class RedeemGuard : Listener {
@EventHandler
fun onRedeem(event: PlayerRedeemVoucherEvent) {
if (isBanned(event.player)) {
event.isCancelled = true
}
}
}

VoucherRedeemedEvent fires after the commands were dispatched — use it for logging, analytics or side effects:

import org.bukkit.event.EventHandler
import org.bukkit.event.Listener
import zone.vao.claimo.event.VoucherRedeemedEvent
class RedeemStats : Listener {
@EventHandler
fun onRedeemed(event: VoucherRedeemedEvent) {
analytics.record(event.player.uniqueId, event.voucher.id)
}
}