Comandos

Criar comandos customizados para o servidor

Sintaxe Básica

command /NOME:
    trigger:
        # código aqui

Propriedades

PropriedadeDescriçãoExemplo
aliasesNomes alternativosaliases: /h, /cure
descriptionDescrição do comandodescription: Heal yourself
permissionPermissão necessáriapermission: server.heal
permission messageMensagem sem permissãopermission message: &cNo permission!
usageDica de usousage: /heal [player]
cooldownTempo entre usoscooldown: 30 seconds
cooldown messageMensagem de cooldowncooldown message: Wait %remaining time%!
cooldown bypassPermissão para bypasscooldown bypass: admin.bypass
executable byQuem pode executarexecutable by: players

Exemplo Completo

comando-heal.lzl
command /heal:
    aliases: /h, /cure
    description: Heal yourself
    permission: server.heal
    permission message: "&cYou don't have permission!"
    cooldown: 30 seconds
    cooldown message: "&cWait %remaining time%!"
    executable by: players
    trigger:
        heal player
        send "&aHealed!" to player

Argumentos

Use <argumento> para argumentos obrigatórios e [argumento] para opcionais:

Argumento de Texto
command /say <text>:
    trigger:
        broadcast "%arg-1%"
Argumento de Player
command /heal <player>:
    trigger:
        set {_target} to arg-1 parsed as player
        if {_target} is online:
            heal {_target}
            send "&aHealed %{_target}%!" to player
Argumento de Número
command /give <number>:
    trigger:
        set {_amount} to arg-1
        give {_amount} diamond to player
Argumento Opcional
command /balance [<player>]:
    trigger:
        if arg-1 is not set:
            send "Your balance: %player's balance%" to player
        else:
            set {_target} to arg-1 parsed as player
            send "Balance: %{_target}'s balance%" to player
Múltiplos Argumentos
command /pay <player> <number>:
    trigger:
        set {_target} to arg-1 parsed as player
        set {_amount} to arg-2
        
        if player's balance < {_amount}:
            send "&cInsufficient funds!" to player
            stop
            
        remove {_amount} from player's balance
        add {_amount} to {_target}'s balance
        send "&aSent %{_amount}% to %{_target}%!" to player

Subcomandos

Crie comandos com subcomandos usando espaços no nome:

command /kit starter:
    permission: kit.starter
    cooldown: 1 day
    trigger:
        give 1 iron_sword to player
        give 32 bread to player
        send "&aKit received!" to player

command /kit vip:
    permission: kit.vip
    cooldown: 12 hours
    trigger:
        give 1 diamond_sword to player
        send "&6VIP kit received!" to player

Executable By

Controle quem pode executar o comando:

ValorDescrição
playersApenas jogadores
consoleApenas console
everyoneJogadores e console (padrão)
command /stop:
    permission: server.stop
    executable by: console
    trigger:
        broadcast "&cServer stopping..."
        execute console command "stop"

command /fly:
    permission: player.fly
    executable by: players
    trigger:
        toggle fly for player

Dica de Performance

Use cooldowns para evitar spam de comandos. Cooldowns são armazenados por player e persistem entre restarts.