Factions/src/com/massivecraft/factions/cmd/req/ReqRankIsAtLeast.java
Magnus Ulf f347c1058a Rank rework
This makes an under the hood rank-rework. Nothing is changed from the player perspective.
2018-12-20 15:17:20 +01:00

53 lines
1.6 KiB
Java

package com.massivecraft.factions.cmd.req;
import com.massivecraft.factions.entity.MPlayer;
import com.massivecraft.factions.entity.Rank;
import com.massivecraft.massivecore.command.MassiveCommand;
import com.massivecraft.massivecore.command.requirement.RequirementAbstract;
import com.massivecraft.massivecore.util.MUtil;
import com.massivecraft.massivecore.util.Txt;
import org.bukkit.command.CommandSender;
public class ReqRankIsAtLeast extends RequirementAbstract
{
// -------------------------------------------- //
// SERIALIZABLE
// -------------------------------------------- //
private static final long serialVersionUID = 1L;
// -------------------------------------------- //
// FIELDS
// -------------------------------------------- //
private final Rank rank;
public Rank getRank() { return this.rank; }
// -------------------------------------------- //
// INSTANCE & CONSTRUCT
// -------------------------------------------- //
public static ReqRankIsAtLeast get(Rank rank) { return new ReqRankIsAtLeast(rank); }
private ReqRankIsAtLeast(Rank rank) { this.rank = rank; }
// -------------------------------------------- //
// OVERRIDE
// -------------------------------------------- //
@Override
public boolean apply(CommandSender sender, MassiveCommand command)
{
if (MUtil.isntSender(sender)) return false;
MPlayer mplayer = MPlayer.get(sender);
return mplayer.getRank().isAtLeast(this.getRank());
}
@Override
public String createErrorMessage(CommandSender sender, MassiveCommand command)
{
return Txt.parse("<b>You must be <h>%s <b>or higher to %s.", rank.getName(), getDesc(command));
}
}