pass literal to CommandContextFactory
All checks were successful
/ test (push) Successful in 1m0s
/ deploy (push) Successful in 1m12s

This commit is contained in:
kento2 2026-08-29 02:37:23 +02:00
parent b8fbda94fc
commit 613ea016f1
6 changed files with 9 additions and 7 deletions

View file

@ -28,7 +28,7 @@ public class BukkitScrowCommand<C extends BukkitCommandContext<C>> extends Comma
public boolean execute(@NotNull CommandSender commandSender, @NotNull String commandLabel, String @NotNull [] args) { public boolean execute(@NotNull CommandSender commandSender, @NotNull String commandLabel, String @NotNull [] args) {
commandHandler.invoke( commandHandler.invoke(
rootLiteral, rootLiteral,
commandContextFactory.createContext(commandSender), commandContextFactory.createContext(rootLiteral, commandSender),
Stream.of(args).filter(str -> !str.isEmpty()) Stream.of(args).filter(str -> !str.isEmpty())
); );
return true; return true;

View file

@ -1,9 +1,10 @@
package site.lab0x13.scrow.commands.bukkit; package site.lab0x13.scrow.commands.bukkit;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import site.lab0x13.scrow.commands.model.literal.RootLiteral;
@FunctionalInterface @FunctionalInterface
public interface CommandContextFactory<C extends BukkitCommandContext<C>> { public interface CommandContextFactory<C extends BukkitCommandContext<C>> {
C createContext(CommandSender sender); C createContext(RootLiteral<C> literal, CommandSender sender);
} }

View file

@ -38,7 +38,7 @@ public class TabCompleteListener<C extends BukkitCommandContext<C>> implements L
ev.setHandled(true); ev.setHandled(true);
ev.setCompletions(commandHandler.suggest( ev.setCompletions(commandHandler.suggest(
literal, literal,
commandContextFactory.createContext(ev.getSender()), commandContextFactory.createContext(literal, ev.getSender()),
Arrays.copyOfRange(args, 1, args.length), Arrays.copyOfRange(args, 1, args.length),
ev.getBuffer().endsWith(" ") ev.getBuffer().endsWith(" ")
)); ));

View file

@ -1,2 +1,2 @@
GROUP = "site.lab0x13.scrow" GROUP = "site.lab0x13.scrow"
VERSION = "1.0.1" VERSION = "1.1.1"

View file

@ -1,9 +1,10 @@
package site.lab0x13.scrow.commands.velocity; package site.lab0x13.scrow.commands.velocity;
import com.velocitypowered.api.command.CommandSource; import com.velocitypowered.api.command.CommandSource;
import site.lab0x13.scrow.commands.model.literal.RootLiteral;
@FunctionalInterface @FunctionalInterface
public interface CommandContextFactory<C extends VelocityCommandContext<C>> { public interface CommandContextFactory<C extends VelocityCommandContext<C>> {
C createContext(CommandSource sender); C createContext(RootLiteral<C> literal, CommandSource sender);
} }

View file

@ -23,7 +23,7 @@ public class VelocityCommand<C extends VelocityCommandContext<C>> implements Raw
public void execute(Invocation invocation) { public void execute(Invocation invocation) {
var args = Arrays.stream(invocation.arguments().split(" ")) var args = Arrays.stream(invocation.arguments().split(" "))
.filter(a -> !a.isEmpty()); .filter(a -> !a.isEmpty());
var ctx = commandContextFactory.createContext(invocation.source()); var ctx = commandContextFactory.createContext(rootLiteral, invocation.source());
commandHandler.invoke(rootLiteral, ctx, args); commandHandler.invoke(rootLiteral, ctx, args);
} }
@ -36,7 +36,7 @@ public class VelocityCommand<C extends VelocityCommandContext<C>> implements Raw
@Override @Override
public List<String> suggest(Invocation invocation) { public List<String> suggest(Invocation invocation) {
var args = invocation.arguments().split(" "); 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(" ")); return commandHandler.suggest(rootLiteral, ctx, args, invocation.arguments().endsWith(" "));
} }
} }