@EventHandler
public void onUse(PlayerInteractEvent e) {
if (e.getHand() == EquipmentSlot.HAND) {
Player p = e.getPlayer();
Material materialInHand = p.getInventory().getItemInMainHand().getType();
String itemDisplayName = p.getInventory().getItemInMainHand().getItemMeta().getDisplayName();
if (e.getAction().equals(Action.RIGHT_CLICK_BLOCK) || e.getAction().equals(Action.RIGHT_CLICK_AIR)) {
if (!materialInHand.equals(Material.AIR)) {
if (materialInHand.equals(Material.BLAZE_ROD) ||
materialInHand.equals(Material.STICK)) {
if (itemDisplayName.equals("§eSpieler verstecken")) {
hidePlayers(p);
} else if (itemDisplayName.equals("§eSpieler anzeigen")) {
showPlayers(p);
}
}
}
}
}
}
private void hidePlayers(Player player)
{
Lino.getPlayerhider().add(player.getName());
for (Player current : Bukkit.getOnlinePlayers()) {
player.hidePlayer(Lino.getInstance(), current);
}
Inventory inventory = player.getInventory();
inventory.setItem(8, createItemStack(Material.STICK, 1, "§eSpieler anzeigen"));
SoundFeedback.positiveSound(player);
player.sendMessage(Lino.getSystemPrefix() + "§7Die Spieler sind nun §6unsichtbar§7!");
}
private void showPlayers(Player player)
{
Lino.getPlayerhider().remove(player.getName());
for (Player current : Bukkit.getOnlinePlayers()) {
player.showPlayer(Lino.getInstance(), current);
}
Inventory inventory = player.getInventory();
inventory.setItem(8, createItemStack(Material.BLAZE_ROD, 1, "§eSpieler verstecken"));
SoundFeedback.positiveSound(player);
player.sendMessage(Lino.getSystemPrefix() + "§7Die Spieler sind nun §6sichtbar§7!");
}
The event is only fired when right click block and not when right click air. does anyone know how i can fix this?