01.10.2014, 17:17
@EventHandler(priority = EventPriority.HIGHEST) public void onInteract(PlayerInteractEvent event) { if (event.getPlayer().getItemInHand() != null && event.getPlayer().getItemInHand().getItemMeta() != null && event.getPlayer().getItemInHand().getType() == Material.CHEST && event.getPlayer().getItemInHand().hasItemMeta() && event.getPlayer().getItemInHand().getItemMeta().hasDisplayName() && event.getPlayer().getItemInHand().getItemMeta().getDisplayName().equals("§aKit selector") && isPlaying(event.getPlayer().getUniqueId())) { if (isRunning()) { event.getPlayer().getInventory().setItemInHand(null); } else { openNewKitSelector(event.getPlayer()); } event.setCancelled(true); } else if (event.getPlayer().getItemInHand().getType() == Material.WOOL && Present.isPresent(event.getPlayer().getItemInHand())) { Present present = Present.getByItemStack(event.getPlayer().getItemInHand()); event.getPlayer().setItemInHand(null); present.use(event.getPlayer()); event.setCancelled(true); event.getPlayer().updateInventory(); } else if (event.getAction() == Action.RIGHT_CLICK_BLOCK && event.getClickedBlock() != null) { Material clickedMaterial = event.getClickedBlock().getType(); if (isAdminMode(event.getPlayer()) && (Material.CHEST.equals(clickedMaterial) || Material.TRAPPED_CHEST.equals(clickedMaterial))) { Chest chest = (Chest) event.getClickedBlock().getState(); Inventory chestInv = chest.getBlockInventory(); String chestName = clickedMaterial.toString().toLowerCase().replace("_", " "); String chestName2 = toUpperCaseFirstLetter(chestName); ModInventoryBase modInv = ModInventoryBase.getInstance(chestInv, 0, chestInv.getSize(), chestInv.getTitle(), "§aSilentInv§8[§7" + chestName2 + "§8]"); event.getPlayer().openInventory(modInv); event.getPlayer().sendMessage("§aOpen " + chestName + "§a in silent mode!"); event.setCancelled(true); } else if ((Material.CHEST.equals(clickedMaterial) || Material.FURNACE.equals(clickedMaterial) || Material.BURNING_FURNACE.equals(clickedMaterial) || Material.TRAPPED_CHEST.equals(clickedMaterial)) && isTimerRunning()) { event.setCancelled(true); } } else if (!isRunning() && !isEndgame()) { event.setCancelled(true); } }