2011-07-18 22:06:02 +02:00
|
|
|
package com.massivecraft.factions.commands;
|
2011-03-22 15:45:41 +01:00
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
2011-03-23 17:39:56 +01:00
|
|
|
import org.bukkit.command.CommandSender;
|
2011-07-18 22:06:02 +02:00
|
|
|
|
|
|
|
import com.massivecraft.factions.Conf;
|
|
|
|
import com.massivecraft.factions.util.TextUtil;
|
2011-03-23 17:39:56 +01:00
|
|
|
|
2011-03-22 15:45:41 +01:00
|
|
|
|
|
|
|
public class FCommandHelp extends FBaseCommand {
|
|
|
|
|
|
|
|
public FCommandHelp() {
|
2011-03-22 18:48:09 +01:00
|
|
|
aliases.add("help");
|
|
|
|
aliases.add("h");
|
|
|
|
aliases.add("?");
|
|
|
|
|
2011-03-23 17:39:56 +01:00
|
|
|
optionalParameters.add("page");
|
2011-03-22 15:45:41 +01:00
|
|
|
|
|
|
|
helpDescription = "Display a help page";
|
|
|
|
}
|
|
|
|
|
2011-03-23 17:39:56 +01:00
|
|
|
@Override
|
|
|
|
public boolean hasPermission(CommandSender sender) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
2011-06-21 07:38:31 +02:00
|
|
|
@Override
|
2011-03-22 15:45:41 +01:00
|
|
|
public void perform() {
|
|
|
|
int page = 1;
|
|
|
|
if (parameters.size() > 0) {
|
|
|
|
try {
|
|
|
|
page = Integer.parseInt(parameters.get(0));
|
|
|
|
} catch (NumberFormatException e) {
|
|
|
|
// wasn't an integer
|
|
|
|
}
|
|
|
|
}
|
|
|
|
sendMessage(TextUtil.titleize("Factions Help ("+page+"/"+helpPages.size()+")"));
|
|
|
|
page -= 1;
|
|
|
|
if (page < 0 || page >= helpPages.size()) {
|
|
|
|
sendMessage("This page does not exist");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
sendMessage(helpPages.get(page));
|
|
|
|
}
|
|
|
|
|
|
|
|
//----------------------------------------------//
|
|
|
|
// Build the help pages
|
|
|
|
//----------------------------------------------//
|
|
|
|
|
2011-06-21 07:38:31 +02:00
|
|
|
public static final ArrayList<ArrayList<String>> helpPages;
|
2011-03-22 15:45:41 +01:00
|
|
|
|
|
|
|
static {
|
|
|
|
helpPages = new ArrayList<ArrayList<String>>();
|
|
|
|
ArrayList<String> pageLines;
|
|
|
|
|
|
|
|
pageLines = new ArrayList<String>();
|
2011-04-08 16:03:04 +02:00
|
|
|
pageLines.add( new FCommandHelp().getUseageTemplate() );
|
|
|
|
pageLines.add( new FCommandList().getUseageTemplate() );
|
|
|
|
pageLines.add( new FCommandShow().getUseageTemplate() );
|
2011-07-25 20:16:14 +02:00
|
|
|
pageLines.add( new FCommandPower().getUseageTemplate() );
|
2011-04-08 16:03:04 +02:00
|
|
|
pageLines.add( new FCommandJoin().getUseageTemplate() );
|
|
|
|
pageLines.add( new FCommandLeave().getUseageTemplate() );
|
|
|
|
pageLines.add( new FCommandChat().getUseageTemplate() );
|
|
|
|
pageLines.add( new FCommandHome().getUseageTemplate() );
|
2011-03-23 17:39:56 +01:00
|
|
|
pageLines.add( "Learn how to create a faction on the next page." );
|
2011-03-22 15:45:41 +01:00
|
|
|
helpPages.add(pageLines);
|
|
|
|
|
2011-03-23 17:39:56 +01:00
|
|
|
pageLines = new ArrayList<String>();
|
2011-04-08 16:03:04 +02:00
|
|
|
pageLines.add( new FCommandCreate().getUseageTemplate() );
|
|
|
|
pageLines.add( new FCommandDescription().getUseageTemplate() );
|
2011-06-10 21:26:12 +02:00
|
|
|
pageLines.add( new FCommandTag().getUseageTemplate() );
|
2011-06-03 20:00:16 +02:00
|
|
|
pageLines.add( "You might want to close it and use invitations:" );
|
2011-04-08 16:03:04 +02:00
|
|
|
pageLines.add( new FCommandOpen().getUseageTemplate() );
|
|
|
|
pageLines.add( new FCommandInvite().getUseageTemplate() );
|
|
|
|
pageLines.add( new FCommandDeinvite().getUseageTemplate() );
|
2011-03-23 17:39:56 +01:00
|
|
|
pageLines.add( "And don't forget to set your home:" );
|
2011-04-08 16:03:04 +02:00
|
|
|
pageLines.add( new FCommandSethome().getUseageTemplate() );
|
2011-03-23 17:39:56 +01:00
|
|
|
helpPages.add(pageLines);
|
|
|
|
|
|
|
|
pageLines = new ArrayList<String>();
|
2011-04-08 16:03:04 +02:00
|
|
|
pageLines.add( new FCommandClaim().getUseageTemplate() );
|
2011-06-10 21:26:12 +02:00
|
|
|
pageLines.add( new FCommandAutoClaim().getUseageTemplate() );
|
2011-04-08 16:03:04 +02:00
|
|
|
pageLines.add( new FCommandUnclaim().getUseageTemplate() );
|
2011-04-08 16:22:00 +02:00
|
|
|
pageLines.add( new FCommandUnclaimall().getUseageTemplate() );
|
2011-04-08 16:03:04 +02:00
|
|
|
pageLines.add( new FCommandKick().getUseageTemplate() );
|
|
|
|
pageLines.add( new FCommandMod().getUseageTemplate() );
|
|
|
|
pageLines.add( new FCommandAdmin().getUseageTemplate() );
|
|
|
|
pageLines.add( new FCommandTitle().getUseageTemplate() );
|
2011-03-23 17:39:56 +01:00
|
|
|
pageLines.add( "Player titles are just for fun. No rules connected to them." );
|
2011-03-22 15:45:41 +01:00
|
|
|
helpPages.add(pageLines);
|
|
|
|
|
2011-03-23 17:39:56 +01:00
|
|
|
pageLines = new ArrayList<String>();
|
2011-07-25 20:16:14 +02:00
|
|
|
pageLines.add( new FCommandMap().getUseageTemplate() );
|
2011-04-08 16:03:04 +02:00
|
|
|
pageLines.add( new FCommandRelationAlly().getUseageTemplate() );
|
|
|
|
pageLines.add( new FCommandRelationNeutral().getUseageTemplate() );
|
|
|
|
pageLines.add( new FCommandRelationEnemy().getUseageTemplate() );
|
2011-03-22 15:45:41 +01:00
|
|
|
pageLines.add("");
|
2011-03-23 17:39:56 +01:00
|
|
|
pageLines.add("Set the relation you WISH to have with another faction.");
|
|
|
|
pageLines.add("Your default relation with other factions will be neutral.");
|
|
|
|
pageLines.add("If BOTH factions choose \"ally\" you will be allies.");
|
|
|
|
pageLines.add("If ONE faction chooses \"enemy\" you will be enemies.");
|
2011-03-22 15:45:41 +01:00
|
|
|
helpPages.add(pageLines);
|
|
|
|
|
2011-03-23 17:39:56 +01:00
|
|
|
pageLines = new ArrayList<String>();
|
|
|
|
pageLines.add("You can never hurt members or allies.");
|
|
|
|
pageLines.add("You can not hurt neutrals in their own territory.");
|
|
|
|
pageLines.add("You can always hurt enemies and players without faction.");
|
2011-03-22 15:45:41 +01:00
|
|
|
pageLines.add("");
|
2011-03-23 17:39:56 +01:00
|
|
|
pageLines.add("Damage from enemies is reduced in your own territory.");
|
|
|
|
pageLines.add("When you die you lose power. It is restored over time.");
|
|
|
|
pageLines.add("The power of a faction is the sum of all member power.");
|
|
|
|
pageLines.add("The power of a faction determines how much land it can hold.");
|
|
|
|
pageLines.add("You can claim land from factions with too little power.");
|
2011-03-22 15:45:41 +01:00
|
|
|
helpPages.add(pageLines);
|
|
|
|
|
|
|
|
pageLines = new ArrayList<String>();
|
2011-03-23 17:39:56 +01:00
|
|
|
pageLines.add("Only faction members can build and destroy in their own");
|
|
|
|
pageLines.add("territory. Usage of the following items is also restricted:");
|
2011-07-25 00:38:58 +02:00
|
|
|
pageLines.add("Door, Chest, Furnace, Dispenser, Diode.");
|
2011-03-23 17:39:56 +01:00
|
|
|
pageLines.add("");
|
|
|
|
pageLines.add("Make sure to put pressure plates in front of doors for your");
|
|
|
|
pageLines.add("guest visitors. Otherwise they can't get through. You can");
|
|
|
|
pageLines.add("also use this to create member only areas.");
|
|
|
|
pageLines.add("As dispensers are protected, you can create traps without");
|
|
|
|
pageLines.add("worrying about those arrows getting stolen.");
|
|
|
|
helpPages.add(pageLines);
|
2011-03-22 15:45:41 +01:00
|
|
|
|
2011-03-23 17:39:56 +01:00
|
|
|
pageLines = new ArrayList<String>();
|
|
|
|
pageLines.add("Finally some commands for the server admins:");
|
2011-06-16 09:34:56 +02:00
|
|
|
pageLines.add( new FCommandDisband().getUseageTemplate() );
|
2011-04-08 16:03:04 +02:00
|
|
|
pageLines.add( new FCommandSafeclaim().getUseageTemplate() );
|
2011-06-10 21:26:12 +02:00
|
|
|
pageLines.add( new FCommandAutoSafeclaim().getUseageTemplate() );
|
2011-05-29 23:28:29 +02:00
|
|
|
pageLines.add( new FCommandSafeunclaimall().getUseageTemplate() );
|
|
|
|
pageLines.add( new FCommandWarclaim().getUseageTemplate() );
|
2011-06-10 21:26:12 +02:00
|
|
|
pageLines.add( new FCommandAutoWarclaim().getUseageTemplate() );
|
2011-05-29 23:28:29 +02:00
|
|
|
pageLines.add( new FCommandWarunclaimall().getUseageTemplate() );
|
2011-06-21 07:38:31 +02:00
|
|
|
pageLines.add("Note: " + Conf.colorCommand + "f unclaim" + Conf.colorSystem + " works on safe/war zones as well.");
|
2011-03-22 15:45:41 +01:00
|
|
|
helpPages.add(pageLines);
|
2011-05-29 23:28:29 +02:00
|
|
|
|
|
|
|
pageLines = new ArrayList<String>();
|
|
|
|
pageLines.add("More commands for server admins:");
|
2011-06-19 10:56:21 +02:00
|
|
|
pageLines.add( new FCommandBypass().getUseageTemplate() );
|
2011-06-10 21:26:12 +02:00
|
|
|
pageLines.add( new FCommandWorldNoClaim().getUseageTemplate() );
|
|
|
|
pageLines.add( new FCommandWorldNoPowerLoss().getUseageTemplate() );
|
2011-05-29 23:28:29 +02:00
|
|
|
pageLines.add( new FCommandLock().getUseageTemplate() );
|
|
|
|
pageLines.add( new FCommandReload().getUseageTemplate() );
|
|
|
|
pageLines.add( new FCommandSaveAll().getUseageTemplate() );
|
2011-06-16 09:34:56 +02:00
|
|
|
pageLines.add( new FCommandVersion().getUseageTemplate() );
|
2011-07-22 14:25:12 +02:00
|
|
|
pageLines.add( new FCommandConfig().getUseageTemplate() );
|
2011-05-29 23:28:29 +02:00
|
|
|
helpPages.add(pageLines);
|
2011-03-22 15:45:41 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|