package io.github.lucaseasedup.logit.command.hub;
import static io.github.lucaseasedup.logit.message.MessageHelper.sendMsg;
import static io.github.lucaseasedup.logit.message.MessageHelper.t;
import io.github.lucaseasedup.logit.account.Account;
import io.github.lucaseasedup.logit.command.CommandAccess;
import io.github.lucaseasedup.logit.command.CommandHelpLine;
import java.util.ArrayList;
import java.util.List;
import org.bukkit.command.CommandSender;
public final class AccountDatumHubCommand extends HubCommand
{
public AccountDatumHubCommand()
{
super("account datum", new String[] {"username", "key"},
new CommandAccess.Builder()
.permission("logit.account.datum")
.playerOnly(false)
.runningCoreRequired(true)
.build(),
new CommandHelpLine.Builder()
.command("logit account datum")
.descriptionLabel("subCmdDesc.account.datum")
.build());
}
@Override
public void execute(CommandSender sender, String[] args)
{
List<String> queryKeys = new ArrayList<>();
if (!args[1].equals(keys().username()))
{
queryKeys.add(keys().username());
}
queryKeys.add(args[1]);
Account account = getAccountManager().selectAccount(args[0], queryKeys);
if (account == null)
{
sendMsg(sender, t("notRegistered.others")
.replace("{0}", args[0]));
return;
}
if (!account.getEntry().containsKey(args[1]))
{
sendMsg(sender, t("accountDatum.keyNotFound")
.replace("{0}", args[1]));
return;
}
sendMsg(sender, t("accountDatum.result")
.replace("{0}", args[0].toLowerCase())
.replace("{1}", args[1])
.replace("{2}", account.getEntry().get(args[1])));
}
@Override
public List<String> complete(CommandSender sender, String[] args)
{
if (!getConfig("secret.yml").getBoolean("tabCompletion"))
return null;
if (args.length == 1)
{
return getTabCompleter().completeUsername(args[0]);
}
return null;
}
}