Don't require BukkitCommandManager to use BukkitCommandSender

This commit is contained in:
Alexander Söderberg 2020-09-15 14:07:00 +02:00
parent d144c3ea8c
commit d78d64329b
No known key found for this signature in database
GPG key ID: C0207FF7EA146678
6 changed files with 84 additions and 37 deletions

View file

@ -32,7 +32,8 @@ import org.bukkit.plugin.Plugin;
import javax.annotation.Nonnull;
import java.util.List;
final class BukkitCommand<C extends BukkitCommandSender> extends org.bukkit.command.Command implements PluginIdentifiableCommand {
final class BukkitCommand<C extends com.intellectualsites.commands.sender.CommandSender>
extends org.bukkit.command.Command implements PluginIdentifiableCommand {
private final CommandComponent<C, ?> command;
private final BukkitCommandManager<C> bukkitCommandManager;
@ -54,7 +55,8 @@ final class BukkitCommand<C extends BukkitCommandSender> extends org.bukkit.comm
for (final String string : strings) {
builder.append(" ").append(string);
}
this.bukkitCommandManager.executeCommand((C) BukkitCommandSender.of(commandSender), builder.toString())
this.bukkitCommandManager.executeCommand(this.bukkitCommandManager.getCommandSenderMapper().apply(commandSender),
builder.toString())
.whenComplete(((commandResult, throwable) -> {
if (throwable != null) {
commandSender.sendMessage(ChatColor.RED + throwable.getCause().getMessage());
@ -79,7 +81,8 @@ final class BukkitCommand<C extends BukkitCommandSender> extends org.bukkit.comm
for (final String string : args) {
builder.append(" ").append(string);
}
return this.bukkitCommandManager.suggest((C) BukkitCommandSender.of(sender), builder.toString());
return this.bukkitCommandManager.suggest(this.bukkitCommandManager.getCommandSenderMapper().apply(sender),
builder.toString());
}
@Override