diff --git a/.idea/runConfigurations/ACF__All_.xml b/.idea/runConfigurations/ACF__All_.xml
new file mode 100644
index 00000000..0188fcb2
--- /dev/null
+++ b/.idea/runConfigurations/ACF__All_.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/acf_core.xml b/.idea/runConfigurations/ACF__Core_Only_.xml
similarity index 86%
rename from .idea/runConfigurations/acf_core.xml
rename to .idea/runConfigurations/ACF__Core_Only_.xml
index a76039d9..a79c43d7 100644
--- a/.idea/runConfigurations/acf_core.xml
+++ b/.idea/runConfigurations/ACF__Core_Only_.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/.idea/runConfigurations/acf_example.xml b/.idea/runConfigurations/ACF__Core___Bukkit___Example_.xml
similarity index 78%
rename from .idea/runConfigurations/acf_example.xml
rename to .idea/runConfigurations/ACF__Core___Bukkit___Example_.xml
index f3c5e198..22d3e23d 100644
--- a/.idea/runConfigurations/acf_example.xml
+++ b/.idea/runConfigurations/ACF__Core___Bukkit___Example_.xml
@@ -1,5 +1,5 @@
-
+
@@ -24,6 +24,7 @@
+
\ No newline at end of file
diff --git a/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java b/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java
index 72c0ba2d..92801602 100644
--- a/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java
+++ b/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java
@@ -31,7 +31,6 @@ import org.bukkit.command.CommandException;
import org.bukkit.command.CommandMap;
import org.bukkit.command.CommandSender;
import org.bukkit.command.SimpleCommandMap;
-import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.server.PluginDisableEvent;
@@ -186,6 +185,11 @@ public class BukkitCommandManager extends CommandManager {
return (R) new BukkitCommandExecutionContext(command, parameter, sender, args, i, passedArgs);
}
+ @Override
+ public CommandCompletionContext createCompletionContext(RegisteredCommand command, CommandIssuer sender, String input, String config, String[] args) {
+ return new BukkitCommandCompletionContext(command, sender, input, config, args);
+ }
+
@Override
public RegisteredCommand createRegisteredCommand(BaseCommand command, String cmdName, Method method, String prefSubCommand) {
return new RegisteredCommand(command, cmdName, method, prefSubCommand);
diff --git a/core/src/main/java/co/aikar/commands/CommandCompletions.java b/core/src/main/java/co/aikar/commands/CommandCompletions.java
index ded728d4..079b66aa 100644
--- a/core/src/main/java/co/aikar/commands/CommandCompletions.java
+++ b/core/src/main/java/co/aikar/commands/CommandCompletions.java
@@ -26,6 +26,7 @@ package co.aikar.commands;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import org.jetbrains.annotations.NotNull;
+import sun.reflect.generics.scope.Scope;
import java.util.Collection;
import java.util.HashMap;
@@ -91,10 +92,11 @@ public class CommandCompletions {
CommandCompletionHandler handler = this.completionMap.get(complete[0].toLowerCase());
if (handler != null) {
String config = complete.length == 1 ? null : complete[1];
- CommandCompletionContext context = new CommandCompletionContext(command, sender, input, config, args);
+ CommandCompletionContext context = manager.createCompletionContext(command, sender, input, config, args);
try {
- Collection completions = handler.getCompletions(sender, config, input, context);
+ //noinspection unchecked
+ Collection completions = handler.getCompletions(sender.getIssuer(), config, input, context);
if (completions != null) {
allCompletions.addAll(completions);
continue;
diff --git a/core/src/main/java/co/aikar/commands/CommandManager.java b/core/src/main/java/co/aikar/commands/CommandManager.java
index 0e8b9b51..24ee9bc4 100644
--- a/core/src/main/java/co/aikar/commands/CommandManager.java
+++ b/core/src/main/java/co/aikar/commands/CommandManager.java
@@ -79,6 +79,8 @@ abstract class CommandManager {
public abstract R createCommandContext(RegisteredCommand command, Parameter parameter, CommandIssuer sender, List args, int i, Map passedArgs);
+ public abstract CommandCompletionContext createCompletionContext(RegisteredCommand command, CommandIssuer sender, String input, String config, String[] args);
+
public RegisteredCommand createRegisteredCommand(BaseCommand command, String cmdName, Method method, String prefSubCommand) {
return new RegisteredCommand(command, cmdName, method, prefSubCommand);
}
diff --git a/pom.xml b/pom.xml
index a26409f3..3bf05c5a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -101,6 +101,5 @@
paper
- example