ArrayList itemsList = new ArrayList(); @EventHandler public void Sieve(BlockPlaceEvent event) { Set items = plugin.getConfig().getConfigurationSection("Sieve").getKeys(true); for(String itemsName : items) { event.getPlayer().sendMessage(itemsName); if(event.getBlockPlaced().getType() == Material.getMaterial(itemsName)) { ConfigurationSection itemConfig = plugin.getConfig().getConfigurationSection("Sieve." + itemsName); event.getPlayer().sendMessage(String.valueOf(itemConfig)); for(String item : itemConfig.getStringList(".item")) { CustomStack stack = CustomStack.getInstance(item); if(stack != null) { itemsList.add(stack.getItemStack()); } else { itemsList.add(new ItemStack(Material.getMaterial(item))); } } Block sieve = event.getBlockPlaced().getRelative(0, -1, 0); if (sieve.getType() == Material.SCAFFOLDING) { Bukkit.getScheduler().runTaskLater(plugin, new Runnable() { @Override public void run() { if (event.getBlockPlaced().getType() == Material.GRAVEL) { event.getBlockPlaced().setType(Material.AIR); event.getBlockPlaced().getWorld().dropItemNaturally(event.getBlockPlaced().getLocation(), itemsList.get(ThreadLocalRandom.current().nextInt(0, items.size() - 1))); event.getBlockPlaced().getWorld().playSound(event.getBlockPlaced().getLocation(), Sound.ENTITY_SILVERFISH_STEP, 10, -2); } } }, 20 * itemConfig.getInt(".time")); } } } }