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

49 lines
1.2 KiB
Java
Raw Normal View History

2011-03-18 17:33:23 +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;
2011-03-19 13:00:03 +01:00
import com.bukkit.mcteam.factions.struct.Role;
2011-03-18 17:33:23 +01:00
public class FCommandLeave extends FBaseCommand {
2011-03-18 17:33:23 +01:00
public FCommandLeave() {
requiredParameters = new ArrayList<String>();
optionalParameters = new ArrayList<String>();
permissions = "";
senderMustBePlayer = true;
helpDescription = "Leave your faction";
}
public void perform() {
if ( ! assertHasFaction()) {
2011-03-19 13:00:03 +01:00
return;
}
2011-03-18 17:33:23 +01:00
2011-03-19 13:00:03 +01:00
Faction faction = me.getFaction();
2011-03-18 17:33:23 +01:00
2011-03-19 13:00:03 +01:00
if (me.role == Role.ADMIN && faction.getFPlayers().size() > 1) {
sendMessage("You must give the admin role to someone else first.");
return;
2011-03-18 17:33:23 +01:00
}
2011-03-19 13:00:03 +01:00
faction.sendMessage(me.getNameAndRelevant(faction) + Conf.colorSystem + " left your faction.");
me.resetFactionData();
FPlayer.save();
if (faction.getFPlayers().size() == 0) {
2011-03-18 17:33:23 +01:00
// Remove this faction
2011-03-19 13:00:03 +01:00
for (FPlayer fplayer : FPlayer.getAllOnline()) {
fplayer.sendMessage("The faction "+faction.getTag(fplayer)+Conf.colorSystem+" was disbanded.");
2011-03-18 17:33:23 +01:00
}
Faction.delete(faction.id);
}
}
}