Don't parse player name as count in /csgive (Fixes #355)

This commit is contained in:
Phoenix616 2020-09-14 14:36:10 +01:00
parent 54a713af89
commit cbbdaf0bbf
No known key found for this signature in database
GPG Key ID: 40E2321E71738EB0

View File

@ -12,8 +12,8 @@ import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import java.util.ArrayList;
import java.util.List;
import java.util.HashSet;
import java.util.Set;
/**
* @author Acrobot
@ -34,7 +34,7 @@ public class Give implements CommandExecutor {
Player receiver = (sender instanceof Player ? (Player) sender : null);
int quantity = 1;
List<Integer> disregardedIndexes = new ArrayList<Integer>();
Set<Integer> disregardedIndexes = new HashSet<>();
if (args.length > 1) {
for (int index = args.length - 1; index >= 0; --index) {
@ -50,7 +50,7 @@ public class Give implements CommandExecutor {
}
for (int index = args.length - 1; index >= 0; --index) {
if (!NumberUtil.isInteger(args[index]) || Integer.parseInt(args[index]) < 0) {
if (disregardedIndexes.contains(index) || !NumberUtil.isInteger(args[index]) || Integer.parseInt(args[index]) < 0) {
continue;
}
@ -83,7 +83,7 @@ public class Give implements CommandExecutor {
return true;
}
private static ItemStack getItem(String[] arguments, List<Integer> disregardedElements) {
private static ItemStack getItem(String[] arguments, Set<Integer> disregardedElements) {
StringBuilder builder = new StringBuilder(arguments.length * 5);
for (int index = 0; index < arguments.length; ++index) {