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:
@@ -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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user