LogoyStore

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.yml

Exemplo 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: 2023

O 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: 02

Use sempre dois dígitos para o mês: 01 para janeiro, 02 para fevereiro, etc.

Configuração do menu

Define o título do menu exibido no topo.

Exemplo:

menu:
  name: '&8Recompensas FEV/2023'

Define o tamanho do menu (deve ser múltiplo de 9, máximo 54).

Exemplo:

menu:
  size: 27

Valores válidos: 9, 18, 27, 36, 45, 54

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).

Define o slot onde o botão de página anterior será exibido.

Exemplo:

menu:
  previous-slot: 10

Define o slot onde o botão de próxima página será exibido.

Exemplo:

menu:
  next-slot: 16

Configuraçã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: 01

day

Define o dia do mês desta recompensa (1-31).

Exemplo:

rewards:
  reward01:
    day: 01

O 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: false

Esta 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: 60

Esta 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: 64

lore

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: true

item.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: 64

item.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: false

command.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.

Nesta página