2011-04-08 15:51:07 +02:00
|
|
|
package org.mcteam.factions.commands;
|
2011-03-19 13:00:03 +01:00
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
2011-03-23 17:39:56 +01:00
|
|
|
import org.bukkit.command.CommandSender;
|
2011-04-08 15:51:07 +02:00
|
|
|
import org.mcteam.factions.Conf;
|
|
|
|
import org.mcteam.factions.FPlayer;
|
|
|
|
import org.mcteam.factions.Faction;
|
|
|
|
import org.mcteam.factions.Factions;
|
|
|
|
import org.mcteam.factions.struct.Role;
|
2011-03-23 17:39:56 +01:00
|
|
|
|
2011-03-19 13:00:03 +01:00
|
|
|
|
2011-03-22 15:45:41 +01:00
|
|
|
public class FCommandCreate extends FBaseCommand {
|
2011-03-19 13:00:03 +01:00
|
|
|
|
|
|
|
public FCommandCreate() {
|
2011-03-22 18:48:09 +01:00
|
|
|
aliases.add("create");
|
|
|
|
|
2011-03-19 13:00:03 +01:00
|
|
|
requiredParameters.add("faction tag");
|
2011-03-23 17:39:56 +01:00
|
|
|
|
2011-03-22 15:45:41 +01:00
|
|
|
helpDescription = "Create a new faction";
|
2011-03-19 13:00:03 +01:00
|
|
|
}
|
|
|
|
|
2011-03-23 17:39:56 +01:00
|
|
|
@Override
|
|
|
|
public boolean hasPermission(CommandSender sender) {
|
|
|
|
return Factions.hasPermCreate(sender);
|
|
|
|
}
|
|
|
|
|
2011-06-21 07:38:31 +02:00
|
|
|
@Override
|
2011-03-19 13:00:03 +01:00
|
|
|
public void perform() {
|
2011-05-08 17:16:43 +02:00
|
|
|
|
|
|
|
if( isLocked() ) {
|
|
|
|
sendLockMessage();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2011-03-19 13:00:03 +01:00
|
|
|
String tag = parameters.get(0);
|
|
|
|
|
|
|
|
if (me.hasFaction()) {
|
|
|
|
sendMessage("You must leave your current faction first.");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (Faction.isTagTaken(tag)) {
|
|
|
|
sendMessage("That tag is already in use.");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
ArrayList<String> tagValidationErrors = Faction.validateTag(tag);
|
|
|
|
if (tagValidationErrors.size() > 0) {
|
|
|
|
sendMessage(tagValidationErrors);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
Faction faction = Faction.create();
|
|
|
|
faction.setTag(tag);
|
2011-03-22 17:20:21 +01:00
|
|
|
me.setRole(Role.ADMIN);
|
|
|
|
me.setFaction(faction);
|
2011-03-19 13:00:03 +01:00
|
|
|
|
|
|
|
for (FPlayer follower : FPlayer.getAllOnline()) {
|
|
|
|
follower.sendMessage(me.getNameAndRelevant(follower)+Conf.colorSystem+" created a new faction "+faction.getTag(follower));
|
|
|
|
}
|
|
|
|
|
2011-04-08 16:03:04 +02:00
|
|
|
sendMessage("You should now: " + new FCommandDescription().getUseageTemplate());
|
2011-03-19 13:00:03 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|