Listen for Minecraft events by opening an on <EventName>: block at the top level of any script.
on PlayerJoin:
send "&aWelcome, player.name!" to player
on BlockBreak:
set global $blocks_broken = $blocks_broken + 1
send "&7Total blocks broken: $blocks_broken" to player
Player events
Event
Fires when…
PlayerJoin
A player connects
PlayerQuit
A player disconnects
PlayerDeath
A player dies
PlayerRespawn
A player respawns
PlayerMove
A player moves (fires very frequently)
PlayerChat
A player sends a chat message
PlayerCommand
A player runs any command
PlayerLevelChange
A player's XP level changes
PlayerSneak
A player toggles sneak
PlayerSprint
A player toggles sprint
PlayerToggleFlight
A player toggles flight
Block events
Event
Fires when…
BlockBreak
A player breaks a block
BlockPlace
A player places a block
Entity events
Event
Fires when…
EntityDamage
Any entity takes damage
EntityDeath
Any entity dies
EntitySpawn
Any entity spawns
ProjectileHit
A projectile lands
World & inventory events
Event
Fires when…
WeatherChange
Weather changes in any world
InventoryClick
A player clicks inside an inventory
ItemPickup
A player picks up an item
Note:PlayerMove and EntityDamage fire extremely frequently. Keep their bodies short and avoid heavy logic.