package net.buycraft.plugin.sponge.command;
import lombok.RequiredArgsConstructor;
import net.buycraft.plugin.sponge.BuycraftPlugin;
import org.spongepowered.api.Sponge;
import org.spongepowered.api.command.CommandException;
import org.spongepowered.api.command.CommandResult;
import org.spongepowered.api.command.CommandSource;
import org.spongepowered.api.command.args.CommandContext;
import org.spongepowered.api.command.spec.CommandExecutor;
import org.spongepowered.api.text.Text;
import org.spongepowered.api.text.format.TextColors;
@RequiredArgsConstructor
public class ForceCheckCmd implements CommandExecutor {
private final BuycraftPlugin plugin;
@Override
public CommandResult execute(CommandSource sender, CommandContext args) throws CommandException {
if (plugin.getApiClient() == null) {
sender.sendMessage(Text.builder(plugin.getI18n().get("need_secret_key")).color(TextColors.RED).build());
return CommandResult.success();
}
if (plugin.getDuePlayerFetcher().inProgress()) {
sender.sendMessage(Text.builder(plugin.getI18n().get("already_checking_for_purchases")).color(TextColors.RED).build());
return CommandResult.success();
}
Sponge.getScheduler().createTaskBuilder().execute(() -> plugin.getDuePlayerFetcher().run(false)).async().submit(plugin);
sender.sendMessage(Text.builder(plugin.getI18n().get("forcecheck_queued")).color(TextColors.GREEN).build());
return CommandResult.success();
}
}