Package com.massivecraft.factions.cmd

Source Code of com.massivecraft.factions.cmd.CmdFactionsTitle

package com.massivecraft.factions.cmd;

import org.bukkit.ChatColor;

import com.massivecraft.factions.Perm;
import com.massivecraft.factions.Rel;
import com.massivecraft.factions.cmd.arg.ARUPlayer;
import com.massivecraft.factions.cmd.req.ReqFactionsEnabled;
import com.massivecraft.factions.cmd.req.ReqRoleIsAtLeast;
import com.massivecraft.factions.entity.UPlayer;
import com.massivecraft.factions.event.FactionsEventTitleChange;
import com.massivecraft.mcore.cmd.arg.ARString;
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
import com.massivecraft.mcore.util.Txt;

public class CmdFactionsTitle extends FCommand
{
  public CmdFactionsTitle()
  {
    this.addAliases("title");
   
    this.addRequiredArg("player");
    this.addOptionalArg("title", "");
   
    this.addRequirements(ReqFactionsEnabled.get());
    this.addRequirements(ReqHasPerm.get(Perm.TITLE.node));
    this.addRequirements(ReqRoleIsAtLeast.get(Rel.OFFICER));
  }
 
  @Override
  public void perform()
  {
    // Args
    UPlayer you = this.arg(0, ARUPlayer.getStartAny(sender));
    if (you == null) return;
   
    String newTitle = this.argConcatFrom(1, ARString.get(), "");
    if (newTitle == null) return;
   
    newTitle = Txt.parse(newTitle);
    if (!Perm.TITLE_COLOR.has(sender, false))
    {
      newTitle = ChatColor.stripColor(newTitle);
    }
   
    // Verify
    if ( ! canIAdministerYou(usender, you)) return;

    // Event
    FactionsEventTitleChange event = new FactionsEventTitleChange(sender, you, newTitle);
    event.run();
    if (event.isCancelled()) return;
    newTitle = event.getNewTitle();

    // Apply
    you.setTitle(newTitle);
   
    // Inform
    usenderFaction.msg("%s<i> changed a title: %s", usender.describeTo(usenderFaction, true), you.describeTo(usenderFaction, true));
  }
 
}
TOP

Related Classes of com.massivecraft.factions.cmd.CmdFactionsTitle

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.