Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fr.creatruth.land.command;
- import fr.creatruth.land.LandMain;
- import fr.creatruth.land.LandManager;
- import fr.creatruth.land.utils.EHelp;
- import fr.creatruth.land.utils.Message;
- import fr.creatruth.land.utils.NumberFormat;
- import fr.creatruth.land.utils.Sender;
- import org.bukkit.World;
- import org.bukkit.block.CommandBlock;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- public class CmdHelp {
- private static List<EHelp> helps = new ArrayList<>();
- public static void showHelp(CommandSender sender, String[] args) {
- showHelp(sender, NumberFormat.getInteger((args.length > 1 ? args[1] : null), 1));
- }
- public static void showHelp(CommandSender sender, int page) {
- if (sender instanceof CommandBlock) return;
- Player player = Sender.getPlayer(sender);
- int max = 4, maxPage;
- List<EHelp> commands = new ArrayList<>();
- for (EHelp eHelp : getHelp()) if (eHelp == null || eHelp.hasPerm(sender)) commands.add(eHelp);
- maxPage = (int) Math.ceil((double) commands.size() / max);
- if (page > maxPage) page = maxPage;
- else if (page < 1) page = 1;
- StringBuilder builder = new StringBuilder();
- builder.append("§6---------------- §lAide parcelles§6 ----------------\n");
- for (int ctr = (page - 1) * max; ctr < (page * max) && ctr < commands.size(); ctr++)
- addToHelp(player, builder, commands.get(ctr));
- builder.append("\n§6--------------------- §e").append(page);
- builder.append("§7/§e").append(maxPage).append(" §6-----------------------");
- Message.send(sender, builder);
- }
- private static void addToHelp(Player player, StringBuilder builder, EHelp help) {
- builder.append("\n");
- if (help == null) {
- if (player != null) {
- World w = LandManager.isLandWorld(player) ? player.getWorld() : LandManager.getFirstWorld();
- int maxLands = LandMain.getLandLimit(player);
- builder.append(String.format("§2Nombre de parcelle à vous dans ce monde: §f%d§2 sur §f%s§2.",
- LandManager.getNbOwnedLand(player, w), (maxLands == -1 ? "illimité" : " " + maxLands)));
- builder.append("\n§7§oArguments: §e§o<arg> = Obligatoire §7§oet §e§o[arg] = Option");
- }
- }
- else {
- builder.append("§a ").append(help.getCommand()).append("\n");
- builder.append("§f").append(help.getDescription());
- }
- }
- private static List<EHelp> getHelp() {
- if (helps.size() == 0) {
- helps.add(null); //Limit
- helps.addAll(Arrays.asList(EHelp.values()));
- }
- return helps;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement