diff --git a/build.gradle.kts b/build.gradle.kts
index 2d80697..c59cf67 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -7,7 +7,7 @@ plugins {
group = "de.oliver"
description = "Economy plugin"
-version = "1.0.2"
+version = "1.0.3"
val mcVersion = "1.20.1"
repositories {
diff --git a/src/main/java/de/oliver/fancyeconomy/FancyEconomy.java b/src/main/java/de/oliver/fancyeconomy/FancyEconomy.java
index 23dea29..83fb659 100644
--- a/src/main/java/de/oliver/fancyeconomy/FancyEconomy.java
+++ b/src/main/java/de/oliver/fancyeconomy/FancyEconomy.java
@@ -128,6 +128,7 @@ public void onEnable() {
lang.addDefaultLang("reloaded-config", "Successfully reloaded the config");
lang.addDefaultLang("currency-list", "List of all currencies:");
+ lang.addDefaultLang("add-receiver", "Received {amount}");
lang.load();
database = config.getDatabase();
@@ -167,6 +168,7 @@ private void registerCommands() {
CommandAPI.registerCommand(BalanceCMD.class);
CommandAPI.registerCommand(WithdrawCMD.class);
CommandAPI.registerCommand(BalanceTopCMD.class);
+ CommandAPI.registerCommand(AddCMD.class);
ArgumentSuggestions allPlayersSuggestion = ArgumentSuggestions.strings(commandSenderSuggestionInfo -> CurrencyPlayerManager.getAllPlayerNames());
diff --git a/src/main/java/de/oliver/fancyeconomy/commands/AddCMD.java b/src/main/java/de/oliver/fancyeconomy/commands/AddCMD.java
new file mode 100644
index 0000000..854ab97
--- /dev/null
+++ b/src/main/java/de/oliver/fancyeconomy/commands/AddCMD.java
@@ -0,0 +1,76 @@
+package de.oliver.fancyeconomy.commands;
+
+import de.oliver.fancyeconomy.FancyEconomy;
+import de.oliver.fancyeconomy.currencies.Currency;
+import de.oliver.fancyeconomy.currencies.CurrencyPlayer;
+import de.oliver.fancyeconomy.currencies.CurrencyPlayerManager;
+import de.oliver.fancyeconomy.currencies.CurrencyRegistry;
+import de.oliver.fancylib.MessageHelper;
+import de.oliver.fancylib.UUIDFetcher;
+import dev.jorel.commandapi.annotations.Command;
+import dev.jorel.commandapi.annotations.Default;
+import dev.jorel.commandapi.annotations.Permission;
+import dev.jorel.commandapi.annotations.arguments.ADoubleArgument;
+import dev.jorel.commandapi.annotations.arguments.AStringArgument;
+import org.bukkit.Bukkit;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+
+import java.util.UUID;
+
+@Command("add")
+@Permission("fancyeconomy.add")
+public class AddCMD {
+
+ @Default
+ public static void info(CommandSender player) {
+ MessageHelper.info(player, " --- FancyEconomy Info ---");
+ MessageHelper.info(player, "/add - add money to a certain player");
+ }
+
+ @Default
+ public static void add(
+ CommandSender player,
+ @AStringArgument String targetName,
+ @ADoubleArgument(min = 0.1) double amount
+ ) {
+ Player targetPlayer = Bukkit.getPlayer(targetName);
+ if (targetPlayer != null) {
+ targetName = targetPlayer.getName();
+ }
+
+ UUID uuid = targetPlayer != null ? targetPlayer.getUniqueId() : UUIDFetcher.getUUID(targetName);
+
+ if (uuid == null) {
+ MessageHelper.error(player, FancyEconomy.getInstance().getLang().get(
+ "player-not-found",
+ "player", targetName
+ ));
+ return;
+ }
+
+ Currency currency = CurrencyRegistry.getDefaultCurrency();
+
+ CurrencyPlayer to = CurrencyPlayerManager.getPlayer(uuid);
+
+ if (targetPlayer != null) {
+ to.setUsername(targetPlayer.getName());
+ }
+
+ to.addBalance(currency, amount);
+
+ MessageHelper.success(player, FancyEconomy.getInstance().getLang().get(
+ "add-success",
+ "amount", currency.format(amount),
+ "player", to.getUsername()
+ ));
+
+ if (targetPlayer != null) {
+ MessageHelper.info(targetPlayer, FancyEconomy.getInstance().getLang().get(
+ "add-receiver",
+ "amount", currency.format(amount)
+ ));
+ }
+ }
+
+}