package DownloadItem.magnum; import com.massivecraft.factions.event.FactionCreateEvent; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.PlayerInventory; public class DownItemListener implements Listener{ @EventHandler public void Fcreate(FactionCreateEvent event){ Player player = event.getFPlayer().getPlayer(); PlayerInventory playerinv = player.getInventory(); int size = playerinv.getSize(); if (haveItem(playerinv, new ItemStack(Material.DIAMOND_BLOCK , 32 ))) { } else { event.setCancelled(true); player.sendMessage("&7 Potrzebujesz 32 bloki diax"); } if (haveItem(playerinv, new ItemStack(Material.IRON_BLOCK , 32 ))) { } else { event.setCancelled(true); player.sendMessage("&7 Potrzebujesz 32 bloki żelaza"); } if (haveItem(playerinv, new ItemStack(Material.GOLD_BLOCK , 32 ))) { } else { event.setCancelled(true); player.sendMessage("&7 Potrzebujesz 32 bloki złota"); } if (haveItem(playerinv, new ItemStack(Material.OBSIDIAN , 64 ))) { } else { event.setCancelled(true); player.sendMessage("&7 Potrzebujesz 64 obsydianu"); } if (haveItem(playerinv, new ItemStack(Material.TNT , 64 ))) { } else { event.setCancelled(true); player.sendMessage("&7 Potrzebujesz 64 tnt"); } if (haveItem(playerinv, new ItemStack(Material.ENDER_PEARL , 16 ))) { } else { event.setCancelled(true); player.sendMessage("&7 Potrzebujesz 16 ender pereł"); } if (haveItem(playerinv, new ItemStack(Material.HAY_BLOCK , 64 ))) { } else { event.setCancelled(true); player.sendMessage("&7 Potrzebujesz 64 snopy siana"); } if (haveItem(playerinv, new ItemStack(Material.STONE , 64 ))) { } else { event.setCancelled(true); player.sendMessage("&7 Potrzebujesz 64 stone"); } if (haveItem(playerinv, new ItemStack(Material.ENDER_CHEST , 1 ))) { } else { event.setCancelled(true); player.sendMessage("&7 Potrzebujesz ender chest"); } if (haveItem(playerinv, new ItemStack(Material.NETHER_WARTS , 32 ))) { } else { event.setCancelled(true); player.sendMessage("&7 Potrzebujesz 32 brodawki"); } if (haveItem(playerinv, new ItemStack(Material.BLAZE_ROD , 16 ))) { } else { event.setCancelled(true); player.sendMessage("&7 Potrzebujesz 16 różdżek"); } }else{ removeItem(player, new ItemStack(Material.DIAMOND_BLOCK, 32)); removeItem(player, new ItemStack(Material.IRON_BLOCK, 32)); removeItem(player, new ItemStack(Material.GOLD_BLOCK, 32)); removeItem(player, new ItemStack(Material.OBSIDIAN, 64)); removeItem(player, new ItemStack(Material.TNT, 64)); removeItem(player, new ItemStack(Material.ENDER_PEARL, 16)); removeItem(player, new ItemStack(Material.HAY_BLOCK, 64)); removeItem(player, new ItemStack(Material.STONE, 64)); removeItem(player, new ItemStack(Material.ENDER_CHEST, 1)); removeItem(player, new ItemStack(Material.NETHER_WARTS, 32)); removeItem(player, new ItemStack(Material.BLAZE_ROD, 16)); } public int haveItem(PlayerInventory pi, ItemStack is){ int a = 0; for(ItemStack it : pi.getContents()){ try{ if(it.isSimilar(is)){ a = a+it.getAmount(); } }catch(NullPointerException ex){ continue; } } return a; } public void removeItem(Player p, ItemStack is, int amount){ Inventory pi = p.getInventory(); ItemStack[] contents = pi.getContents(); int a=0; for (int i = 0; i < contents.length; i++) { try{ ItemStack it = contents[i]; int total = amount - a; if(it.isSimilar(is)){ if (it.getAmount() < total) { a += it.getAmount(); pi.setItem(i, new ItemStack(Material.AIR)); } if (it.getAmount() == total) { pi.setItem(i, new ItemStack(Material.AIR)); return; } if (it.getAmount() > total) { pi.getItem(i).setAmount(it.getAmount() - total); return; } } }catch(NullPointerException ex){ continue; } } } }