Advertisement
Guest User

Untitled

a guest
Jan 29th, 2015
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.83 KB | None | 0 0
  1. package fr.creatruth.land.command;
  2.  
  3. import fr.creatruth.land.LandMain;
  4. import fr.creatruth.land.LandManager;
  5. import fr.creatruth.land.utils.EHelp;
  6. import fr.creatruth.land.utils.Message;
  7. import fr.creatruth.land.utils.NumberFormat;
  8. import fr.creatruth.land.utils.Sender;
  9. import org.bukkit.World;
  10. import org.bukkit.block.CommandBlock;
  11. import org.bukkit.command.CommandSender;
  12. import org.bukkit.entity.Player;
  13.  
  14. import java.util.ArrayList;
  15. import java.util.Arrays;
  16. import java.util.List;
  17.  
  18. public class CmdHelp {
  19.  
  20.     private static List<EHelp> helps = new ArrayList<>();
  21.  
  22.     public static void showHelp(CommandSender sender, String[] args) {
  23.         showHelp(sender, NumberFormat.getInteger((args.length > 1 ? args[1] : null), 1));
  24.     }
  25.  
  26.     public static void showHelp(CommandSender sender, int page) {
  27.         if (sender instanceof CommandBlock) return;
  28.         Player player = Sender.getPlayer(sender);
  29.         int max = 4, maxPage;
  30.         List<EHelp> commands = new ArrayList<>();
  31.         for (EHelp eHelp : getHelp()) if (eHelp == null || eHelp.hasPerm(sender)) commands.add(eHelp);
  32.         maxPage = (int) Math.ceil((double) commands.size() / max);
  33.         if (page > maxPage) page = maxPage;
  34.         else if (page < 1) page = 1;
  35.         StringBuilder builder = new StringBuilder();
  36.         builder.append("§6---------------- §lAide  parcelles§6 ----------------\n");
  37.         for (int ctr = (page - 1) * max; ctr < (page * max) && ctr < commands.size(); ctr++)
  38.             addToHelp(player, builder, commands.get(ctr));
  39.         builder.append("\n§6--------------------- §e").append(page);
  40.         builder.append("§7/§e").append(maxPage).append(" §6-----------------------");
  41.         Message.send(sender, builder);
  42.     }
  43.  
  44.     private static void addToHelp(Player player, StringBuilder builder, EHelp help) {
  45.         builder.append("\n");
  46.         if (help == null) {
  47.             if (player != null) {
  48.                 World w = LandManager.isLandWorld(player) ? player.getWorld() : LandManager.getFirstWorld();
  49.                 int maxLands = LandMain.getLandLimit(player);
  50.                 builder.append(String.format("§2Nombre de parcelle à vous dans ce monde: §f%d§2 sur §f%s§2.",
  51.                         LandManager.getNbOwnedLand(player, w), (maxLands == -1 ? "illimité" : " " + maxLands)));
  52.                 builder.append("\n§7§oArguments: §e§o<arg> = Obligatoire §7§oet §e§o[arg] = Option");
  53.             }
  54.         }
  55.         else {
  56.             builder.append("§a ").append(help.getCommand()).append("\n");
  57.             builder.append("§f").append(help.getDescription());
  58.         }
  59.     }
  60.  
  61.     private static List<EHelp> getHelp() {
  62.         if (helps.size() == 0) {
  63.             helps.add(null); //Limit
  64.             helps.addAll(Arrays.asList(EHelp.values()));
  65.         }
  66.         return helps;
  67.     }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement