Factions/src/com/bukkit/mcteam/factions/commands/FCommandJoin.java

58 lines
1.4 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;
public class FCommandJoin extends FCommand {
public FCommandJoin() {
requiredParameters = new ArrayList<String>();
optionalParameters = new ArrayList<String>();
requiredParameters.add("faction name");
permissions = "";
senderMustBePlayer = true;
helpNameAndParams = "join [faction name]";
helpDescription = "Join a faction";
}
public void perform() {
String factionName = parameters.get(0);
Faction faction = findFaction(factionName);
if (faction == null) {
return;
}
if (faction.id == me.factionId) {
sendMessage("You are already a member of "+faction.getTag(me));
return;
}
if (me.hasFaction()) {
sendMessage("You must leave your current faction first.");
return;
}
if( ! faction.getOpen() && ! faction.isInvited(me)) {
sendMessage("This guild requires invitation.");
faction.sendMessage(me.getNameAndRelevant(faction)+Conf.colorSystem+" tried to join your faction.");
return;
}
me.sendMessage(Conf.colorSystem+"You successfully joined "+faction.getTag(me));
faction.sendMessage(me.getNameAndRelevant(faction)+Conf.colorSystem+" joined your faction.");
me.resetFactionData();
me.factionId = faction.id;
faction.deinvite(me);
FPlayer.save();
}
}