package be.isach.ultracosmetics.listeners.v1_9; import be.isach.ultracosmetics.player.UltraPlayer; import be.isach.ultracosmetics.UltraCosmetics; import be.isach.ultracosmetics.config.SettingsManager; import be.isach.ultracosmetics.cosmetics.gadgets.Gadget; import org.bukkit.ChatColor; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerSwapHandItemsEvent; import org.bukkit.inventory.ItemStack; /** * 1.9 offhand listeners. * * @author iSach * @since 05-16-2016 */ public class PlayerSwapItemListener implements Listener { private UltraCosmetics ultraCosmetics; public PlayerSwapItemListener(UltraCosmetics ultraCosmetics) { this.ultraCosmetics = ultraCosmetics; } @EventHandler public void cancelOffHandMove(PlayerSwapHandItemsEvent event) { Player player = event.getPlayer(); UltraPlayer ultraPlayer = ultraCosmetics.getPlayerManager().getUltraPlayer(player); if(ultraPlayer.getCurrentGadget() != null) { Gadget gadget = ultraPlayer.getCurrentGadget(); ItemStack itemStack = gadget.getItemStack(); if (event.getMainHandItem() != null) { if (event.getMainHandItem().equals(itemStack)) { event.setCancelled(true); event.getPlayer().updateInventory(); return; } } if (event.getOffHandItem() != null) { if (event.getOffHandItem().equals(itemStack)) { event.setCancelled(true); event.getPlayer().updateInventory(); return; } } } } @EventHandler public void onPlayerSwapoffHand(PlayerSwapHandItemsEvent event) { if (event.getMainHandItem() != null && event.getMainHandItem().hasItemMeta() && event.getMainHandItem().getItemMeta().hasDisplayName() && event.getMainHandItem().getItemMeta().getDisplayName() .equals(ChatColor.translateAlternateColorCodes('&', String.valueOf(SettingsManager.getConfig().get("Menu-Item.Displayname"))))) { event.setCancelled(true); } if (event.getOffHandItem() != null && event.getOffHandItem().hasItemMeta() && event.getOffHandItem().getItemMeta().hasDisplayName() && event.getOffHandItem().getItemMeta().getDisplayName() .equals(ChatColor.translateAlternateColorCodes('&', String.valueOf(SettingsManager.getConfig().get("Menu-Item.Displayname"))))) { event.setCancelled(true); } } }