Помогите Index 2 out of bounds for length 1

Статус
Закрыто для дальнейших ответов.

Den_Blade

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
Den_Blade
Помогите плз

Консоль:
Код:
Caused by: java.lang.IndexOutOfBoundsException: Index 2 out of bounds for length 1
        at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64) ~[?:?]
        at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70) ~[?:?]
        at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248) ~[?:?]
        at java.base/java.util.Objects.checkIndex(Objects.java:359) ~[?:?]
        at java.base/java.util.ArrayList.get(ArrayList.java:427) ~[?:?]
        at me.tade.backpacks.Backpack.onInteract(Backpack.java:246) ~[?:?]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) ~[?:?]
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
        at java.base/java.lang.reflect.Method.invoke(Method.java:564) ~[?:?]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[craftbukkit.jar:git-Spigot-f94fe8f-2642f9b]
        ... 18 more

Код:
/*     */   @EventHandler
/*     */   public void onInteract(PlayerInteractEvent e) {
/* 197 */     Player p = e.getPlayer();
/*     */    
/* 199 */     if (e.getItem() == null) {
/*     */       return;
/*     */     }
/* 202 */     if (e.getItem().getType() == Material.CHEST &&
/* 203 */       e.getItem().hasItemMeta() &&
/* 204 */       e.getItem().getItemMeta().hasDisplayName()) {
/* 205 */       if (e.getItem().getItemMeta().getDisplayName().equalsIgnoreCase("§c§lBackpack")) {
/* 206 */         e.setCancelled(true);
/* 207 */         ItemStack item = e.getItem();
/* 208 */         ItemMeta im = item.getItemMeta();
/* 209 */         im.setDisplayName("§c§lMedium Backpack");
/* 210 */         item.setItemMeta(im);
/* 211 */         e.getItem().setType(Material.APPLE);
/* 212 */         p.getInventory().addItem(new ItemStack[] { item });
/* 213 */         p.sendMessage("Try again");
/*     */       }
/* 215 */       if (e.getItem().getItemMeta().getDisplayName().equalsIgnoreCase("§c§lSmall Backpack")) {
/* 216 */         e.setCancelled(true);
/* 217 */         if (!p.hasPermission("backpacks.open.small")) {
/* 218 */           p.sendMessage("§cYou don't have permission to open Small Backpack!");
/*     */           return;
/*     */         }
/* 221 */         if (!this.backpacks.containsKey(p)) {
/* 222 */           createBackpack(p, BackpackType.SMALL);
/*     */         }
/* 224 */         p.openInventory(((List<Inventory>)this.backpacks.get(p)).get(0));
/*     */       }
/* 226 */       if (e.getItem().getItemMeta().getDisplayName().equalsIgnoreCase("§c§lMedium Backpack")) {
/* 227 */         e.setCancelled(true);
/* 228 */         if (!p.hasPermission("backpacks.open.medium")) {
/* 229 */           p.sendMessage("§cYou don't have permission to open Medium Backpack!");
/*     */           return;
/*     */         }
/* 232 */         if (!this.backpacks.containsKey(p)) {
/* 233 */           createBackpack(p, BackpackType.MEDIUM);
/*     */         }
/* 235 */         p.openInventory(((List<Inventory>)this.backpacks.get(p)).get(1));
/*     */       }
/* 237 */       if (e.getItem().getItemMeta().getDisplayName().equalsIgnoreCase("§c§lLarge Backpack")) {
/* 238 */         e.setCancelled(true);
/* 239 */         if (!p.hasPermission("backpacks.open.large")) {
/* 240 */           p.sendMessage("§cYou don't have permission to open Large Backpack!");
/*     */           return;
/*     */         }
/* 243 */         if (!this.backpacks.containsKey(p)) {
/* 244 */           createBackpack(p, BackpackType.LARGE);
/*     */         }
/* 246 */         p.openInventory(((List<Inventory>)this.backpacks.get(p)).get(2));
/*     */       }
/*     */     }
/*     */   }

Код:
/*     */   public void createBackpack(Player p, BackpackType type) {
/* 274 */     if (type == null &&
/* 275 */       getConfig().getConfigurationSection("backpacks." + p.getName()) == null) {
/*     */       return;
/*     */     }
/*     */
/*     */    
/* 280 */     String name = null;
/* 281 */     int size = 0;
/* 282 */     List<Inventory> invs = new ArrayList<>();
/* 283 */     if (type == null) {
/* 284 */       if (getConfig().getStringList("players." + p.getName()).contains("small")) {
/* 285 */         name = "Small";
/* 286 */         size = 9;
/* 287 */         Inventory inv = Bukkit.createInventory((InventoryHolder)p, size, "§c§l" + name + " Backpack");
/* 288 */         invs.add(inv);
/*     */       }
/* 290 */       else if (getConfig().getStringList("players." + p.getName()).contains("medium")) {
/* 291 */         name = "Medium";
/* 292 */         size = 27;
/* 293 */         Inventory inv = Bukkit.createInventory((InventoryHolder)p, size, "§c§l" + name + " Backpack");
/* 294 */         invs.add(0, inv);
/*     */       }
/* 296 */       else if (getConfig().getStringList("players." + p.getName()).contains("large")) {
/* 297 */         name = "Large";
/* 298 */         size = 54;
/* 299 */         Inventory inv = Bukkit.createInventory((InventoryHolder)p, size, "§c§l" + name + " Backpack");
/* 300 */         invs.add(1, inv);
/*     */       }
  else {
/* 285 */         name = "Small";
/* 286 */         size = 9;
/* 287 */         Inventory inv = Bukkit.createInventory((InventoryHolder)p, size, "§c§l" + name + " Backpack");
/* 288 */         invs.add(2, inv);
 
}
/*     */     } else {
/* 303 */       if (type == BackpackType.SMALL) {
/* 304 */         name = "Small";
/* 305 */         size = 9;
/* 306 */         Inventory inv = Bukkit.createInventory((InventoryHolder)p, size, "§c§l" + name + " Backpack");
/* 307 */         invs.add(0, inv);
/*     */       }
/* 309 */       if (type == BackpackType.MEDIUM) {
/* 310 */         name = "Medium";
/* 311 */         size = 27;
/* 312 */         Inventory inv = Bukkit.createInventory((InventoryHolder)p, size, "§c§l" + name + " Backpack");
/* 313 */         invs.add(1, inv);
/*     */       }
/* 315 */       if (type == BackpackType.LARGE) {
/* 316 */         name = "Large";
/* 317 */         size = 54;
/* 318 */         Inventory inv = Bukkit.createInventory((InventoryHolder)p, size, "§c§l" + name + " Backpack");
/* 319 */         invs.add(2, inv);
/*     */       }
/*     */     }
/* 322 */     this.backpacks.put(p, invs);
/*     */    
/* 324 */     if (type == null) {
/* 325 */       for (Inventory inv : this.backpacks.get(p)) {
/* 326 */         if (inv.getSize() == 9) {
/* 327 */           for (String a : getConfig().getConfigurationSection("backpacks." + p.getName() + ".s").getKeys(false)) {
/* 328 */             ItemStack item = getConfig().getItemStack("backpacks." + p.getName() + ".s." + a);
/* 329 */             inv.setItem(Integer.parseInt(a), item);
/*     */           }
/*     */         }
/* 332 */         if (inv.getSize() == 27) {
/* 333 */           for (String a : getConfig().getConfigurationSection("backpacks." + p.getName() + ".m").getKeys(false)) {
/* 334 */             ItemStack item = getConfig().getItemStack("backpacks." + p.getName() + ".m." + a);
/* 335 */             inv.setItem(Integer.parseInt(a), item);
/*     */           }
/*     */         }
/* 338 */         if (inv.getSize() == 54) {
/* 339 */           for (String a : getConfig().getConfigurationSection("backpacks." + p.getName() + ".l").getKeys(false)) {
/* 340 */             ItemStack item = getConfig().getItemStack("backpacks." + p.getName() + ".l." + a);
/* 341 */             inv.setItem(Integer.parseInt(a), item);
/*     */           }
/*     */         }
/*     */       }
/*     */     }
/*     */   }
 
Java:
p.openInventory(((List<Inventory>)this.backpacks.get(p)).get(2));
В List'е 1 элемент, в нём нет ни 1-го, ни 2-го. Они не были добавлены.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх