pass literal to CommandContextFactory
This commit is contained in:
parent
b8fbda94fc
commit
613ea016f1
6 changed files with 9 additions and 7 deletions
|
|
@ -1,9 +1,10 @@
|
|||
package site.lab0x13.scrow.commands.velocity;
|
||||
|
||||
import com.velocitypowered.api.command.CommandSource;
|
||||
import site.lab0x13.scrow.commands.model.literal.RootLiteral;
|
||||
|
||||
@FunctionalInterface
|
||||
public interface CommandContextFactory<C extends VelocityCommandContext<C>> {
|
||||
|
||||
C createContext(CommandSource sender);
|
||||
C createContext(RootLiteral<C> literal, CommandSource sender);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ public class VelocityCommand<C extends VelocityCommandContext<C>> implements Raw
|
|||
public void execute(Invocation invocation) {
|
||||
var args = Arrays.stream(invocation.arguments().split(" "))
|
||||
.filter(a -> !a.isEmpty());
|
||||
var ctx = commandContextFactory.createContext(invocation.source());
|
||||
var ctx = commandContextFactory.createContext(rootLiteral, invocation.source());
|
||||
commandHandler.invoke(rootLiteral, ctx, args);
|
||||
}
|
||||
|
||||
|
|
@ -36,7 +36,7 @@ public class VelocityCommand<C extends VelocityCommandContext<C>> implements Raw
|
|||
@Override
|
||||
public List<String> suggest(Invocation invocation) {
|
||||
var args = invocation.arguments().split(" ");
|
||||
var ctx = commandContextFactory.createContext(invocation.source());
|
||||
var ctx = commandContextFactory.createContext(rootLiteral, invocation.source());
|
||||
return commandHandler.suggest(rootLiteral, ctx, args, invocation.arguments().endsWith(" "));
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue