1.2
Compatibility
Changes
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.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:YLO1VtDA:sHBQX2lE"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:YLO1VtDA:sHBQX2lE"
}

