Factions/src/com/massivecraft/factions/cmd/FCommand.java

81 lines
1.9 KiB
Java
Raw Normal View History

2011-10-09 21:57:43 +02:00
package com.massivecraft.factions.cmd;
2011-10-08 23:22:02 +02:00
2013-04-16 11:05:49 +02:00
import com.massivecraft.factions.Rel;
2013-04-24 15:14:15 +02:00
import com.massivecraft.factions.entity.MPlayer;
2013-04-25 13:25:15 +02:00
import com.massivecraft.factions.entity.UConf;
import com.massivecraft.factions.entity.UPlayer;
2013-04-22 09:37:53 +02:00
import com.massivecraft.factions.entity.Faction;
2014-06-04 14:02:23 +02:00
import com.massivecraft.massivecore.cmd.MassiveCommand;
import com.massivecraft.massivecore.util.Txt;
2011-10-08 23:22:02 +02:00
2014-06-04 14:02:23 +02:00
public abstract class FCommand extends MassiveCommand
2011-10-08 23:22:02 +02:00
{
2013-11-11 09:31:04 +01:00
// -------------------------------------------- //
// FIELDS
// -------------------------------------------- //
public MPlayer msender;
public UPlayer usender;
public Faction usenderFaction;
2013-04-10 10:00:40 +02:00
2013-11-11 09:31:04 +01:00
// -------------------------------------------- //
// OVERRIDE
// -------------------------------------------- //
2011-10-09 21:57:43 +02:00
@Override
public void fixSenderVars()
2011-10-08 23:22:02 +02:00
{
this.msender = MPlayer.get(sender);
2013-04-25 13:25:15 +02:00
this.usender = null;
this.usenderFaction = null;
// Check disabled
if (UConf.isDisabled(sender)) return;
this.usender = UPlayer.get(this.sender);
this.usenderFaction = this.usender.getFaction();
2011-10-08 23:22:02 +02:00
}
2013-04-16 11:05:49 +02:00
// -------------------------------------------- //
// COMMONLY USED LOGIC
// -------------------------------------------- //
public boolean canIAdministerYou(UPlayer i, UPlayer you)
2013-04-16 11:05:49 +02:00
{
if ( ! i.getFaction().equals(you.getFaction()))
{
i.sendMessage(Txt.parse("%s <b>is not in the same faction as you.",you.describeTo(i, true)));
return false;
}
if (i.getRole().isMoreThan(you.getRole()) || i.getRole().equals(Rel.LEADER) )
{
return true;
}
if (you.getRole().equals(Rel.LEADER))
{
i.sendMessage(Txt.parse("<b>Only the faction leader can do that."));
2013-04-16 11:05:49 +02:00
}
else if (i.getRole().equals(Rel.OFFICER))
{
if ( i == you )
{
return true; //Moderators can control themselves
}
else
{
i.sendMessage(Txt.parse("<b>Moderators can't control each other..."));
}
}
else
{
i.sendMessage(Txt.parse("<b>You must be a faction moderator to do that."));
}
return false;
}
2013-11-11 09:31:04 +01:00
2011-10-08 23:22:02 +02:00
}