Sueta

CelestialVIP

2.0

vip, celestialvip, gabezk, plugin vip, mercadopago, mercado pago, plugin cash, vender cash

·Plugin

Celestial VIP é um plugin completo de gerenciamento de VIP para servidores Paper/Spigot/Bukkit (1.19+).
Ele permite resgatar VIP ou Cash via Mercado Pago, gerar e usar chaves de ativação, controlar expiração automática de VIPs, exibir informações em placeholders e muito mais.

YouTube

✅ Recursos principais

  • Integração com Mercado Pago
    • Resgate de VIP ou Cash usando o código de pagamento.
    • Validação de status do pagamento antes de ativar qualquer coisa.
  • Chaves de ativação (VIP e Cash)
    • Gerar chaves de VIP com dias definidos ou permanentes (perm).
    • Gerar chaves de Cash com valor configurável.
    • Listar todas as chaves ativas e copiar com 1 clique.
    • Apagar uma chave específica ou todas de um tipo.
  • Sistema de VIP automático
    • Ativação de VIP com comandos configuráveis (LuckPerms, economy, itens, sons, etc.).
    • Expiração automática de VIPs com comandos de remoção configuráveis.
    • Comando admin para renovar VIP existente (/celestialvip renew).
    • Comando para listar todos os VIPs ativos no servidor (/celestialvip listvips).
  • Informações e placeholders
    • Ver todas as informações de VIP de um jogador (/infovip).
    • Placeholders via PlaceholderAPI para:
      • Grupo VIP, dias restantes, data de expiração, status, etc.
      • Suporte a placeholders por grupo específico (%celestialvip_timeleft_diamond%).
  • Banco de dados e backup
    • Suporte a SQLite / MySQL / PostgreSQL.
    • Backup automático do banco SQLite em intervalos configuráveis.

Requisitos

  • Java 17+
  • Servidor Paper/Spigot/Bukkit 1.19+
  • (Opcional) PlaceholderAPI para usar os placeholders do VIP.

Como usar (Comandos e Permissões)
Comandos de usuário

  • /resgatar <vip/cash> <id_transacao>
    Resgata VIP ou Cash usando o ID de pagamento do Mercado Pago.
    Permissão: celestialvip.redeem (incluída em celestialvip.user).

  • /usarchave <vip/cash> <chave>
    Usa uma chave de ativação já gerada (VIP ou Cash).
    Permissão: celestialvip.usekey (incluída em celestialvip.user).

  • /infovip [jogador]
    Mostra todas as informações de VIP do jogador (grupo, dias restantes, data de expiração, status, etc.).
    Permissão: celestialvip.infvip (incluída em celestialvip.user).

Comandos de administração

  • /gerarchave vip <grupo> <dias/perm>
    Gera uma chave de VIP com a duração definida ou permanente (perm).
    Permissão: celestialvip.genkey.

  • /gerarchave cash <quantia>
    Gera uma chave de Cash com a quantidade definida.
    Permissão: celestialvip.genkey.

  • /listarchaves <vip/cash>
    Lista todas as chaves VIP/Cash ativas (clicáveis para copiar).
    Permissão: celestialvip.listkeys.

  • /apagarchave <vip/cash> <chave>
    Apaga uma chave específica.
    Permissão: celestialvip.delkey.

  • /apagarchave <vip/cash> all
    Apaga todas as chaves ativas do tipo informado.
    Permissão: celestialvip.delkey.

  • /darvip <jogador> <grupo> <dias/perm>
    Dá VIP manualmente a um jogador (com dias definidos ou permanente).
    Permissão: celestialvip.givip.

  • /removervip <jogador> <grupo>
    Remove um grupo VIP específico do jogador e executa os comandos de expiração configurados.
    Permissão: celestialvip.remvip.

  • /celestialvip reload
    Recarrega as configurações (config.yml), reconecta no banco de dados e reinicia as tarefas agendadas.
    Permissão: celestialvip.reload.

  • /celestialvip check
    Executa imediatamente a checagem de VIPs expirados (mesma lógica do scheduler).
    Permissão: celestialvip.adm.

  • /celestialvip renew <jogador> <grupo> <dias>
    Renova manualmente o VIP de um jogador, estendendo a data de expiração.
    Permissão: celestialvip.adm.

  • /celestialvip listvips
    Lista todos os VIPs ativos no servidor, mostrando grupo, data de expiração e dias restantes.
    Permissão: celestialvip.adm.

