package com.massivecraft.factions.cmd; import com.massivecraft.factions.Board; import com.massivecraft.factions.Conf; import com.massivecraft.factions.FLocation; import com.massivecraft.factions.Faction; import com.massivecraft.factions.struct.Permission; import com.massivecraft.factions.struct.Role; public class CmdSethome extends FCommand { public CmdSethome() { this.aliases.add("sethome"); //this.requiredArgs.add(""); this.optionalArgs.put("faction tag", "mine"); this.permission = Permission.SETHOME.node; this.disableOnLock = true; senderMustBePlayer = true; senderMustBeMember = false; senderMustBeModerator = false; senderMustBeAdmin = false; } @Override public void perform() { if ( ! Conf.homesEnabled) { fme.sendMessageParsed("Sorry, Faction homes are disabled on this server."); return; } Faction faction = this.argAsFaction(0, myFaction); if (faction == null) return; // Can the player set the home for this faction? if (faction == myFaction) { if ( ! Permission.SETHOME_ANY.has(sender) && ! assertMinRole(Role.MODERATOR)) return; } else { if (Permission.SETHOME_ANY.has(sender, true)) return; } // Can the player set the faction home HERE? if ( ! Permission.BYPASS.has(me) && Conf.homesMustBeInClaimedTerritory && Board.getFactionAt(new FLocation(me)) != faction ) { fme.sendMessageParsed("Sorry, your faction home can only be set inside your own claimed territory."); return; } // if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay if ( ! payForCommand(Conf.econCostSethome)) return; faction.setHome(me.getLocation()); faction.sendMessageParsed("%s set the home for your faction. You can now use:", fme.getNameAndRelevant(myFaction)); faction.sendMessage(p.cmdBase.cmdHome.getUseageTemplate()); if (faction != myFaction) { fme.sendMessageParsed("You have set the home for the "+faction.getTag(fme)+" faction."); } } }