Ejemplo n.º 1
0
 public static ItemStack displayItem(Player player, Location chest) {
   HashMap<ItemStack, String> items = getItems(player);
   int stop = 0;
   for (; items.size() == 0; stop++) {
     if (stop == 100) {
       break;
     }
     items = getItems(player);
   }
   Random r = new Random();
   ArrayList<ItemStack> I = new ArrayList<ItemStack>();
   ArrayList<String> P = new ArrayList<String>();
   I.addAll(items.keySet());
   for (ItemStack it : I) {
     P.add(items.get(it));
   }
   int pick = r.nextInt(I.size());
   String pa = P.get(pick);
   path.put(player, pa);
   FileConfiguration file = Main.settings.getFile(GUI.Crate.get(player));
   if (file.contains(path.get(player) + ".Items")) {
     for (ItemStack i : getFinalItems(path.get(player), player)) {
       player.getInventory().addItem(i);
     }
   }
   if (file.contains(path.get(player) + ".Commands")) {
     for (String command : file.getStringList(path.get(player) + ".Commands")) {
       command = color(command);
       command = command.replace("%Player%", player.getName());
       command = command.replace("%player%", player.getName());
       Bukkit.dispatchCommand(Bukkit.getConsoleSender(), command);
     }
   }
   if (file.contains(path.get(player) + ".Messages")) {
     for (String msg : file.getStringList(path + ".Messages")) {
       msg = Api.color(msg);
       msg = msg.replace("%Player%", player.getName());
       msg = msg.replace("%player%", player.getName());
       player.sendMessage(msg);
     }
   }
   if (file.getBoolean(path.get(player) + ".Firework")) {
     fireWork(chest);
   }
   return I.get(pick);
 }
Ejemplo n.º 2
0
 public static ArrayList<ItemStack> getFinalItems(String reward, Player player) {
   ArrayList<ItemStack> items = new ArrayList<ItemStack>();
   for (String l : Main.settings.getFile(GUI.Crate.get(player)).getStringList(reward + ".Items")) {
     ArrayList<String> lore = new ArrayList<String>();
     HashMap<Enchantment, Integer> enchs = new HashMap<Enchantment, Integer>();
     String name = "";
     int amount = 1;
     String m = "Stone";
     for (String i : l.split(", ")) {
       if (i.contains("Item:")) {
         i = i.replaceAll("Item:", "");
         m = i;
       }
       if (i.contains("Name:")) {
         i = i.replaceAll("Name:", "");
         i = i.replaceAll("_", " ");
         name = color(i);
       }
       if (i.contains("Amount:")) {
         i = i.replaceAll("Amount:", "");
         amount = Integer.parseInt(i);
       }
       if (i.contains("Lore:")) {
         i = i.replaceAll("Lore:", "");
         for (String L : i.split(",")) {
           L = color(L);
           lore.add(L);
         }
       }
       for (String enc : getEnchants()) {
         if (i.contains(enc + ":")) {
           String[] breakdown = i.split(":");
           int lvl = Integer.parseInt(breakdown[1]);
           enchs.put(Enchantment.getByName(enc), lvl);
         }
       }
     }
     items.add(makeItem(m, amount, name, lore, enchs));
   }
   return items;
 }
Ejemplo n.º 3
0
 public static HashMap<ItemStack, String> getItems(Player player) {
   HashMap<ItemStack, String> items = new HashMap<ItemStack, String>();
   for (String reward :
       Main.settings
           .getFile(GUI.Crate.get(player))
           .getConfigurationSection("Crate.Prizes")
           .getKeys(false)) {
     String id =
         Main.settings
             .getFile(GUI.Crate.get(player))
             .getString("Crate.Prizes." + reward + ".DisplayItem");
     String name =
         Main.settings
             .getFile(GUI.Crate.get(player))
             .getString("Crate.Prizes." + reward + ".DisplayName");
     int chance =
         Main.settings.getFile(GUI.Crate.get(player)).getInt("Crate.Prizes." + reward + ".Chance");
     int max = 99;
     if (Main.settings
         .getFile(GUI.Crate.get(player))
         .contains("Crate.Prizes." + reward + ".MaxRange")) {
       max =
           Main.settings
                   .getFile(GUI.Crate.get(player))
                   .getInt("Crate.Prizes." + reward + ".MaxRange")
               - 1;
     }
     try {
       ItemStack item = makeItem(id, 1, name);
       Random number = new Random();
       int num;
       for (int counter = 1; counter <= 1; counter++) {
         num = 1 + number.nextInt(max);
         if (num >= 1 && num <= chance) items.put(item, "Crate.Prizes." + reward);
       }
     } catch (Exception e) {
       continue;
     }
   }
   return items;
 }