SPluginsSPlugins

Esta página foi traduzida do inglês com ajuda de IA. Melhore esta tradução ou leia o original.

🔘 Custom Triggers

Custom Triggers são uma forma poderosa de armazenar e executar listas de comandos, seja manualmente através de comandos, seja automaticamente via um sistema de agendamento.

Visão Geral

Custom Triggers permitem que você:

  • ✅ Armazene sequências de comandos reutilizáveis
  • ✅ Execute comandos manualmente com um comando de trigger simples
  • ✅ Agende execução automática em horários específicos
  • ✅ Passe argumentos para personalizar o comportamento
  • ✅ Organize configurações complexas de comandos

Início Rápido

Passo 1: Crie o Ativador

  1. Abra o editor do seu plugin (/ei, /eb ou /ee)
  2. Crie um novo ativador
  3. Selecione CUSTOM_TRIGGER como a opção
  4. Adicione seus comandos na seção de comandos

Passo 2: Execute o Trigger

Use o comando apropriado para o seu plugin:

# ExecutableItems
/ei run-custom-trigger trigger:{activatorID}

# ExecutableBlocks
/eb run-custom-trigger trigger:{activatorID}

# ExecutableEvents
/ee run-custom-trigger trigger:{activatorID}

Contexto de Comandos por Plugin

Cada plugin fornece contextos diferentes para a execução de comandos:

🗡️ ExecutableItems

  • Requisito: O item deve estar no inventário do jogador
  • playerCommands disponíveis: Comandos de jogador
  • Placeholders: Placeholders baseados no jogador (%player%, etc.)

🧱 ExecutableBlocks

  • Requisito: O bloco deve estar colocado
  • playerCommands disponíveis: Comandos de bloco, comandos de dono (se habilitado)
  • Placeholders: Placeholders de bloco e de dono

🎯 ExecutableEvents

  • Requisito: Nenhum (dispara globalmente)
  • playerCommands disponíveis: Apenas comandos de console
  • Placeholders: Limitados (use argumentos para direcionar jogadores)

Tipos de Trigger

1. Callable Triggers

Executados apenas via comando:

activators:
  my_trigger:
    option: CUSTOM_TRIGGER
    playerCommands:
    - "say Hello World!"

2. Scheduled Triggers

Executados automaticamente em horários específicos:

activators:
  scheduled_trigger:
    option: CUSTOM_TRIGGER
    scheduleFeatures:
      when:
      - '%%%%:::%%:::%%:::22:::00:::XX'  # Daily at 22:00
    playerCommands:
    - "say It's 10 PM!"

Sintaxe de Comandos

ExecutableItems

/ei run-custom-trigger trigger:{activatorID} [player:{name}] [slot:{slot}] [args...]
ParâmetroDescriçãoObrigatório
triggerID do ativador✅ Sim
playerNome do jogador alvo❌ Não (atinge todos se omitido)
slotSlot do inventário (-1 para mainhand)❌ Não
args...Argumentos adicionais acessíveis via %arg0%, %arg1%, etc.❌ Não

Exemplos:

/ei run-custom-trigger trigger:daily_reward
/ei run-custom-trigger trigger:boost player:Steve slot:-1
/ei run-custom-trigger trigger:message player:Alex Hello World

ExecutableBlocks

/eb run-custom-trigger trigger:{activatorID} [block:{location}] [args...]
ParâmetroDescriçãoObrigatório
triggerID do ativador✅ Sim
blockLocalização do bloco (world,x,y,z)❌ Não (atinge todos se omitido)
args...Argumentos adicionais❌ Não

Exemplos:

/eb run-custom-trigger trigger:harvest_all
/eb run-custom-trigger trigger:activate block:world,100,64,200

ExecutableEvents

/ee run-custom-trigger trigger:{activatorID} [args...]
ParâmetroDescriçãoObrigatório
triggerID do ativador✅ Sim
args...Argumentos adicionais❌ Não

Exemplos:

/ee run-custom-trigger trigger:server_event
/ee run-custom-trigger trigger:player_reward Steve

Sistema de Agendamento

Formato do Agendamento

O sistema de agendamento usa dois formatos para a temporização:

Formato 1: Baseado em Data/Hora

{YEAR}:::{MONTH}:::{DAY}:::{HOUR}:::{MIN}:::{SEC}
  • Use %%%% para qualquer ano
  • Use %% para qualquer mês/dia/hora/minuto
  • Use XX para qualquer segundo
  • Use [value1,value2] para múltiplos valores

Formato 2: Baseado em Semana

{YEAR}:!:{WEEK}:!:{DAYSTRING}:!:{HOUR}:!:{MIN}:!:{SEC}
  • DAYSTRING pode ser: MONDAY, TUESDAY, etc.

Exemplos Comuns de Agendamento

