Eventos
Configure os eventos do plugin.
Estrutura de arquivos de eventos
Os eventos são configurados em arquivos YAML separados dentro da pasta events/. Os eventos estão organizados em subpastas por categoria:
- chat/ - Eventos de chat (fastclick, first, jackpot, lottery, math, phrase, quiz, unscramble)
- in-person/ - Eventos presenciais (dropper, fight, maze, paintball, parkour, race, restone, spleef, splegg, sumo)
- other/ - Outros eventos (fastcraft, voting)
- custom/ - Eventos personalizados
- deluxe/ - Eventos deluxe (dwarfandgiant, frog, hideandseek, hotpotato, minefield, onechamber, trafficlights)
- teams/ - Eventos em equipes (balanced-spleef, team-pvp)
- tntgames/ - Eventos TNT Games (bowspleef, tntrun)
Exemplo completo de configuração
Aqui está um exemplo de configuração de um evento (FastClick):
yplugins-id: 'yeventos-fastclick'
# Utilize "comando|comando" para criar aliases.
command: 'fastclick'
# Não altere.
type: 'FASTCLICK'
# Nome do evento
display: 'FastClick'
discord:
# Webhook ao startar o evento
# enviar o embed em um chat
start-webhook:
enable: true
chat-embed: ''
# Webhook ao trancar a iniciar o evento
initialize-webhook:
enable: true
chat-embed: 'parkour_initialize'
# Webhook ao ganhar o evento
win-webhook:
enable: true
chat-embed: 'parkour_win'
# Integração com o yLeague
yleague:
points: 1.0
embed-title: 'Ganhou o Fast-Click'
# Itens nos menus
displays:
order: 20
appear-top: true
# Aparecer no menu de eventos
appear-events: true
events:
material: 'NAME_TAG'
name: '&eFast Click'
lore:
- ' &8▶ &fHorários:'
- ' &fA configurar.'
- ''
- ' &8▶ &fVitórias: &7{wins}'
- ''
- '&7 Preço para ativar: &a{money} coins.'
- ''
- '&aClique para comprar a ativação do evento.'
# Sistema de comprar o evento
buy:
enabled: true
permission: ''
delay: 600
economies-prices:
cost1:
provider: 'money'
amount: 100.0
# Anúncios até ganhar o evento
announces:
amount: 2
time-between: 10
# Público dos anúncios: SERVER ou PARTICIPANTS
target: 'SERVER'
# Opções gerais
general:
tag: '&e[FastClick]'
# Custos para ingressar ao evento
costs:
online-time: 60
economies-prices:
cost1:
provider: 'money'
amount: 100.0
# Mensagens diretas ao jogador
messages:
permission: '&cVocê não tem permissão para fazer isto.'
not-active: '&cO fast-click não está ativo.'
cant-start: '&cUm fast-click já está ocorrendo.'
cant-stop: '&cNenhum fast-click ocorrendo.'
started: '&aFast-click iniciado.'
stopped: '&aFast-click parado.'
# Anúncios do plugin
messages-announces:
win: |
&eFast-click
&fO jogador &e{player}&f clicou primeiro.
cancelled: |
&eFast-click
&cO evento foi cancelado por um admin.
no-winners: |
&eFast-click
&cO tempo se esgotou.
actionbar-entered: '&e{player} participou do Evento Fast-Click.'
# anúncios do fast-click
clicks:
f1: |
&8> &e&lEvento fast-click.
&8> &e&lO primeiro a clicar no &a&l[X] &e&lganha.
&7&l [X] &7&l[X] &7&l[X] &a&l<click:run_command:/fastclick {id}>[X]</click> &7&l[X] &7&l[X] &7&l[X]
&7&l [X] &7&l[X] &7&l[X] &7&l[X] &7&l[X] &7&l[X] &7&l[X]
&7&l [X] &7&l[X] &7&l[X] &7&l[X] &7&l[X] &7&l[X] &7&l[X]
f2: |
&8> &e&lEvento fast-click.
&8> &e&lO primeiro a clicar no &a&l[X] &e&lganha.
&7&l [X] &a&l<click:run_command:/fastclick {id}>[X]</click> &7&l[X] &7&l[X] &7&l[X] &7&l[X] &7&l[X]
&7&l [X] &7&l[X] &7&l[X] &7&l[X] &7&l[X] &7&l[X] &7&l[X]
&7&l [X] &7&l[X] &7&l[X] &7&l[X] &7&l[X] &7&l[X] &7&l[X]
<Callout type="info" emoji="ℹ️">
O FastClick possui 21 variações (f1 até f21) que alternam a posição do `[X]` clicável entre os 21 espaços disponíveis. Cada variação apresenta o `[X]` em uma posição diferente, tornando o evento mais desafiador e imparcial.
</Callout>
### announces.target
Define quem receberá os anúncios do evento.
```yaml
announces:
target: 'SERVER'Valores disponíveis:
SERVER: envia os anúncios para todo o servidor.PARTICIPANTS: envia os anúncios apenas para os participantes do evento.
As variações funcionam assim:
- f1: [X] no 1º espaço (canto superior esquerdo)
- f2: [X] no 2º espaço
- f3: [X] no 3º espaço
- ... (e assim por diante)
- f21: [X] no 21º espaço (canto inferior direito)
Quanto mais variações você configurar, mais aleatório será o evento. Recomenda-se configurar todas as 21 variações para máxima diversidade.
Não configure manualmente todas as 21 variações. Use o arquivo de configuração padrão do plugin que já vem com todas pré-configuradas.
# Recompensas configuradas na rewards.yml
rewards:
- '100.0,reward1'Configurações comuns a todos os eventos
yplugins-id
Identificador único do evento no sistema yPlugins.
Exemplo:
yplugins-id: 'yeventos-parkour'command
Comando e aliases do evento separados por |.
Exemplo:
command: 'parkour|parcour'type
Tipo do evento. Não deve ser alterado.
Tipos disponíveis:
- FASTCLICK
- FIRST
- JACKPOT (BOLAO)
- LOTTERY (LOTERIA)
- MATH (MATEMATICA)
- PHRASE (PALAVRA)
- QUIZ
- UNSCRAMBLE (DESEMBARALHE)
- PARKOUR
- RACE (CORRIDA)
- MAZE (LABIRINTO)
- DROPPER
- FIGHT
- PAINTBALL
- SPLEEF
- SPLEGG
- SUMO
- RESTONE (RESTAUM)
- FASTCRAFT
- VOTING (VOTAÇÃO)
display
Nome de exibição do evento.
Exemplo:
display: 'Parkour'max-time
Tempo máximo do evento em segundos (apenas para eventos presenciais).
Exemplo:
max-time: 600scoreboard
Scoreboard exibida aos participantes durante o evento. Disponível nos YAMLs de eventos presenciais, deluxe, teams, tntgames e custom.
# Scoreboard do evento
scoreboard:
enabled: true
title: '&6&l>> &e&lSumo &6&l<<'- enabled: Ativa ou desativa a scoreboard do evento.
- title: Título da scoreboard (suporta
&cores).
discord
Configurações de integração com Discord.
Exemplo:
discord:
# Webhook ao startar o evento
# enviar o embed em um chat
start-webhook:
enable: true
chat-embed: ''
# Webhook ao trancar a iniciar o evento
initialize-webhook:
enable: true
chat-embed: 'parkour_initialize'
# Webhook ao ganhar o evento
win-webhook:
enable: true
chat-embed: 'parkour_win'yleague
Configurações de integração com yLeague.
Exemplo:
yleague:
points: 1.0
embed-title: 'Ganhou o Parkour'displays
Configurações de exibição nos menus.
Exemplo:
displays:
order: 11
appear-top: true
appear-events: true
events:
material: 'SLIME_BALL'
name: '&eParkour'
lore:
- ' &8▶ &fVitórias: &7{wins}'
voting:
material: 'SLIME_BALL'
name: '&eParkour'
lore:
- ' &8▶ &fVotos: &7{votes}'
voted:
material: 'SLIME_BALL'
name: '&eParkour'
glow: true
lore:
- ' &8▶ &fVotos: &7{votes}'appear-events
Controla se o evento aparece no menu de eventos, independentemente de aparecer ou não no TOP.
displays:
appear-top: true
appear-events: trueUse appear-events: false para manter o evento configurado e funcional, mas escondido da listagem do menu.
buy
Sistema de comprar a ativação do evento.
Exemplo:
buy:
enabled: true
permission: ''
delay: 600
economies-prices:
cost1:
provider: 'money'
amount: 100.0announces
Configurações de anúncios do evento.
Exemplo:
announces:
amount: 2
time-between: 10warm-up
Configurações de aquecimento (apenas para eventos presenciais).
Exemplo:
warm-up:
amount: 1
time-between: 10general
Opções gerais do evento.
Exemplo:
general:
tag: '&e[Parkour]'
minimum-players: 1
pvp: false
natural-damage: false
inv-empty: true
warmup-move: false
command-whitelist: [ '/g', '/.' ]
waiting-command-whitelist: []
effects: [ 'INVISIBILITY:1-999999' ]
block-effects: [ 'STONE:0,INVISIBILITY:1-100' ]
keep-exp: truewaiting-command-whitelist
Lista de comandos liberados apenas enquanto o jogador está na sala de espera do evento.
general:
# Lista de comandos que será possível executar apenas na sala de espera
waiting-command-whitelist: []Use essa lista para permitir comandos úteis antes do início, sem liberar os mesmos comandos durante a partida.
costs
Custos para participar do evento.
Exemplo:
costs:
online-time: 60
economies-prices:
cost1:
provider: 'money'
amount: 100.0Configurações específicas de eventos presenciais
winning
Sistema de ganhar o evento.
Exemplo:
winning:
enabled: true
void: false
rest-one: false
sign:
identify: 'parkour'
line1: '&3[Parkour]'
line2: '&aClique aqui'
line3: '&apara ganhar o'
line4: '&aevento.'
blocks: [ 'STONE_PLATE:0' ]checkpoint-set
Sistema de setar checkpoint.
Exemplo:
checkpoint-set:
enabled: true
sign:
identify: 'parkourtp'
line1: '&3[Parkour]'
line2: '&aClique aqui'
line3: '&apara setar seu'
line4: '&acheckpoint.'
blocks: [ 'WOOD_PLATE:0' ]checkpoint-teleport
Sistema de teleportar ao checkpoint.
Exemplo:
checkpoint-teleport:
enabled: true
void: true
sign:
identify: 'parkourset'
line1: '&3[Parkour]'
line2: '&aClique aqui'
line3: '&apara ir ao'
line4: '&acheckpoint.'
blocks: [ 'GOLD_PLATE:0', 'WATER:0' ]disqualify
Sistema de desqualificar do evento.
Exemplo:
disqualify:
void: false
blocks: [ 'LAVA:0', 'STATIONARY_LAVA:0' ]duels
Sistema de duelos (apenas para eventos PVP).
Exemplo:
duels:
enabled: true
time-between: 10armor-items
Itens de armadura do evento.
Exemplo:
armor-items:
block-remove: true
helmet:
material: 'LEATHER_HELMET'
glow: true
chestplate:
material: 'LEATHER_CHESTPLATE'
glow: true
leggings:
material: 'LEATHER_LEGGINGS'
glow: true
boots:
material: 'LEATHER_BOOTS'
glow: trueinventory-items
Itens do inventário do evento.
Exemplo:
inventory-items:
item1:
slot: 0
material: 'BLAZE_ROD'
nbt-tag: [ 'yEventos-CheckPoint=>sim' ]
name: '&eTeleportar ao CheckPoint'
item2:
slot: 2
material: 'STICK'
nbt-tag: [ 'yEventos-SetCheckPoint=>sim' ]
name: '&eDefinir CheckPoint'Mensagens dos eventos
messages
Mensagens diretas ao jogador.
Exemplo:
messages:
permission: '&cVocê não tem permissão para fazer isto.'
not-active: '&cO parkour não está ativo.'
cant-start: '&cUm parkour já está ocorrendo.'
cant-stop: '&cNenhum parkour ocorrendo.'
started: '&aParkour iniciado.'
stopped: '&aParkour parado.'
already: '&cVocê já está participando.'
enter: '&aVocê entrou no evento.'
exit: '&aVocê saiu do evento.'messages-announces
Anúncios do evento.
Exemplo:
messages-announces:
announce: |
&eParkour
&fEntre no evento &eparkour&f clicando &e<click:run_command:/parkour>AQUI</click>&f.
&fJogadores participando: &e{players_size}&f.
&fAnúncio &e{min} &fde &e{max} &7({time})&f.
win: |
&eParkour
&fO jogador &e{player}&f ganhou o parkour!
cancelled: |
&eParkour
&cO evento foi cancelado por um admin.
actionbar-entered: '&e{player} entrou ao Parkour.'Eventos específicos
Paintball
Evento de combate com bolas de neve onde o dano é customizável.
Configurações gerais do Paintball
general:
# Manter experiência ao morrer
keep-exp: true
# Dropar itens ao morrer
drop-on-death: false
# Dano da bola de neve
damage: 6Explicação dos parâmetros:
- keep-exp: Define se o jogador mantém a experiência ao morrer no evento.
- drop-on-death: Define se itens do jogador são dropados ao morrer.
- damage: Define o dano causado por cada acerto de bola de neve. Use valores decimais:
1.0= 0.5 corações (meio coração)2.0= 1 coração6.0= 3 corações (padrão)20.0= 10 corações (morte instantânea)
Exemplo de configuração completa de paintball:
type: 'PAINTBALL'
display: 'Paintball'
general:
keep-exp: true
drop-on-death: false
damage: 6
costs:
entry:
prices:
price1:
provider: 'money'
amount: 100.0
rewards:
- '100.0,paintball_winner'
- '50.0,paintball_second'Ajuste o valor de damage baseando-se na desafiabilidade que você quer. Valores maiores = evento mais rápido e letal.
Recompensas
Configure as recompensas que os jogadores receberão ao ganhar o evento.
Exemplo:
rewards:
- '100.0,reward1'
- '50.0,reward2'
- '25.0,reward3'O primeiro valor é a chance (em porcentagem) de dar a recompensa, e o segundo é o nome da recompensa configurada no rewards.yml.
Recompensas por participação
Disponível em eventos presenciais, deluxe, teams, tntgames e custom. Recompensa quem participa do início ao fim (eliminação conta; sair ou desconectar não).
# Recompensa por participação (opcional)
# Deixe a lista vazia ou remova para desativar
# chance,recompensa — só quem fica do início ao fim
# Vencedores NÃO recebem por padrão
participation-rewards-give-to-winners: false
participation-rewards: []
# - '100.0,reward2'- participation-rewards: Lista no formato
chance,recompensa(mesmas recompensas dorewards.yml). Lista vazia desativa. - participation-rewards-give-to-winners: Se
false(padrão), vencedores não recebem a recompensa de participação (já recebem as de vitória). Setrue, vencedores também recebem.
Use para incentivar quem joga até o fim, sem duplicar prêmio para quem já ganhou o evento.
Após alterar as configurações dos eventos, é necessário reiniciar o servidor ou usar /eventos reload para aplicar as mudanças.