Commands completion list not updated when a root command is unregistered
- Lenguaje dominante
- Java
- Estrellas
- 628
- Forks
- 150
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
I've tried to register user-defined commands, but, when I try to un-register and re-register them (reloading the config), the tab completions don't get updated when the commands in the config change, despite they work correctly.
This happens only for player tab completions, and not console ones.
I've already tried with `player.updateCommands()`, but nothing changes.
Server Version: Paper 1.15.2
Command registration:
```
public static void registerBook(IBook book)
{
if(!book.getOpenCommands().isEmpty())
{
CommandReplacements replacements = commandManager.getCommandReplacements();
replacements.addReplacement("openbook", String.join("|", book.getOpenCommands()));
replacements.addReplacement("interactivebooks.open", "interactivebooks.open." + book.getId());
CommandOpenBook command = new CommandOpenBook(book);
commandManager.registerCommand(command);
book.setCommandExecutor(command);
}
books.put(book.getId(), book);
}
```
Command un-register:
```
public static void unregisterBook(String id)
{
IBook book = getBook(id);
if(book.getCommandExecutor() != null)
commandManager.unregisterCommand(book.getCommandExecutor());
books.remove(id);
}
```
CommandOpenBook class:
```
@CommandAlias("%openbook")
@CommandPermission("%interactivebooks.open")
public final class CommandOpenBook extends BaseCommand {
private final IBook book;
public CommandOpenBook(IBook book)
{
super();
this.book = book;
}
@Default
@CatchUnknown
public void onCommand(Player player)
{
book.open(player);
}
}
```
Guía de contribución
Evaluación
Este issue todavía no se ha evaluado.