Eventos

Reagir a ações e acontecimentos no jogo

Eventos são triggers que executam código quando algo acontece no jogo.

Sintaxe

on EVENTO:
    # código aqui

Eventos de Player

EventoDescriçãoVariáveis
on joinPlayer entra no servidorplayer
on first joinPrimeira vez que o player entraplayer
on quit / on leavePlayer sai do servidorplayer
on chatPlayer envia mensagemplayer, message
on deathPlayer morreplayer, attacker (se houver)
on respawnPlayer renasceplayer
on sneakPlayer agachaplayer
on sprintPlayer correplayer
on jumpPlayer pulaplayer
on flyModo de voo alteradoplayer
Exemplos de Player
on join:
    send "Welcome!" to player

on first join:
    send "First time here? Welcome!" to player
    give 16 bread to player

on chat:
    cancel event
    broadcast "&7[%player%] &f%message%"

on death:
    if attacker is set:
        send "Killed by %attacker%!" to player

Eventos de Combate

EventoDescriçãoVariáveis
on damageEntidade toma danovictim, attacker, damage
on damage of playerPlayer toma danovictim, attacker, damage
on pvpCombate PvPattacker, victim, damage
on killPlayer mata alguémattacker, victim
Exemplos de Combate
on damage:
    send "You took %damage% damage!" to victim

on pvp:
    send "You attacked %victim%!" to attacker
    send "%attacker% attacked you!" to victim

on kill:
    add 50 to attacker's balance

Eventos de Bloco

EventoDescriçãoVariáveis
on breakBloco quebradoplayer, block
on break of BLOCOBloco específico quebradoplayer, block
on placeBloco colocadoplayer, block
on place of BLOCOBloco específico colocadoplayer, block
Exemplos de Bloco
on break:
    send "You broke %block%!" to player

on break of diamond_ore:
    add 100 to player's balance
    send "&bDiamond bonus!" to player

on place of tnt:
    cancel event
    send "&cTNT is not allowed!" to player

Eventos de Interação

EventoDescriçãoVariáveis
on interactInteração com blocoplayer, block, item
on right clickClique direitoplayer, item
on left clickClique esquerdoplayer, item
Exemplos de Interação
on interact:
    send "You interacted with %block%!" to player

on right click:
    if player is holding diamond_sword:
        send "Nice sword!" to player

Eventos Periódicos

Execute código em intervalos regulares:

every 5 seconds:
    broadcast "Server reminder!"

every 1 minute:
    loop all players:
        add 1 to {playtime::%loop-player's uuid%}

Evento de Carregamento

Executado quando o script é carregado:

on load:
    broadcast "Script loaded!"
    set {server_start} to now

Cancelando Eventos

Use cancel event para impedir a ação padrão:

on chat:
    cancel event  # Cancela a mensagem original
    broadcast "&7[%player%] %message%"  # Envia formatada

on place of bedrock:
    if player doesn't have permission "admin":
        cancel event
        send "&cYou can't place bedrock!" to player

Dica

Nem todos os eventos podem ser cancelados. Eventos como on join e on quitsão informativos e não podem ser cancelados.