Added amount option to /talgive

This commit is contained in:
Auxilor
2021-03-03 19:37:29 +00:00
parent 089243d405
commit 0a24448301
2 changed files with 36 additions and 2 deletions

View File

@@ -8,6 +8,7 @@ import com.willfp.talismans.talismans.Talismans;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -41,6 +42,16 @@ public class CommandTalgive extends AbstractCommand {
return;
}
int amount = 1;
if (args.size() > 2) {
try {
amount = Integer.parseInt(args.get(2));
} catch (NumberFormatException ignored) {
// do nothing
}
}
String recieverName = args.get(0);
Player reciever = Bukkit.getPlayer(recieverName);
@@ -59,6 +70,9 @@ public class CommandTalgive extends AbstractCommand {
String message = this.getPlugin().getLangYml().getMessage("give-success");
message = message.replace("%talisman%", talisman.getFormattedName()).replace("%recipient%", reciever.getName());
sender.sendMessage(message);
reciever.getInventory().addItem(talisman.getItemStack());
ItemStack itemStack = talisman.getItemStack();
itemStack.setAmount(amount);
reciever.getInventory().addItem(itemStack);
}
}

View File

@@ -11,6 +11,7 @@ import org.bukkit.util.StringUtil;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
@@ -21,6 +22,19 @@ public class TabcompleterTalgive extends AbstractTabCompleter {
*/
private static final List<String> TALISMAN_NAMES = Talismans.values().stream().filter(Talisman::isEnabled).map(talisman -> talisman.getKey().getKey()).collect(Collectors.toList());
/**
* The cached numbers.
*/
private static final List<String> NUMBERS = Arrays.asList(
"1",
"2",
"3",
"4",
"5",
"10",
"32",
"64"
);
/**
* Instantiate a new tab-completer for /talgive.
*
@@ -68,6 +82,12 @@ public class TabcompleterTalgive extends AbstractTabCompleter {
return completions;
}
if (args.size() == 3) {
StringUtil.copyPartialMatches(args.get(2), NUMBERS, completions);
return completions;
}
return new ArrayList<>(0);
}
}
}