Advertisement
Nolifeq

[ GUI ] PRACA NAGŁÓWEK

Apr 7th, 2024 (edited)
699
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.26 KB | None | 0 0
  1. package PRACA;
  2. public static void showJobGUI(Player p, PluginPlayer user) {
  3.     RemovableInventoryMenuBuilder imb = new RemovableInventoryMenuBuilder();
  4.     imb.withSize(54);
  5.     imb.withTitle("§x§D§4§0§0§0§0Panel dostępnych prac: ");
  6.     InventoryUtil.registerInvCloser(imb, 50);
  7.     int row = 19;
  8.     for (JobType job : JobType.values()) {
  9.         if (job != JobType.EMPTY) {
  10.             while ((row % 9 == 0 || (row + 1) % 9 == 0 ||
  11.                     (row % 9 - 1) == 0 || (row + 2) % 9 == 0
  12.                     || row == 29 || row == 33 || row == 22)
  13.                     && row != 19 && row != 25) {
  14.                 row++;
  15.             }
  16.  
  17.             int actualLevel = user.getJobsLevel().getOrDefault(job, 0);
  18.             int actualExp = user.getJobsExp().getOrDefault(job, 0);
  19.             List<String> rows = new ArrayList<>();
  20.             if (user.getJobType().equals(job)) {
  21.                 rows.add("§x§D§4§0§0§0§0Ta praca jest Twoją aktualną pracą!");
  22.             } else if (user.getJobType().equals(JobType.EMPTY)) {
  23.                 rows.add("§x§D§4§0§0§0§0Kliknij, aby dołączyć do pracy!");
  24.             }
  25.             rows.add("§x§F§F§D§7§0§0Aktualny poziom pracy: §x§D§3§D§3§D§3" + actualLevel + " lvl");
  26.             rows.add("§x§F§F§D§7§0§0Do następnego poziomu: §x§D§3§D§3§D§3" + (actualLevel == 100 ? "(Poziom maksymalny)" : actualExp + "/" + user.getExpToNextJobLvl(
  27.                     job) + " punktów"));
  28.             rows.add("§x§F§F§D§7§0§0Wymagany poziom globalny: §x§D§3§D§3§D§3" +
  29.                     (job.getMinimalGlobalLevel() != 0 ? job.getMinimalGlobalLevel() + " lvl" : "od każdego poziomu"));
  30.             rows.add("§x§F§F§D§7§0§0Szmaragd informuje o globalnym poziomie pracy");
  31.             rows.add("§x§D§3§D§3§D§3───────────────");
  32.             rows.add("§x§9§A§C§D§3§2Punkty zdobywasz za:");
  33.             rows.addAll(Arrays.asList(job.getJobActions()));
  34.  
  35.             String[] array = new String[rows.size()];
  36.             rows.toArray(array);
  37.  
  38.             InventoryUtil.registerInvCommand(imb,
  39.                     "praca dolacz " + job,
  40.                     InventoryUtil.createCustomItem(job.getJobItem(),
  41.                             (actualLevel == 0 ? 1 : actualLevel),
  42.                             "§5" + "§x§D§4§0§0§0§0Praca: §x§D§4§0§0§0§0§l" + job.getJobName(),
  43.                             array),
  44.                     row,
  45.                     true);
  46.             row++;
  47.         }
  48.     }
  49.  
  50.     imb.withItem(4, InventoryUtil.createCustomItem(Material.EMERALD,
  51.             (user.getJobGlobalLevel() == 0 ? 1 : user.getJobGlobalLevel()),
  52.             "§x§F§C§B§9§4§4§lGlobalny poziom pracy: §x§F§F§D§7§0§0§l" + user.getJobGlobalLevel() + " lvl",
  53.             MUtil.COLOR_GRAY + "§x§F§F§D§7§0§0[+] §x§D§3§D§3§D§3Do następnego poziomu: §x§F§F§D§7§0§0"
  54.                     + user.getJobGlobalExp() + "/" + user.getExpToNextGlobalLvl() + " punktów",
  55.             MUtil.COLOR_GRAY + "§x§F§F§D§7§0§0[+] §x§D§3§D§3§D§3Maksymalny globalny poziom pracy to §x§F§F§D§7§0§0100 lvl",
  56.             MUtil.COLOR_GRAY + "§x§F§F§D§7§0§0[+] §x§D§3§D§3§D§3Maksymalny poziom poszczególnych prac to §x§F§F§D§7§0§0100 lvl",
  57.             MUtil.COLOR_GRAY + "§x§F§F§D§7§0§0[+] §x§D§3§D§3§D§3Globalny poziom pracy służy do odblokowania poszczególnych prac",
  58.             MUtil.COLOR_GRAY + "§x§F§F§D§7§0§0[+] §x§D§3§D§3§D§3Górnik i drwal nie wymagają globalnego levelu pracy"));
  59.     InventoryUtil.registerInvCommand(imb, "praca opusc",
  60.             InventoryUtil.createCustomItem(Material.LAVA_BUCKET, "§x§D§4§0§0§0§0Opuszczenie aktualnej pracy"
  61.                     , "§x§D§4§0§0§0§0Kliknij aby opuścić aktualną pracę"), 48);
  62.     InventoryUtil.registerInvCommand(imb,
  63.             "praca alerts",
  64.             InventoryUtil.createCustomItem(Material.BOOK,
  65.                     (user.getSetting(PlayerSetting.ALERT_JOB) ? "§x§D§4§0§0§0§0Wyłączenie komunikatów pracy" : "§x§0§3§F§F§0§0Włączenie komunikatów pracy")),
  66.             49);
  67.  
  68.     Bukkit.getScheduler().runTask(Main.getInstance(), () -> imb.show(p));
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement