Configuração
Conheça as várias opções de configuração.
O plugin deve funcionar sem necessidade de configuração adicional, mas se você precisar alterar o comportamento do plugin, você está no lugar certo.
Após alterar a configuração, é necessário reiniciar o servidor.
Estrutura de arquivos
Abaixo está um exemplo de como é a estrutura de arquivos do plugin. Clique em uma pasta para expandi-la.
Configuração do plugin (config.yml)
O arquivo config.yml é o coração do plugin, onde você controla desde a persistência dos dados até os comandos que serão interceptados. Abaixo estão todas as opções disponíveis com explicações detalhadas.
debug-mode
Ativa ou desativa o modo de depuração. Quando ativado, o plugin registrará informações detalhadas no console para ajudar a identificar problemas.
# Determina o funcionamento da depuração. Valores válidos: [false, true]
debug-mode: falseMantenha desativado em produção, pois pode gerar muitos logs e afetar a performance.
database
Define como e onde os dados das preferências dos jogadores serão armazenados. O plugin suporta três tipos de armazenamento:
- SQLITE: Armazena dados em um arquivo local (
plugins/yPreferencias/data.db). Ideal para servidores pequenos ou teste. - MYSQL: Conecta a um servidor MySQL externo. Recomendado para servidores médios.
- HIKARI: Usa pool de conexões para MySQL. Recomendado para servidores grandes por oferecer melhor performance em alta concorrência.
database:
# Determina o tipo de banco de dados. Valores válidos: [SQLITE, MYSQL, HIKARI (recomendado)]
storage-type: SQLITE
# Dados para conexão ao banco de dados MYSQL.
data:
# Endereço de conexão do banco de dados. [EX: 127.0.0.1]
host: localhost
# Porta de conexão do banco de dados. [EX: 3306]
port: 3306
# Nome do banco de dados a ser conectado. [EX: minecraft]
database: ''
# Usuário de conexão. [EX: root]
username: ''
# Senha do usuário de conexão: [EX: 123]
password: ''Se usar SQLITE, não precisa preencher os dados de conexão. O arquivo será criado automaticamente.
Recomendação de configuração por tamanho de servidor:
| Servidor | Recomendação | Motivo |
|---|---|---|
| Pequeno (até 50 players) | SQLITE | Simples, sem necessidade de configurar banco externo |
| Médio (50-200 players) | MYSQL | Performance consistente e dados centralizados |
| Grande (200+ players) | HIKARI | Pool de conexões otimizado para alta carga |
redis
Configurações do servidor Redis para sincronização multi-servidor. Necessário apenas se você possui uma rede BungeeCord/Velocity com múltiplos servidores de mineração ou lobby.
redis:
# Ativar a conexão com o redis
enabled: false
# Endereço de conexão. [EX: 127.0.0.1]
host: 'localhost'
# Porta de conexão. [EX: 6379]
port: 6379
# Usuário de conexão. [EX: root]
username: ''
# Senha do usuário de conexão: [EX: 123]
password: ''Quando usar Redis:
- Rede BungeeCord/Velocity com múltiplos servidores
- Sincronização em tempo real das preferências entre servidores
- Se um jogador desativar o chat global no servidor
minas, a mudança reflete imediatamente no servidorlobby
Quando NÃO usar Redis:
- Servidor único (sem proxy)
- Rede com apenas um servidor de gameplay
login-delay
Define o delay em ticks para carregar os dados do jogador após o login. Necessário para uso em servidores de mineração separados ou com proxy, onde os dados podem demorar para sincronizar.
# Delay para carregar os dados do jogador após o login.
# Necessário para uso em servidores de mineração separados.
# Recomendado: 20 ticks
login-delay: 2020 ticks = 1 segundo. Em servidores com alta latência ou muitos plugins, aumente para 40-60 ticks (2-3 segundos).
Exemplos de configuração:
# Servidor único — sem proxy
login-delay: 0
# Rede com proxy (recomendado)
login-delay: 20
# Rede com proxy e muitos plugins
login-delay: 40chat-global-nome e chat-local-nome
Definem os nomes dos canais global e local para integração com plugins de chat como LegendChat e nChat. O plugin usa estes nomes para identificar qual canal deve ser bloqueado quando o jogador desativa o chat global ou local.
# Nome do canal global (para integração com nChat / LegendChat)
chat-global-nome: 'global'
# Nome do canal local (para integração com nChat / LegendChat)
chat-local-nome: 'local'Os nomes devem corresponder exatamente aos canais configurados no seu plugin de chat. Se no LegendChat o canal global se chama "geral", altere para chat-global-nome: 'geral'.
comandos-tp
Lista de comandos de teleporte que serão interceptados. Quando o jogador desativa a preferência teleport, qualquer tentativa de usar estes comandos direcionados a ele será bloqueada com a mensagem disabled-teleport.
# Comandos de teleporte interceptados (deixe o espaço antes do nick)
comandos-tp:
- '/tpa '
- '/etpa '
- '/tpahere '
- '/etpahere 'Como funciona:
- Jogador A desativa a preferência
teleport - Jogador B tenta usar
/tpa JogadorA - O plugin intercepta, detecta que JogadorA desativou teleporte
- Jogador B recebe a mensagem:
"Este jogador desativou o recebimento de solicitações de teleporte."
O espaço no final de cada comando é importante — ele garante que apenas comandos com argumento sejam interceptados, evitando conflitos com o comando base.
Extensão para mais comandos:
comandos-tp:
- '/tpa '
- '/etpa '
- '/tpahere '
- '/etpahere '
- '/warptp ' # De outros plugins de warp
- '/randomtp ' # De plugins de teleporte aleatório
- '/spawn ' # Bloqueia também /spawn (opcional)comandos-coin
Lista de comandos de pagamento/transferência de coins que serão interceptados. Quando o jogador desativa a preferência coin, estes comandos são bloqueados quando usados por outros jogadores direcionados a ele.
# Comandos de pagamento interceptados (deixe o espaço antes do nick)
comandos-coin:
- '/pay '
- '/money pay '
- '/eco pay '
- '/bal pay 'Como funciona:
- Jogador A desativa a preferência
coin - Jogador B tenta usar
/pay JogadorA 100 - O plugin intercepta e bloqueia a transação
- Jogador B recebe:
"Este jogador desativou o recebimento de coins."
Adicione comandos de plugins de economia customizada que você usa no servidor. Por exemplo, se usa yPontos, adicione /pontos give e /pontos transfer .
Preferências Built-in
O plugin possui preferências internas prontas para uso. Cada uma pode ser exibida ou ocultada do menu definindo seu nome como vazio ('') no menus.yml.
Preferências internas (sem dependência)
Estas preferências funcionam sem plugins externos:
| Chave | Nome no Menu | Descrição |
|---|---|---|
pvp | PvP | Ativa/desativa dano entre jogadores. |
teleport | Pedidos de teleporte | Bloqueia recebimento de pedidos de teleporte (/tpa, etc). |
coin | Recebimento de coins | Bloqueia recebimento de moedas via /pay. |
pickup | Coletar itens dropados | Ativa/desativa a coleta automática de itens do chão. |
Preferências de chat (com LegendChat / nChat)
| Chave | Nome no Menu | Descrição |
|---|---|---|
privateChat | Mensagens privadas | Bloqueia recebimento de mensagens privadas. |
globalChat | Chat global | Impede o jogador de enviar mensagens no canal global. |
localChat | Chat local | Impede o jogador de enviar mensagens no canal local. |
Preferências de integração
Dependem de plugins específicos para funcionar:
| Chave | Nome no Menu | Descrição | Plugin necessário |
|---|---|---|---|
smelt | Auto-fundir ao coletar | Ativa/desativa auto-fusão ao coletar minérios. | yAutoPickup |
compact | Auto-compactar ao coletar | Ativa/desativa auto-compactação ao coletar. | yAutoPickup |
autoSell | Auto-venda | Ativa/desativa venda automática de itens. | yVender |
shiftSell | Venda rápida (shift) | Ativa/desativa venda rápida com shift. | yVender |
fullSell | Venda rápida (inv-full) | Ativa/desativa venda rápida quando inventário cheio. | yVender |
clanInvite | Convites de clan | Bloqueia recebimento de convites para clãs. | yClans |
Preferências de integração (yAutoPickup, yVender, yClans) só aparecem no menu quando o plugin correspondente está instalado no servidor.
Preferências customizadas (PlaceholderAPI)
Além das preferências built-in, você pode criar preferências customizadas que dependem de placeholders do PlaceholderAPI. Isso permite integrar qualquer plugin que tenha placeholders PAPI.
Exemplo de preferência customizada:
custom-preferences:
duplo-drop:
display-name: '&fDuplo Drop'
placeholder: '%yminas_droplvl%'
on-value: '3'
executor: console
commands-when-on:
- 'toggle duplo-drop {player} off'
commands-when-off:
- 'toggle duplo-drop {player} on'
on-item:
material: 'DIAMOND'
name: '&fDuplo Drop'
lore:
- ''
- '&7Estado: &aLigado'
- ''
- '&eClique para desativar.'
off-item:
material: 'COAL'
name: '&fDuplo Drop'
lore:
- ''
- '&7Estado: &cDesligado'
- ''
- '&eClique para ativar.'As preferências customizadas são documentadas em detalhes na página de Menus.
Dicas importantes
Planeje a estrutura de banco de dados
Escolha o tipo de banco antes de colocar o servidor em produção. Migrar de SQLITE para MYSQL depois pode exigir intervenção manual.
Teste os comandos interceptados
Após configurar comandos-tp e comandos-coin, teste cada comando para garantir que a interceptação funciona corretamente:
- Entre com um jogador teste
- Desative a preferência correspondente
- Tente usar o comando de outro jogador
- Verifique se a mensagem de bloqueio aparece
Configure os nomes dos canais corretamente
Os nomes dos canais global e local devem bater exatamente com a configuração do seu plugin de chat. Verifique no arquivo de configuração do LegendChat ou nChat qual o nome exato dos canais.
Redis apenas quando necessário
Não ative o Redis se você tem um servidor único. Além de consumo extra de recurso, pode causar erros de conexão se o Redis não estiver disponível.