
P_Economia
Plugin Economia! Feito para seu servidor ter a melhor economia! com varias Moedas!, Economy Plugin! Made for your server to have the best economy! with multiple Currencies!
Список изменений
P_Economy
Sistema avançado de economia multi‑moeda para servidores Minecraft (Spigot/Paper).
✨ Recursos Principais
-
Multi‑moeda: moedas configuráveis (
currencies.yml) com formatação customizada. -
Banco de dados: suporte a SQLite e MySQL, com persistência de saldos, transações, cheques, preferências e rankings.
-
Top / Rankings: atualização automática, com integração em NPCs (Citizens) e Displays (ArmorStand + TextDisplay).
-
Integrações:
- Vault — compatibilidade com plugins existentes.
- PlaceholderAPI — placeholders para hologramas, menus e mensagens.
- Citizens — NPCs Top com skins dinâmicas.
- SkinsRestorer — suporte a cabeças/skins personalizadas.
-
Menus: interfaces gráficas configuráveis (
menus.yml). -
Cheques: itens que representam valor e podem ser resgatados.
-
API Pública: interface
MoedasServicecom suporte a eventos Bukkit.
⚙️ Configuração Essencial
config.yml
debug: false
database:
type: sqlite
host: localhost
port: 3306
database: peconomy
username: root
password: ""
top:
update-interval: 60 # segundos
max-players: 10
currencies.yml
format:
decimal: ","
thousands: "."
currencies:
coins:
display-name: "Moedas"
symbol: "¢"
default-amount: 0.0
magnata-tag: "&6[MAGNATA]"
Idiomas (Idiomas/pt_br.yml)
messages:
invalid-currency: "&cMoeda inválida."
balance: "&7Saldo em {currency}: &f{amount}"
no-permission: "&cSem permissão."
⌨️ Comandos
/economia— abre menu principal./economia saldo <moeda>— mostra saldo./economia pagar <jogador> <moeda> <quantia>— transfere dinheiro./economia toggle [moeda]— ativa/desativa recebimento./economia cheque <valor> <moeda>— cria cheque./economia transacoes [moeda]— mostra histórico./economia message_prefs [actionbar|title|chat]— altera preferências./economia setbalance|addbalance|removebalance— gerencia saldos./economia resettop|updatetop— gerencia ranking./economia topdisplay <set|remove|list>— gerencia Displays./economia npc|topnpc <set|remove|reload|update>— gerencia NPCs Citizens./economia reload— recarrega configs.
🏦 Banco de Dados
Tabelas principais:
balances— saldos por jogador/moeda.transactions— histórico de transações.cheques— cheques emitidos e resgatados.toggles— status de recebimento por moeda.message_prefs— preferências (actionbar/title/chat).top_displaysetop_npcs— posições fixas.pending_messages— mensagens entregues a jogadores offline.
🧩 API Pública (MoedasService)
BigDecimal getBalance(UUID playerId, String currency);
CompletableFuture<TransactionResult> deposit(UUID playerId, String currency, BigDecimal amount, String reason);
CompletableFuture<TransactionResult> withdraw(UUID playerId, String currency, BigDecimal amount, String reason);
CompletableFuture<TransactionResult> transfer(UUID from, UUID to, String currency, BigDecimal amount, String reason);
List<ApiTransaction> getTransactions(UUID playerId, String currency, int limit);
List<TopEntry> getTop(String currency, int limit);
String createCheque(UUID creator, String currency, BigDecimal amount);
CompletableFuture<BigDecimal> redeemCheque(UUID redeemer, String chequeId, String currency);
DTOs
TransactionResult(status, novo saldo, mensagem)ApiTransaction(id, uuid, moeda, tipo, valor, target, timestamp)TopEntry(jogador, nome, valor, moeda)
Eventos
BalanceChangePreEvent/BalanceChangePostEventTransferPreEvent/TransferPostEvent
🔌 Integrações
- Vault — economia padrão.
- PlaceholderAPI — placeholders
%peconomy_*%. - Citizens — NPCs Top.
- SkinsRestorer — skins customizadas.
📌 Exemplo de Uso (em outro plugin)
MoedasService eco = Bukkit.getServicesManager().load(MoedasService.class);
UUID playerId = player.getUniqueId();
// Depositar 100 moedas
eco.deposit(playerId, "coins", BigDecimal.valueOf(100), "reward");
📜 Changelog (resumido)
- Estrutura inicial com Multi‑moeda, Banco de Dados e API.
- Suporte a Vault, PlaceholderAPI e Citizens.
- Cheques adicionados.
- Eventos API para depósitos, saques e transferências.
- Comandos unificados em
/economia. - Menus configuráveis em
menus.yml.
