package com.intellectualcrafters.plot.util.helpmenu;
import com.intellectualcrafters.plot.config.C;
import com.intellectualcrafters.plot.util.StringMan;
import com.plotsquared.general.commands.Argument;
import com.plotsquared.general.commands.Command;
public class HelpObject {
private final String _rendered;
public HelpObject(final Command command, final String label) {
_rendered = StringMan.replaceAll(C.HELP_ITEM.s(), "%usage%", command.getUsage().replaceAll("\\{label\\}", label), "[%alias%]",
!command.getAliases().isEmpty() ? "(" + StringMan.join(command.getAliases(), "|") + ")" : "", "%desc%", command.getDescription(),
"%arguments%",
buildArgumentList(command.getRequiredArguments()), "{label}", label);
}
@Override
public String toString() {
return _rendered;
}
private String buildArgumentList(final Argument[] arguments) {
if (arguments == null) {
return "";
}
final StringBuilder builder = new StringBuilder();
for (final Argument<?> argument : arguments) {
builder.append("[").append(argument.getName()).append(" (").append(argument.getExample()).append(")],");
}
return arguments.length > 0 ? builder.substring(0, builder.length() - 1) : "";
}
}