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 pager = new Pager<>(this, title, page, MFlag.getAll(), (Stringifier) (mflag, index) -> mflag.getStateDesc(faction.getFlag(mflag), true, true, true, true, true)); // Pager args List pagerArgs = new MassiveList<>( faction.getId(), String.valueOf(page) ); pager.setArgs(pagerArgs); // Pager message pager.messageAsync(); } }