Delete src/main/java/net/viper/status/modules/economy/EcoAdminCommand.java via Git Manager GUI
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user