Events

How to create event listeners.

Creating event listeners

Event listeners can be created using the event.addListener function. This function returns the listener, which can later be used to remove the listener if desired.

Syntax: event.addListener(eventName, handler)

For example, setting a custom join and leave message:

event.addListener("PlayerJoinEvent", event => {
    event.setJoinMessage(color(`&8[&a+&8] &7${event.getPlayer().getName()}`));
});

event.addListener("PlayerQuitEvent", event => {
    event.setQuitMessage(color(`&8[&c-&8] &7${event.getPlayer().getName()}`));
});

Removing event listeners

If an event listener is stored, it may be later removed using the event.removeListener function.

Syntax: event.removeListener(eventName, handler)

For example, if you wanted to make a chat reaction system, this would be a simple way to do it:

server.broadcastMessage(color("&8[&3Reaction&8] &7First in chat to type &3Drupi &7is cool!"));

function isCool(player){
    server.broadcastMessage(color(`&8[&3Reaction&8] &3${player.getName()} &7is cool!`));
    event.removeListener("AsyncPlayerChatEvent", listener);
}

const listener = event.addListener("AsyncPlayerChatEvent", event => {
    if(event.getMessage() === "Drupi"){
        event.setCancelled(true);
        isCool(event.getPlayer());
    }
});

Important Note: the call to event.removeListener cannot directly exist inside of your event.addListener callback, it will NOT work!

Supported events

All events in Spigot are supported, and can be listened to in this way. Here is a complete list of all events in Spigot 1.16.1. For other versions, please refer to the Spigot javadocs or similar.

AreaEffectCloudApplyEvent
AsyncPlayerChatEvent
AsyncPlayerPreLoginEvent
BatToggleSleepEvent
BlockBreakEvent
BlockBurnEvent
BlockCanBuildEvent
BlockCookEvent
BlockDamageEvent
BlockDispenseArmorEvent
BlockDispenseEvent
BlockDropItemEvent
BlockExpEvent
BlockExplodeEvent
BlockFadeEvent
BlockFertilizeEvent
BlockFormEvent
BlockFromToEvent
BlockGrowEvent
BlockIgniteEvent
BlockMultiPlaceEvent
BlockPhysicsEvent
BlockPistonExtendEvent
BlockPistonRetractEvent
BlockPlaceEvent
BlockRedstoneEvent
BlockShearEntityEvent
BlockSpreadEvent
BrewEvent
BrewingStandFuelEvent
BroadcastMessageEvent
CauldronLevelChangeEvent
ChunkLoadEvent
ChunkPopulateEvent
ChunkUnloadEvent
CraftItemEvent
CreatureSpawnEvent
CreeperPowerEvent
EnchantItemEvent
EnderDragonChangePhaseEvent
EntityAirChangeEvent
EntityBlockFormEvent
EntityBreakDoorEvent
EntityBreedEvent
EntityChangeBlockEvent
EntityCombustByBlockEvent
EntityCombustByEntityEvent
EntityCombustEvent
EntityDamageByBlockEvent
EntityDamageByEntityEvent
EntityDamageEvent
EntityDeathEvent
EntityDropItemEvent
EntityExplodeEvent
EntityInteractEvent
EntityPickupItemEvent
EntityPortalEnterEvent
EntityPortalEvent
EntityPortalExitEvent
EntityPoseChangeEvent
EntityPotionEffectEvent
EntityRegainHealthEvent
EntityResurrectEvent
EntityShootBowEvent
EntitySpawnEvent
EntityTameEvent
EntityTargetEvent
EntityTargetLivingEntityEvent
EntityTeleportEvent
EntityToggleGlideEvent
EntityToggleSwimEvent
EntityTransformEvent
EntityUnleashEvent
ExpBottleEvent
ExplosionPrimeEvent
FireworkExplodeEvent
FluidLevelChangeEvent
FoodLevelChangeEvent
FurnaceBurnEvent
FurnaceExtractEvent
FurnaceSmeltEvent
HangingBreakByEntityEvent
HangingBreakEvent
HangingPlaceEvent
HorseJumpEvent
InventoryClickEvent
InventoryCloseEvent
InventoryCreativeEvent
InventoryDragEvent
InventoryInteractEvent
InventoryMoveItemEvent
InventoryOpenEvent
InventoryPickupItemEvent
ItemDespawnEvent
ItemMergeEvent
ItemSpawnEvent
LeavesDecayEvent
LightningStrikeEvent
LingeringPotionSplashEvent
MapInitializeEvent
MoistureChangeEvent
NotePlayEvent
PigZapEvent
PigZombieAngerEvent
PlayerAdvancementDoneEvent
PlayerAnimationEvent
PlayerArmorStandManipulateEvent
PlayerBedEnterEvent
PlayerBedLeaveEvent
PlayerBucketEmptyEvent
PlayerBucketFillEvent
PlayerChangedMainHandEvent
PlayerChangedWorldEvent
PlayerCommandPreprocessEvent
PlayerCommandSendEvent
PlayerDeathEvent
PlayerDropItemEvent
PlayerEditBookEvent
PlayerEggThrowEvent
PlayerExpChangeEvent
PlayerFishEvent
PlayerGameModeChangeEvent
PlayerInteractAtEntityEvent
PlayerInteractEvent
PlayerItemBreakEvent
PlayerItemConsumeEvent
PlayerItemDamageEvent
PlayerItemHeldEvent
PlayerItemMendEvent
PlayerJoinEvent
PlayerKickEvent
PlayerLeashEntityEvent
PlayerLevelChangeEvent
PlayerLocaleChangeEvent
PlayerLoginEvent
PlayerMoveEvent
PlayerPickupArrowEvent
PlayerPortalEvent
PlayerQuitEvent
PlayerRecipeDiscoverEvent
PlayerRegisterChannelEvent
PlayerResourcePackStatusEvent
PlayerRespawnEvent
PlayerRiptideEvent
PlayerShearEntityEvent
PlayerStatisticIncrementEvent
PlayerSwapHandItemsEvent
PlayerTakeLecternBookEvent
PlayerTeleportEvent
PlayerToggleFlightEvent
PlayerToggleSneakEvent
PlayerToggleSprintEvent
PlayerUnleashEntityEvent
PlayerUnregisterChannelEvent
PlayerVelocityEvent
PluginDisableEvent
PluginEnableEvent
PortalCreateEvent
PotionSplashEvent
PrepareAnvilEvent
PrepareItemCraftEvent
PrepareItemEnchantEvent
ProjectileHitEvent
ProjectileLaunchEvent
RaidFinishEvent
RaidSpawnWaveEvent
RaidStopEvent
RaidTriggerEvent
RemoteServerCommandEvent
ServerCommandEvent
ServerListPingEvent
ServerLoadEvent
ServiceRegisterEvent
ServiceUnregisterEvent
SheepDyeWoolEvent
SheepRegrowWoolEvent
SignChangeEvent
SlimeSplitEvent
SpawnChangeEvent
SpongeAbsorbEvent
StructureGrowEvent
TabCompleteEvent
ThunderChangeEvent
TradeSelectEvent
VehicleBlockCollisionEvent
VehicleCreateEvent
VehicleDamageEvent
VehicleDestroyEvent
VehicleEnterEvent
VehicleEntityCollisionEvent
VehicleExitEvent
VehicleMoveEvent
VehicleUpdateEvent
VillagerAcquireTradeEvent
VillagerCareerChangeEvent
VillagerReplenishTradeEvent
WeatherChangeEvent
WorldInitEvent
WorldLoadEvent
WorldSaveEvent
WorldUnloadEvent

Last updated