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