Permissões gerais

  • celestialvip.user
    • Inclui: /resgatar, /usarchave, /infovip.
  • celestialvip.adm
    • Inclui todos os comandos administrativos:
      • /gerarchave, /listarchaves, /apagarchave, /darvip, /removervip, /celestialvip reload, /celestialvip check, /celestialvip renew, /celestialvip listvips.
  • Permissões específicas (se quiser controlar por comando):
    • celestialvip.redeem
    • celestialvip.usekey
    • celestialvip.infvip
    • celestialvip.genkey
    • celestialvip.listkeys
    • celestialvip.delkey
    • celestialvip.givip
    • celestialvip.remvip
    • celestialvip.reload

⚙️ Configuração básica
Depois de colocar o plugin na pasta plugins/ e iniciar o servidor, será gerado o arquivo config.yml em plugins/CelestialVIP/.

Principais opções:

  • Prefixo e mensagens:
    • config.prefix e a seção config.messages permitem personalizar todas as mensagens enviadas aos jogadores.
  • Checagem de expiração de VIP:
    • config.vip-expiration-check-interval (segundos) define de quanto em quanto tempo o plugin verifica VIPs vencidos.
  • Cache de consultas de VIP:
    • config.cache-duration-seconds define por quanto tempo as informações de VIP ficam em cache (menos carga no banco vs. dados mais “reais”).
  • Banco de dados:
    • config.database.drive: sqlite, mysql ou postgresql.
    • Configure host, porta, database, usuário e senha se usar MySQL/PostgreSQL.
  • Mercado Pago:
    • config.mercadopago.CLIENT_ID
    • config.mercadopago.CLIENT_SECRET
    • O plugin usa esses dados para consultar o status dos pagamentos.
  • Configuração de VIPs (config.vips):
    • Cada grupo (ex.: diamond, gold, iron) tem:
      • tag: nome colorido que aparece nas mensagens.
      • price-per-day: usado para cálculos de renovação via /celestialvip renew.
      • renewable: se pode ou não ser renovado.
      • activation-commands: comandos executados ao ativar o VIP.
      • after-expiration-commands: comandos executados quando o VIP expira.
  • Configuração de Cash (config.cash):
    • activation-commands: comandos executados ao ativar Cash (ex.: dar saldo em um plugin de economia).

Integração com PlaceholderAPI
Exemplos de placeholders disponíveis (após instalar PlaceholderAPI):

  • %celestialvip_status% — Status do VIP (Ativo/Inativo)
  • %celestialvip_group% — Grupo VIP atual
  • %celestialvip_timeleft% — Dias restantes (ou “Permanente”)
  • %celestialvip_expirationdate% — Data de expiração
  • %celestialvip_daysleft% / %celestialvip_hoursleft% — Restante em dias/horas

Você também pode usar placeholders por grupo específico, por exemplo:

  • %celestialvip_timeleft_diamond%
  • %celestialvip_status_diamond%

Formato da referência no Mercado Pago
Ao criar seus links de pagamento no Mercado Pago, use o seguinte padrão no campo external_reference:

  • VIP:
    • .grupo.tempo.
    • Exemplos:
      • .diamond.30. → VIP diamond por 30 dias
      • .gold.perm. → VIP gold permanente
  • Cash:
    • .quantidade.
    • Exemplo:
      • .1000. → 1000 de cash

O plugin lê essa referência para saber o que ativar após o pagamento ser aprovado.

EX: VIP IRON 7 DIAS

EX: VIP IRON PERMANENTE

EX: 1K DE CASH

Similar projects

Plugin →