Delete src/main/java/net/viper/status/modules/economy/EcoAdminCommand.java via Git Manager GUI

This commit is contained in:
2026-05-07 19:49:43 +00:00
parent 7292bfbba3
commit 38c1cd2f4f

View File

@@ -1,134 +0,0 @@
package net.viper.status.modules.economy;
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.chat.TextComponent;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command;
import net.md_5.bungee.api.plugin.Plugin;
import java.util.UUID;
/**
* /ecoadmin <give|take|set|check> <Spieler> [Betrag]
* Admin-Verwaltung des Economy-Systems (auch für Offline-Spieler).
*
* Berechtigung: economy.admin
*/
public class EcoAdminCommand extends Command {
private final Plugin plugin;
private final EconomyManager manager;
public EcoAdminCommand(Plugin plugin, EconomyManager manager) {
super("ecoadmin", "economy.admin", "ecomod", "moneyadmin");
this.plugin = plugin;
this.manager = manager;
}
@Override
public void execute(CommandSender sender, String[] args) {
if (!sender.hasPermission("economy.admin")) {
sender.sendMessage(new TextComponent(c("&cKeine Berechtigung.")));
return;
}
if (args.length < 2) {
sendHelp(sender);
return;
}
String action = args[0].toLowerCase();
String targetName = args[1];
plugin.getProxy().getScheduler().runAsync(plugin, () -> {
UUID targetUUID = manager.resolveUUID(targetName);
if (targetUUID == null) {
sender.sendMessage(new TextComponent(c("&cSpieler &e" + targetName + " &cnicht gefunden.")));
return;
}
switch (action) {
case "check": {
double bal = manager.getBalance(targetUUID);
sender.sendMessage(new TextComponent(c("&7Kontostand von &e" + targetName
+ "&7: &a" + formatAmount(bal) + " $")));
break;
}
case "give": {
if (args.length < 3) { sendHelp(sender); return; }
double amount = parseAmount(args[2]);
if (amount <= 0) { sender.sendMessage(new TextComponent(c("&cUngültiger Betrag."))); return; }
manager.deposit(targetUUID, amount);
double newBal = manager.getBalance(targetUUID);
sender.sendMessage(new TextComponent(c("&a+ " + formatAmount(amount)
+ " $ &7an &e" + targetName + " &7→ Neues Guthaben: &a" + formatAmount(newBal) + " $")));
notifyPlayer(targetUUID, c("&7Admin hat dir &a+" + formatAmount(amount)
+ " $ &7gegeben. Guthaben: &a" + formatAmount(newBal) + " $"));
break;
}
case "take": {
if (args.length < 3) { sendHelp(sender); return; }
double amount = parseAmount(args[2]);
if (amount <= 0) { sender.sendMessage(new TextComponent(c("&cUngültiger Betrag."))); return; }
boolean ok = manager.withdraw(targetUUID, amount);
if (!ok) {
sender.sendMessage(new TextComponent(c("&cNicht genug Guthaben bei &e" + targetName + "&c.")));
return;
}
double newBal = manager.getBalance(targetUUID);
sender.sendMessage(new TextComponent(c("&c- " + formatAmount(amount)
+ " $ &7von &e" + targetName + " &7→ Neues Guthaben: &a" + formatAmount(newBal) + " $")));
notifyPlayer(targetUUID, c("&7Admin hat dir &c-" + formatAmount(amount)
+ " $ &7abgezogen. Guthaben: &a" + formatAmount(newBal) + " $"));
break;
}
case "set": {
if (args.length < 3) { sendHelp(sender); return; }
double amount = parseAmount(args[2]);
if (amount < 0) { sender.sendMessage(new TextComponent(c("&cBetrag darf nicht negativ sein."))); return; }
manager.setBalance(targetUUID, amount);
sender.sendMessage(new TextComponent(c("&7Guthaben von &e" + targetName
+ " &7gesetzt auf &a" + formatAmount(amount) + " $")));
notifyPlayer(targetUUID, c("&7Dein Guthaben wurde auf &a" + formatAmount(amount) + " $ &7gesetzt."));
break;
}
default:
sendHelp(sender);
}
});
}
private void notifyPlayer(UUID uuid, String message) {
ProxiedPlayer target = plugin.getProxy().getPlayer(uuid);
if (target != null) {
target.sendMessage(new TextComponent(message));
}
}
private void sendHelp(CommandSender sender) {
sender.sendMessage(new TextComponent(c("&e/ecoadmin check <Spieler>")));
sender.sendMessage(new TextComponent(c("&e/ecoadmin give <Spieler> <Betrag>")));
sender.sendMessage(new TextComponent(c("&e/ecoadmin take <Spieler> <Betrag>")));
sender.sendMessage(new TextComponent(c("&e/ecoadmin set <Spieler> <Betrag>")));
}
private static double parseAmount(String s) {
try { return Double.parseDouble(s.replace(",", ".")); }
catch (NumberFormatException e) { return -1; }
}
private static String formatAmount(double amount) {
return String.format("%,.2f", amount);
}
private static String c(String msg) {
return ChatColor.translateAlternateColorCodes('&', msg);
}
}