Saber-Factions/src/main/java/com/massivecraft/factions/cmd/CmdAutoHelp.java

42 lines
1.2 KiB
Java
Raw Normal View History

package com.massivecraft.factions.cmd;
import com.massivecraft.factions.P;
import com.massivecraft.factions.zcore.CommandVisibility;
import com.massivecraft.factions.zcore.MCommand;
2014-04-04 20:55:21 +02:00
import java.util.ArrayList;
public class CmdAutoHelp extends MCommand<P> {
2014-04-04 20:55:21 +02:00
public CmdAutoHelp() {
2014-07-01 22:10:18 +02:00
super(P.p);
this.aliases.add("?");
this.aliases.add("h");
this.aliases.add("help");
2014-04-04 20:55:21 +02:00
this.setHelpShort("");
this.optionalArgs.put("page", "1");
}
@Override
public void perform() {
2014-07-01 22:10:18 +02:00
if (this.commandChain.size() == 0) {
return;
}
2014-04-04 20:55:21 +02:00
MCommand<?> pcmd = this.commandChain.get(this.commandChain.size() - 1);
ArrayList<String> lines = new ArrayList<String>();
lines.addAll(pcmd.helpLong);
for (MCommand<?> scmd : pcmd.subCommands) {
2014-07-01 21:52:40 +02:00
if (scmd.visibility == CommandVisibility.VISIBLE || (scmd.visibility == CommandVisibility.SECRET && scmd.validSenderPermissions(sender, false))) {
2014-04-04 20:55:21 +02:00
lines.add(scmd.getUseageTemplate(this.commandChain, true));
}
}
sendMessage(p.txt.getPage(lines, this.argAsInt(0, 1), "Help for command \"" + pcmd.aliases.get(0) + "\""));
}
}