package com.massivecraft.factions.cmd; import com.massivecraft.factions.Conf; import com.massivecraft.factions.FPlayer; import com.massivecraft.factions.FactionsPlugin; import com.massivecraft.factions.struct.Permission; import com.massivecraft.factions.zcore.util.TL; import com.massivecraft.factions.zcore.util.TextUtil; public class CmdTitle extends FCommand { /** * @author FactionsUUID Team */ public CmdTitle() { this.aliases.addAll(Aliases.title); this.requiredArgs.add("player name"); this.optionalArgs.put("title", ""); this.requirements = new CommandRequirements.Builder(Permission.TITLE) .playerOnly() .build(); } @Override public void perform(CommandContext context) { FactionsPlugin.getInstance().getServer().getScheduler().runTaskAsynchronously(FactionsPlugin.instance, () -> { FPlayer you = context.argAsBestFPlayerMatch(0); if (you == null) return; context.args.remove(0); String title = TextUtil.implode(context.args, " "); if (!context.canIAdministerYou(context.fPlayer, you)) return; // if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay if (!context.payForCommand(Conf.econCostTitle, TL.COMMAND_TITLE_TOCHANGE, TL.COMMAND_TITLE_FORCHANGE)) return; you.setTitle(context.sender, title); // Inform context.faction.msg(TL.COMMAND_TITLE_CHANGED, context.fPlayer.describeTo(context.faction, true), you.describeTo(context.faction, true)); }); } @Override public TL getUsageTranslation() { return TL.COMMAND_TITLE_DESCRIPTION; } }