NovaMoney
Plugin d'économie complet avec support multi-stockage (JSON/MySQL/API)
Multi-stockage
JSON, MySQL ou API Node.js au choix
Transactions
Paiements entre joueurs avec système de taxe
Classement
Top 10 des joueurs avec interface graphique
Multi-langue
Français, Anglais, Espagnol, Allemand
Télécharger NovaMoney
📋 Requirements
- Minecraft 1.21+
- Java 17+
- Paper/Spigot
Commandes
Commandes Joueurs
/balance
Description : Voir votre solde ou celui d'un autre joueur
/balance [joueur]/money
Description : Alias de /balance
/money [joueur]/pay
Description : Payer un autre joueur
/pay <joueur> <montant>/topbalance
Description : Afficher le top 10 des joueurs les plus riches
/topbalanceCommandes Admin
/novamoney add
Description : Ajouter de l'argent à un joueur
/novamoney add <joueur> <montant>/novamoney remove
Description : Retirer de l'argent à un joueur
/novamoney remove <joueur> <montant>/novamoney set
Description : Définir le solde d'un joueur
/novamoney set <joueur> <montant>/novamoney get
Description : Voir le solde d'un joueur
/novamoney get <joueur>/novamoney status
Description : Vérifier le statut de l'API
/novamoney status/novamoney taxe
Description : Gérer la taxe des paiements
/novamoney taxe <get/set/enable/disable/reset>/novamoney reload
Description : Recharger la configuration
/novamoney reloadInterface Graphique
La commande /topbalance ouvre une interface graphique intuitive avec les têtes des joueurs.
Classement visuel
Top 10 des joueurs avec leurs têtes, leur rang et leur solde.
Rangs distinctifs
Chaque rang est représenté par un symbole unique et coloré (👑, ⚡, ✯)
Formatage intelligent
Affichage des grands nombres (1.5K, 2.3M, 1.2B) pour une meilleure lisibilité.
Captures d'écran
Interface /topbalance
Classement des 10 joueurs les plus riches avec leurs têtes
Détails du classement
Informations détaillées sur chaque joueur
API Node.js
NovaMoney peut communiquer avec un serveur Node.js pour le stockage des données.
Configuration
api:
enabled: true
url: "domaine.fr" # Domaine ou IP (192.168.1.100:3000)
api-key: "MDP"
timeout: 5000
Endpoints disponibles
/api/novamoney/status
Vérifier que l'API fonctionne
/api/novamoney/balance/:uuid
Récupérer le solde d'un joueur
/api/novamoney/balance/:uuid
Mettre à jour le solde
/api/novamoney/account/create/:uuid
Créer un compte
/api/novamoney/save-all
Sauvegarder tous les comptes
/api/novamoney/load-all
Charger tous les comptes
Exemple serveur Node.js
// Serveur Node.js basique avec http
const http = require('http');
const fs = require('fs').promises;
const API_KEY = 'MDP';
const DATA_FILE = './balances.json';
const server = http.createServer(async (req, res) => {
// Vérification de la clé API
const apiKey = req.headers['x-api-key'];
if (apiKey !== API_KEY) {
res.writeHead(401);
return res.end(JSON.stringify({ error: 'Non autorisé' }));
}
// Route /status
if (req.url === '/api/novamoney/status' && req.method === 'GET') {
res.writeHead(200, { 'Content-Type': 'application/json' });
return res.end(JSON.stringify({
success: true,
status: 'online',
timestamp: new Date().toISOString()
}));
}
// Route /balance/:uuid
if (req.url.match(/^\/api\/novamoney\/balance\/.+/) && req.method === 'GET') {
const uuid = req.url.split('/').pop();
const data = JSON.parse(await fs.readFile(DATA_FILE, 'utf8'));
const balance = data[uuid] || 0;
res.writeHead(200, { 'Content-Type': 'application/json' });
return res.end(JSON.stringify({ success: true, uuid, balance }));
}
res.writeHead(404);
res.end(JSON.stringify({ error: 'Route non trouvée' }));
});
server.listen(3000, () => {
console.log('Serveur NovaMoney démarré sur port 3000');
});