@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void onPlayerItemConsume(PlayerItemConsumeEvent event) { String playerName = event.getPlayer().getName(); if (ultimateGames.getPlayerManager().isPlayerInArena(playerName)) { Arena arena = ultimateGames.getPlayerManager().getPlayerArena(playerName); if (arena.getStatus() == ArenaStatus.RUNNING) { arena.getGame().getGamePlugin().onPlayerItemConsume(arena, event); } else { event.setCancelled(true); } } else if (ultimateGames.getPlayerManager().isPlayerSpectatingArena(playerName)) { event.setCancelled(true); } }
@EventHandler(priority = EventPriority.HIGHEST) public void onPlayerDrinkPotion(PlayerItemConsumeEvent event) { Player player = event.getPlayer(); if (event.getItem().getType() == Material.POTION && !FOPM_TFM_Util.isHighRank(player)) { player.sendMessage(ChatColor.GREEN + "Please use /potion to add potion effects, thank you!"); event.setCancelled(true); } }
@EventHandler public void potion(PlayerItemConsumeEvent event) { if (event.getItem().getType().equals(Material.POTION)) { if (event.getItem().getDurability() == 8233) { if (!event.getPlayer().isOp()) { event.setCancelled(true); event.getPlayer().sendMessage(ChatColor.GRAY + "Strength 2 potions are banned!"); } } if (event.getItem().getDurability() == 8238 || event.getItem().getDurability() == 8270) { if (!event.getPlayer().isOp()) { event.setCancelled(true); event.getPlayer().sendMessage(ChatColor.GRAY + "Invisibility potions are banned!"); } } } }
@EventHandler public void onEat(PlayerItemConsumeEvent e) { if (e.getItem() != null) { final Player p = e.getPlayer(); ItemStack item = e.getItem(); if (Slimefun.hasUnlocked(p, item, true)) { if (SlimefunManager.isItemSimiliar(item, SlimefunItems.MONSTER_JERKY, true)) { PlayerInventory.consumeItemInHand(p); e.setItem(new ItemStack(Material.APPLE)); } else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.FORTUNE_COOKIE, true)) p.sendMessage( Messages.local .getTranslation("messages.fortune-cookie") .get( CSCoreLib.randomizer() .nextInt( Messages.local.getTranslation("messages.fortune-cookie").size()))); else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.BEEF_JERKY, true)) p.setSaturation((Integer) Slimefun.getItemValue("BEEF_JERKY", "Saturation")); else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.GRILLED_CHEESE, true)) p.addPotionEffect(new PotionEffect(PotionEffectType.SATURATION, 8, 0)); else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.BUTTERED_POTATO, true)) p.addPotionEffect(new PotionEffect(PotionEffectType.SATURATION, 8, 0)); else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.MEDICINE, true)) { if (p.hasPotionEffect(PotionEffectType.POISON)) p.removePotionEffect(PotionEffectType.POISON); if (p.hasPotionEffect(PotionEffectType.WITHER)) p.removePotionEffect(PotionEffectType.WITHER); if (p.hasPotionEffect(PotionEffectType.SLOW)) p.removePotionEffect(PotionEffectType.SLOW); if (p.hasPotionEffect(PotionEffectType.SLOW_DIGGING)) p.removePotionEffect(PotionEffectType.SLOW_DIGGING); if (p.hasPotionEffect(PotionEffectType.WEAKNESS)) p.removePotionEffect(PotionEffectType.WEAKNESS); if (p.hasPotionEffect(PotionEffectType.CONFUSION)) p.removePotionEffect(PotionEffectType.CONFUSION); if (p.hasPotionEffect(PotionEffectType.BLINDNESS)) p.removePotionEffect(PotionEffectType.BLINDNESS); p.setFireTicks(0); } else if (item.getType() == Material.POTION) { SlimefunItem sfItem = SlimefunItem.getByItem(item); if (sfItem != null && sfItem instanceof Juice) { Bukkit.getScheduler() .scheduleSyncDelayedTask( main.instance, new Runnable() { @Override public void run() { p.getInventory().removeItem(new ItemStack(Material.GLASS_BOTTLE, 1)); } }, 1L); } } } else e.setCancelled(true); } }