47 lines
1.3 KiB
Java
47 lines
1.3 KiB
Java
![]() |
package com.massivecraft.factions.cmd;
|
||
|
|
||
|
import com.massivecraft.factions.cmd.type.TypeVote;
|
||
|
import com.massivecraft.factions.entity.MPerm;
|
||
|
import com.massivecraft.factions.entity.Vote;
|
||
|
import com.massivecraft.massivecore.MassiveException;
|
||
|
import com.massivecraft.massivecore.command.type.primitive.TypeString;
|
||
|
|
||
|
public class CmdFactionsVoteDo extends FactionsCommandWarp
|
||
|
{
|
||
|
// -------------------------------------------- //
|
||
|
// CONSTRUCT
|
||
|
// -------------------------------------------- //
|
||
|
|
||
|
public CmdFactionsVoteDo()
|
||
|
{
|
||
|
// Parameters
|
||
|
this.addParameter(TypeVote.get());
|
||
|
this.addParameter(TypeString.get(), "option");
|
||
|
}
|
||
|
|
||
|
// -------------------------------------------- //
|
||
|
// OVERRIDE
|
||
|
// -------------------------------------------- //
|
||
|
|
||
|
@Override
|
||
|
public void perform() throws MassiveException
|
||
|
{
|
||
|
// Args
|
||
|
Vote vote = TypeVote.get(msenderFaction).read(this.arg(), sender);
|
||
|
String option = this.readArg();
|
||
|
|
||
|
// Any and MPerm
|
||
|
if ( ! MPerm.getPermVote().has(msender, msenderFaction, true)) return;
|
||
|
|
||
|
if (vote.getOptions().stream().noneMatch(option::equalsIgnoreCase))
|
||
|
{
|
||
|
throw new MassiveException().addMsg("<b>No option in <h>%s <b>matches <h>%s<b>.", vote.getName(), option);
|
||
|
}
|
||
|
|
||
|
vote.setVote(msender, option);
|
||
|
|
||
|
msg("<i>Succesfully voted for <h>%s <i>in <h>%s<i>.", option, vote.getName());
|
||
|
}
|
||
|
|
||
|
}
|