package pluginbase.sponge.command;
import org.jetbrains.annotations.NotNull;
import pluginbase.command.AbstractCommandProvider;
import pluginbase.command.CommandHandler;
import pluginbase.command.QueuedCommand;
import java.io.File;
public class SpongeCommandProvider<P> extends AbstractCommandProvider<P> {
private final String pluginName;
private final File dataFolder;
private final SpongeCommandHandler commandHandler;
public static <P> SpongeCommandProvider<P> getSpongeCommandProvider(P plugin, String pluginName, String commandPrefix, File dataFolder) {
return new SpongeCommandProvider<P>(plugin, commandPrefix, true, pluginName, dataFolder);
}
public static <P> SpongeCommandProvider<P> getSpongeCommandProviderNoQueuedCommands(P plugin, String pluginName, String commandPrefix, File dataFolder) {
return new SpongeCommandProvider<P>(plugin, commandPrefix, false, pluginName, dataFolder);
}
private SpongeCommandProvider(P plugin, String commandPrefix, boolean useQueuedCommands,
String pluginName, File dataFolder) {
super(plugin, commandPrefix, useQueuedCommands);
this.pluginName = pluginName;
this.dataFolder = dataFolder;
this.commandHandler = new SpongeCommandHandler(this);
}
@NotNull
@Override
public String getName() {
return pluginName;
}
@NotNull
@Override
public File getDataFolder() {
return dataFolder;
}
@NotNull
@Override
public CommandHandler getCommandHandler() {
return commandHandler;
}
@Override
public void scheduleQueuedCommandExpiration(@NotNull QueuedCommand queuedCommand) {
}
}