scheduleFeatures:
  when:
  # Every minute
  - '%%%%:::%%:::%%:::%%:::%%:::XX'

  # Every day at 22:00
  - '%%%%:::%%:::%%:::22:::00:::XX'

  # Every Monday at 14:00
  - '%%%%:!:%%:!:MONDAY:!:14:!:00:!:XX'

  # December 24-26 at 16:00
  - '%%%%:::12:::[24,25,26]:::16:::00:::XX'

  # At 10, 14, and 18 hours daily
  - '%%%%:::%%:::%%:::[10,14,18]:::00:::XX'

Exemplos Práticos

Exemplo 1: Item de Recompensas Diárias

name: '&eDaily Reward Token'
material: GOLD_INGOT
activators:
  daily_reward:
    option: CUSTOM_TRIGGER
    scheduleFeatures:
      when:
      - '%%%%:::%%:::%%:::[10,14,18]:::00:::XX'
    playerCommands:
    - "money give %player% 500"
    - "SEND_MESSAGE &aYou received your daily reward!"

Exemplo 2: Trigger de Evento do Servidor

# In ExecutableEvents
activators:
  new_year_celebration:
    option: CUSTOM_TRIGGER
    scheduleFeatures:
      when:
      - '2025:::01:::01:::00:::00:::00'
    consoleCommands:
    - "broadcast &6&lHAPPY NEW YEAR 2025!"
    - "ei giveall firework_item 10"

Exemplo 3: Sistema de Colheita de Bloco

# In ExecutableBlocks
activators:
  harvest_crops:
    option: CUSTOM_TRIGGER
    playerCommands:
    - "DROPEXECUTABLEITEM wheat_item 5"
    - "score run-player-command player:%owner% SEND_MESSAGE &aHarvest complete!"

Exemplo 4: Comandos de Jogador a partir de Eventos

Como os ExecutableEvents não têm um contexto de jogador, use argumentos:

# ExecutableEvent
activators:
  player_boost:
    option: CUSTOM_TRIGGER
    consoleCommands:
    - "score run-player-command player:%arg0% EFFECT SPEED 2 60"

Execute com: /ee run-custom-trigger trigger:player_boost Steve

Boas Práticas

✅ FAÇA

  • Use IDs de ativador únicos para evitar conflitos
  • Teste os triggers manualmente antes de agendá-los
  • Use argumentos para triggers flexíveis e reutilizáveis
  • Organize sequências complexas de comandos em triggers

❌ NÃO FAÇA

  • Usar IDs de ativador duplicados (todos serão disparados simultaneamente)
  • Esquecer de verificar os contextos do plugin (comandos de jogador/bloco/console)
  • Complicar demais configurações simples que não precisam de triggers

Solução de Problemas

O Trigger Não Está Executando

  • ✅ Verifique se o ID do ativador corresponde exatamente
  • ✅ Confira se o item/bloco/evento existe e está configurado corretamente
  • ✅ Garanta as permissões corretas para a execução de comandos

O Agendamento Não Está Funcionando

  • ✅ Confira a sintaxe do formato de agendamento
  • ✅ Verifique se o horário do servidor corresponde ao agendamento esperado
  • ✅ Garanta que o intervalo de startDate/endDate inclua o horário atual

Os Comandos Não Estão Executando

  • ✅ Verifique o contexto do comando (jogador/bloco/console)
  • ✅ Confira a disponibilidade de placeholders no contexto
  • ✅ Teste os comandos manualmente primeiro

Dicas Avançadas

Encadeando Triggers

Crie sequências complexas fazendo com que triggers chamem outros triggers:

trigger_1:
  option: CUSTOM_TRIGGER
  playerCommands:
  - "ei run-custom-trigger trigger:trigger_2"
  - "ei run-custom-trigger trigger:trigger_3"

Eventos Globais

Combine triggers de ExecutableEvents com triggers de outros plugins para eventos em todo o servidor:

# Step 1: EE trigger broadcasts and activates items/blocks
server_event:
  option: CUSTOM_TRIGGER
  consoleCommands:
  - "broadcast &cSERVER EVENT STARTING!"
  - "ei run-custom-trigger trigger:event_items"
  - "eb run-custom-trigger trigger:event_blocks"

Experimente agora

Copie isto no ExecutableItems e recarregue

Retirado desta página. Cole em uma config, execute o comando de reload do plugin e você terá um ponto de partida funcional para editar.

# ExecutableItems
/ei run-custom-trigger trigger:{activatorID}

# ExecutableBlocks
/eb run-custom-trigger trigger:{activatorID}

# ExecutableEvents
/ee run-custom-trigger trigger:{activatorID}
E

Plugin usado nesta página

ExecutableItems

Itens personalizados com habilidades, ativadores e comandos, sem código.

Criado em 3 de out. de 2026Última atualização em 3 de out. de 2026 por Ssomar
Editar esta página no GitHub