- 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;
- }
- }
- }
- }