Saber-Factions/src/com/bukkit/mcteam/factions/commands/FCommandCreate.java

60 lines
1.5 KiB
Java
Raw Normal View History

2011-03-19 13:00:03 +01:00
package com.bukkit.mcteam.factions.commands;
import java.util.ArrayList;
import com.bukkit.mcteam.factions.Conf;
import com.bukkit.mcteam.factions.FPlayer;
import com.bukkit.mcteam.factions.Faction;
import com.bukkit.mcteam.factions.struct.Role;
public class FCommandCreate extends FCommand {
public FCommandCreate() {
requiredParameters = new ArrayList<String>();
optionalParameters = new ArrayList<String>();
requiredParameters.add("faction tag");
permissions = "";
senderMustBePlayer = true;
helpNameAndParams = "create [faction tag]";
helpDescription = "Create new faction";
}
public void perform() {
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);
me.role = Role.ADMIN;
me.factionId = faction.id;
Faction.save();
FPlayer.save();
for (FPlayer follower : FPlayer.getAllOnline()) {
follower.sendMessage(me.getNameAndRelevant(follower)+Conf.colorSystem+" created a new faction "+faction.getTag(follower));
}
sendMessage("Now update your faction description. Use:");
sendMessage(Conf.colorCommand+Conf.aliasBase.get(0)+" "+Conf.aliasDescription.get(0)+" "+"[description]");
}
}