Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @EventHandler
- public void keepItems(PlayerDeathEvent e) {
- if (e.getKeepInventory())
- return;
- final Player player = e.getEntity();
- if (player.hasPermission("enchantintensepack.keep")) {
- e.setKeepInventory(true);
- e.setKeepLevel(true);
- return;
- }
- final ItemStack[] armor = player.getInventory().getArmorContents();
- for (int i = 0; i < armor.length; i++) {
- ItemStack isarmor = ((armor[i] == null) ? null : armor[i].clone());
- if (isarmor != null && !isarmor.getType().equals(Material.AIR)) {
- if (!e.getDrops().contains(isarmor))
- continue;
- if (EnchantmentAPI.itemHasEnchantment(isarmor, "SoulBound"))
- e.getDrops().remove(isarmor);
- else
- armor[i] = null;
- }
- }
- Bukkit.getScheduler().scheduleSyncDelayedTask(EnchantIntensePack.plugin, new Runnable() {
- @Override
- public void run() {
- player.getInventory().setArmorContents(armor);
- }
- });
- final ItemStack[] inventory = player.getInventory().getContents();
- for (int i = 0; i < inventory.length; i++) {
- ItemStack is = ((inventory[i] == null) ? null : inventory[i].clone());
- if (is != null && !is.getType().equals(Material.AIR)) {
- if (!e.getDrops().contains(is))
- continue;
- if (EnchantmentAPI.itemHasEnchantment(is, "SoulBound"))
- e.getDrops().remove(is);
- else
- inventory[i] = null;
- }
- }
- Bukkit.getScheduler().scheduleSyncDelayedTask(EnchantIntensePack.plugin, new Runnable() {
- @Override
- public void run() {
- player.getInventory().setContents(inventory);
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement