Delete _trash/2026-05-07T19-39-23-130Z/src/main/java/net/viper/status/modules/economy/PayCommand.java via Git Manager GUI

This commit is contained in:
2026-05-07 19:49:19 +00:00
parent 8a988a6af0
commit 5eccd10123

View File

@@ -1,102 +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;
/**
* /pay <Spieler> <Betrag>
* Überweist Geld an einen anderen Spieler (auch offline).
*/
public class PayCommand extends Command {
private final Plugin plugin;
private final EconomyManager manager;
public PayCommand(Plugin plugin, EconomyManager manager) {
super("pay", null);
this.plugin = plugin;
this.manager = manager;
}
@Override
public void execute(CommandSender sender, String[] args) {
if (!(sender instanceof ProxiedPlayer)) {
sender.sendMessage(new TextComponent(c("&cNur Spieler können diesen Befehl nutzen.")));
return;
}
if (args.length < 2) {
sender.sendMessage(new TextComponent(c("&eVerwendung: &f/pay <Spieler> <Betrag>")));
return;
}
ProxiedPlayer payer = (ProxiedPlayer) sender;
String targetName = args[0];
double amount;
try {
amount = Double.parseDouble(args[1].replace(",", "."));
} catch (NumberFormatException e) {
sender.sendMessage(new TextComponent(c("&cUngültiger Betrag.")));
return;
}
if (amount <= 0) {
sender.sendMessage(new TextComponent(c("&cDer Betrag muss größer als 0 sein.")));
return;
}
if (targetName.equalsIgnoreCase(payer.getName())) {
sender.sendMessage(new TextComponent(c("&cDu kannst dir nicht selbst Geld überweisen.")));
return;
}
plugin.getProxy().getScheduler().runAsync(plugin, () -> {
UUID targetUUID = manager.resolveUUID(targetName);
if (targetUUID == null) {
payer.sendMessage(new TextComponent(c("&cSpieler &e" + targetName + " &cnicht gefunden.")));
return;
}
double payerBalance = manager.getBalance(payer.getUniqueId());
if (payerBalance < amount) {
payer.sendMessage(new TextComponent(c("&cNicht genug Guthaben. Dein Kontostand: &e"
+ formatAmount(payerBalance) + " $")));
return;
}
manager.withdraw(payer.getUniqueId(), amount);
manager.deposit(targetUUID, amount);
payer.sendMessage(new TextComponent(c("&aErfolgreich &e" + formatAmount(amount)
+ " $ &aan &e" + targetName + " &aüberwiesen.")));
payer.sendMessage(new TextComponent(c("&7Dein neues Guthaben: &e"
+ formatAmount(manager.getBalance(payer.getUniqueId())) + " $")));
// Online-Benachrichtigung an Empfänger
ProxiedPlayer target = plugin.getProxy().getPlayer(targetUUID);
if (target != null) {
target.sendMessage(new TextComponent(c("&a" + payer.getName()
+ " hat dir &e" + formatAmount(amount) + " $ &aüberwiesen.")));
target.sendMessage(new TextComponent(c("&7Dein neues Guthaben: &e"
+ formatAmount(manager.getBalance(targetUUID)) + " $")));
}
});
}
private static String formatAmount(double amount) {
return String.format("%,.2f", amount);
}
private static String c(String msg) {
return ChatColor.translateAlternateColorCodes('&', msg);
}
}