Passes
Configure os calendários de recompensas mensais.
Os passes (calendários de recompensas) são o coração do plugin. Cada arquivo na pasta passes/ representa um calendário mensal com recompensas diárias.
Após alterar a configuração, é necessário reiniciar o servidor.
Estrutura de arquivos
Os calendários são salvos na pasta passes/ dentro da pasta do plugin:
plugins/yPassRewards/passes/
├── 2023_fev.yml
├── 2023_mar.yml
└── 2024_jan.ymlExemplo completo de configuração
Aqui está um exemplo completo de como configurar um calendário de recompensas:
year: 2023
month: 02
menu:
name: '&8Recompensas FEV/2023'
size: 27
slots: [11, 12, 13, 14, 15]
previous-slot: 10
next-slot: 16
rewards:
reward01:
order: 01
day: 01
# Apenas com o yDiscordHook
discord-hook-linked: false
# Tempo mínimo do yTempoOnline
# em segundos
time-minimum: 60
# Permissão para coletar sem precisar aguardar o tempo
# Deixe '' (vazio) para não usar essa opção
permission-bypass: ''
# Item que aparecerá no preview.
previews:
already:
material: 'IRON_INGOT'
name: '&eRecompensa dia 01'
amount: 64
lore: [ '&cVocê já coletou esta recompensa.' ]
enchants: []
wait:
material: 'IRON_INGOT'
name: '&eRecompensa dia 01'
amount: 64
lore: [ '&7Esta é a recompensa do dia 01', '&7de fevereiro.', '', '&a>&f 64x Barra de Ferro', '', '&cAguarde para coletar.' ]
enchants: []
cant:
material: 'IRON_INGOT'
name: '&eRecompensa dia 01'
amount: 64
lore: [ '&7Esta é a recompensa do dia 01', '&7de fevereiro.', '', '&a>&f 64x Barra de Ferro', '', '&cO dia para coletar já passou.' ]
enchants: []
collect:
material: 'IRON_INGOT'
name: '&eRecompensa dia 01'
amount: 64
lore: [ '&7Esta é a recompensa do dia 01', '&7de fevereiro.', '', '&a>&f 64x Barra de Ferro', '', '&aClique para coletar' ]
enchants: []
# Item que será dado ao player
item:
give: true
material: 'IRON_INGOT'
name: ''
amount: 64
lore: []
enchants: []
# Comandos que será dado ao player
command:
give: false
list: [ 'give {player} stone 1' ]
# Mensagens da recompensa
messages:
chat: '&aRecompensa do dia 01 coletada com sucesso.'
actionbar: '&aRecompensa do dia 01 coletada com sucesso.'
title: ''Configuração do calendário
year
Define o ano do calendário de recompensas.
Exemplo:
year: 2023O sistema verifica automaticamente a data da máquina para validar se o calendário está disponível.
month
Define o mês do calendário de recompensas (01-12).
Exemplo:
month: 02Use sempre dois dígitos para o mês: 01 para janeiro, 02 para fevereiro, etc.
Configuração do menu
menu.name
Define o título do menu exibido no topo.
Exemplo:
menu:
name: '&8Recompensas FEV/2023'menu.size
Define o tamanho do menu (deve ser múltiplo de 9, máximo 54).
Exemplo:
menu:
size: 27Valores válidos: 9, 18, 27, 36, 45, 54
menu.slots
Define os slots onde as recompensas diárias serão exibidas.
Exemplo:
menu:
slots: [11, 12, 13, 14, 15]Os slots começam em 0 (canto superior esquerdo) e vão até 53 (canto inferior direito em um menu de tamanho 54).
menu.previous-slot
Define o slot onde o botão de página anterior será exibido.
Exemplo:
menu:
previous-slot: 10menu.next-slot
Define o slot onde o botão de próxima página será exibido.
Exemplo:
menu:
next-slot: 16Configuração de recompensas
Cada recompensa é configurada individualmente dentro da seção rewards.
order
Define a ordem de exibição da recompensa no menu.
Exemplo:
rewards:
reward01:
order: 01day
Define o dia do mês desta recompensa (1-31).
Exemplo:
rewards:
reward01:
day: 01O sistema impede que jogadores coletem recompensas após o dia ter passado.
discord-hook-linked
Define se o jogador precisa estar vinculado ao Discord para coletar a recompensa.
Exemplo:
rewards:
reward01:
discord-hook-linked: falseEsta funcionalidade requer o plugin yDiscordHook instalado.
time-minimum
Define o tempo mínimo online (em segundos) necessário para coletar a recompensa.
Exemplo:
rewards:
reward01:
time-minimum: 60Esta funcionalidade requer o plugin yTempoOnline instalado. 60 segundos = 1 minuto.
permission-bypass
Define uma permissão que permite ao jogador coletar a recompensa sem aguardar o tempo mínimo.
Exemplo:
rewards:
reward01:
permission-bypass: 'ypassrewards.bypass.vip'Deixe vazio ('') para não usar esta opção.
Previews da recompensa
O plugin possui 4 estados diferentes para cada recompensa, cada um com sua própria aparência no menu:
already
Exibido quando o jogador já coletou a recompensa.
Exemplo:
previews:
already:
material: 'IRON_INGOT'
name: '&eRecompensa dia 01'
amount: 64
lore: [ '&cVocê já coletou esta recompensa.' ]
enchants: []wait
Exibido quando ainda não é o dia da recompensa (aguardando).
Exemplo:
previews:
wait:
material: 'IRON_INGOT'
name: '&eRecompensa dia 01'
amount: 64
lore: [ '&7Esta é a recompensa do dia 01', '&7de fevereiro.', '', '&a>&f 64x Barra de Ferro', '', '&cAguarde para coletar.' ]
enchants: []cant
Exibido quando o dia da recompensa já passou e não pode mais ser coletada.
Exemplo:
previews:
cant:
material: 'IRON_INGOT'
name: '&eRecompensa dia 01'
amount: 64
lore: [ '&7Esta é a recompensa do dia 01', '&7de fevereiro.', '', '&a>&f 64x Barra de Ferro', '', '&cO dia para coletar já passou.' ]
enchants: []collect
Exibido quando a recompensa está disponível para coleta.
Exemplo:
previews:
collect:
material: 'IRON_INGOT'
name: '&eRecompensa dia 01'
amount: 64
lore: [ '&7Esta é a recompensa do dia 01', '&7de fevereiro.', '', '&a>&f 64x Barra de Ferro', '', '&aClique para coletar' ]
enchants: []Opções dos previews
material
Define o material do item exibido no menu.
material: 'IRON_INGOT'name
Define o nome do item.
name: '&eRecompensa dia 01'amount
Define a quantidade do item exibida.
amount: 64lore
Define a descrição do item (múltiplas linhas).
lore: [ '&7Linha 1', '&7Linha 2', '', '&aLinha 3' ]enchants
Define os encantamentos do item para efeito visual.
enchants: []Para adicionar encantamentos, use o formato: ['ENCHANTMENT:LEVEL'], por exemplo: ['DURABILITY:1']
Item da recompensa
Configure o item que será entregue ao jogador ao coletar a recompensa.
item.give
Define se um item físico será dado ao jogador.
Exemplo:
item:
give: trueitem.material
Define o material do item que será dado.
Exemplo:
item:
material: 'IRON_INGOT'item.name
Define o nome customizado do item que será dado.
Exemplo:
item:
name: '&aBarra de Ferro Especial'Deixe vazio ('') para usar o nome padrão do item.
item.amount
Define a quantidade do item que será dado.
Exemplo:
item:
amount: 64item.lore
Define a descrição customizada do item que será dado.
Exemplo:
item:
lore: ['&7Linha 1', '&7Linha 2']item.enchants
Define os encantamentos do item que será dado.
Exemplo:
item:
enchants: ['DURABILITY:3', 'MENDING:1']Comandos da recompensa
Configure comandos que serão executados ao coletar a recompensa.
command.give
Define se comandos serão executados ao coletar.
Exemplo:
command:
give: falsecommand.list
Define a lista de comandos que serão executados.
Exemplo:
command:
list:
- 'give {player} stone 1'
- 'eco give {player} 1000'Placeholder disponível: {player} - Nome do jogador que coletou a recompensa
Mensagens da recompensa
Configure as mensagens exibidas ao coletar a recompensa.
messages.chat
Mensagem enviada no chat do jogador.
Exemplo:
messages:
chat: '&aRecompensa do dia 01 coletada com sucesso.'messages.actionbar
Mensagem exibida na barra de ação (acima da hotbar).
Exemplo:
messages:
actionbar: '&aRecompensa do dia 01 coletada com sucesso.'messages.title
Mensagem exibida como título na tela do jogador.
Exemplo:
messages:
title: '&a&lRECOMPENSA<nl>&7Coletada!'Use <nl> para quebrar linha em títulos. Deixe vazio ('') para não exibir título.
Criando um novo calendário
Crie o arquivo
Crie um novo arquivo na pasta passes/ com o formato ANO_MES.yml (ex: 2024_jan.yml).
Configure ano e mês
Defina o year e month correspondentes ao calendário.
Configure o menu
Defina o título, tamanho e slots do menu.
Adicione as recompensas
Crie as recompensas diárias seguindo a estrutura apresentada.
Personalize os previews
Configure os 4 estados de cada recompensa (already, wait, cant, collect).
Configure itens e comandos
Defina o que será dado ao jogador ao coletar cada recompensa.
Reinicie o servidor
Reinicie o servidor para carregar o novo calendário.
Certifique-se de que o ano e mês estejam corretos, pois o sistema usa a data da máquina para validação.