51 lines
1.7 KiB
Java

package net.knarcraft.factions.cmd;
import com.massivecraft.massivecore.MassiveException;
import com.massivecraft.massivecore.collections.MassiveList;
import com.massivecraft.massivecore.command.Parameter;
import com.massivecraft.massivecore.pager.Pager;
import com.massivecraft.massivecore.pager.Stringifier;
import net.knarcraft.factions.cmd.type.TypeFaction;
import net.knarcraft.factions.entity.Faction;
import net.knarcraft.factions.entity.MFlag;
import java.util.List;
public class CmdFactionsFlagShow extends FactionsCommand {
// -------------------------------------------- //
// CONSTRUCT
// -------------------------------------------- //
public CmdFactionsFlagShow() {
// Parameters
this.addParameter(TypeFaction.get(), "faction", "you").setDesc("the faction to show flags for");
this.addParameter(Parameter.getPage());
}
// -------------------------------------------- //
// OVERRIDE
// -------------------------------------------- //
@Override
public void perform() throws MassiveException {
// Parameters
final Faction faction = this.readArg(msenderFaction);
int page = this.readArg();
// Pager create
String title = "Flags for " + faction.describeTo(msender);
Pager<MFlag> pager = new Pager<>(this, title, page, MFlag.getAll(), (Stringifier<MFlag>) (mflag, index) -> mflag.getStateDesc(faction.getFlag(mflag), true, true, true, true, true));
// Pager args
List<String> pagerArgs = new MassiveList<>(
faction.getId(),
String.valueOf(page)
);
pager.setArgs(pagerArgs);
// Pager message
pager.messageAsync();
}
}