Advertisement
Guest User

Untitled

a guest
Feb 8th, 2016
363
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.54 KB | None | 0 0
  1. @EventHandler
  2.     public void keepItems(PlayerDeathEvent e) {
  3.         if (e.getKeepInventory())
  4.             return;
  5.         final Player player = e.getEntity();
  6.         if (player.hasPermission("enchantintensepack.keep")) {
  7.             e.setKeepInventory(true);
  8.             e.setKeepLevel(true);
  9.             return;
  10.         }
  11.  
  12.         final ItemStack[] armor = player.getInventory().getArmorContents();
  13.         for (int i = 0; i < armor.length; i++) {
  14.             ItemStack isarmor = ((armor[i] == null) ? null : armor[i].clone());
  15.             if (isarmor != null && !isarmor.getType().equals(Material.AIR)) {
  16.                 if (!e.getDrops().contains(isarmor))
  17.                     continue;
  18.                 if (EnchantmentAPI.itemHasEnchantment(isarmor, "SoulBound"))
  19.                     e.getDrops().remove(isarmor);
  20.                 else
  21.                     armor[i] = null;
  22.             }
  23.         }
  24.         Bukkit.getScheduler().scheduleSyncDelayedTask(EnchantIntensePack.plugin, new Runnable() {
  25.             @Override
  26.             public void run() {
  27.                 player.getInventory().setArmorContents(armor);
  28.             }
  29.         });
  30.        
  31.         final ItemStack[] inventory = player.getInventory().getContents();
  32.         for (int i = 0; i < inventory.length; i++) {
  33.             ItemStack is = ((inventory[i] == null) ? null : inventory[i].clone());
  34.             if (is != null && !is.getType().equals(Material.AIR)) {
  35.                 if (!e.getDrops().contains(is))
  36.                     continue;
  37.                 if (EnchantmentAPI.itemHasEnchantment(is, "SoulBound"))
  38.                     e.getDrops().remove(is);
  39.                 else
  40.                     inventory[i] = null;
  41.             }
  42.         }
  43.         Bukkit.getScheduler().scheduleSyncDelayedTask(EnchantIntensePack.plugin, new Runnable() {
  44.             @Override
  45.             public void run() {
  46.                 player.getInventory().setContents(inventory);
  47.             }
  48.         });
  49.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement