|
1 | 1 | package cat.nyaa.nyaacore;
|
2 | 2 |
|
3 | 3 | import cat.nyaa.nyaacore.utils.OfflinePlayerUtils;
|
4 |
| -import com.earth2me.essentials.I18n; |
5 | 4 | import com.google.common.base.Strings;
|
6 | 5 | import org.bukkit.Bukkit;
|
7 | 6 | import org.bukkit.Material;
|
|
10 | 9 | import org.bukkit.command.CommandExecutor;
|
11 | 10 | import org.bukkit.command.CommandSender;
|
12 | 11 | import org.bukkit.command.TabCompleter;
|
| 12 | +import org.bukkit.entity.Entity; |
13 | 13 | import org.bukkit.entity.Player;
|
14 | 14 | import org.bukkit.inventory.ItemStack;
|
15 | 15 | import org.bukkit.plugin.java.JavaPlugin;
|
@@ -175,7 +175,7 @@ public List<String> getSubcommands() {
|
175 | 175 | // acceptCommand() will be called directly in subcommand classes
|
176 | 176 | @Override
|
177 | 177 | public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
178 |
| - Arguments cmd = Arguments.parse(args); |
| 178 | + Arguments cmd = Arguments.parse(args, sender); |
179 | 179 | if (cmd == null) return false;
|
180 | 180 | acceptCommand(sender, cmd);
|
181 | 181 | return true;
|
@@ -244,7 +244,7 @@ public void acceptCommand(CommandSender sender, Arguments cmd) {
|
244 | 244 | @Override
|
245 | 245 | public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) {
|
246 | 246 | try {
|
247 |
| - Arguments cmd = Arguments.parse(args); |
| 247 | + Arguments cmd = Arguments.parse(args, sender); |
248 | 248 | if (cmd == null) return null;
|
249 | 249 | return acceptTabComplete(sender, cmd);
|
250 | 250 | } catch (Exception ex) {
|
@@ -361,12 +361,14 @@ public static class Arguments {
|
361 | 361 |
|
362 | 362 | private List<String> parsedArguments = new ArrayList<>();
|
363 | 363 | private int index = 0;
|
| 364 | + private CommandSender sender; |
364 | 365 |
|
365 |
| - private Arguments() { |
| 366 | + private Arguments(CommandSender sender) { |
| 367 | + this.sender = sender; |
366 | 368 | }
|
367 | 369 |
|
368 |
| - public static Arguments parse(String[] rawArg) { |
369 |
| - if (rawArg.length == 0) return new Arguments(); |
| 370 | + public static Arguments parse(String[] rawArg, CommandSender sender) { |
| 371 | + if (rawArg.length == 0) return new Arguments(sender); |
370 | 372 | String cmd = rawArg[0];
|
371 | 373 | for (int i = 1; i < rawArg.length; i++)
|
372 | 374 | cmd += " " + rawArg[i];
|
@@ -414,7 +416,7 @@ public static Arguments parse(String[] rawArg) {
|
414 | 416 | if (tmp.length() > 0) cmdList.add(tmp);
|
415 | 417 | if (escape || quote) return null;
|
416 | 418 |
|
417 |
| - Arguments ret = new Arguments(); |
| 419 | + Arguments ret = new Arguments(sender); |
418 | 420 | ret.parsedArguments = cmdList;
|
419 | 421 | return ret;
|
420 | 422 | }
|
@@ -542,6 +544,11 @@ public OfflinePlayer nextOfflinePlayer() {
|
542 | 544 | return player;
|
543 | 545 | }
|
544 | 546 |
|
| 547 | + public List<Entity> nextSelectorEntities() { |
| 548 | + String name = next(); |
| 549 | + return Bukkit.selectEntities(sender, name); |
| 550 | + } |
| 551 | + |
545 | 552 | public Arguments nextAssert(String string) {
|
546 | 553 | String top = next();
|
547 | 554 | if (top == null && string == null) return this;
|
|
0 commit comments