51 lines
1.7 KiB
Java
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();
|
|
}
|
|
|
|
}
|