aikar / aikar/commands

Commands completion list not updated when a root command is unregistered

Abierto
#273 5 comentarios 1 reacción 0 asignados Ver en GitHub
bukkit question
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

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.