Hallo Ich Programmiere grade ein Player Hider und ersetze dabei ein Item im Spieler Inventar aber Problem dabei ist das dies Aktion Doppelt ausgeführt wenn ich dieses Item benutze das soll dutch EquipmentSlot.HAND gelöst werden aber die Aktion wird immer noch Doppel ausgeführt wenn ich auf den Boden Gucke ich hoffe es war verständlich.
Java:
@EventHandler
public void onInteract(PlayerInteractEvent event) {
Player player = (Player) event.getPlayer();
if (event.getItem() != null) {
if (event.getHand() == EquipmentSlot.HAND) {
if (event.getItem().getType().equals(Material.LIME_DYE) || event.getItem().getType().equals(Material.GRAY_DYE)) {
if (LobbyPlugin.hider.contains(player.getPlayer().getUniqueId())) {
LobbyPlugin.hider.remove(player.getPlayer().getUniqueId());
for (Player players : Bukkit.getOnlinePlayers()) {
player.showPlayer(players);
}
ItemStack hider = new ItemStack(Material.LIME_DYE);
ItemMeta hidermeta = hider.getItemMeta();
hidermeta.setDisplayName("§2§lSpieler angezeigt");
lore.add("§7Klicke um Spieler auszublenden");
hidermeta.setLore(lore);
hider.setItemMeta(hidermeta);
player.sendMessage("Alle Spieler sind nun sichtbar!");
player.getInventory().setItem(1, hider);
player.updateInventory();
} else {
LobbyPlugin.hider.add(player.getPlayer().getUniqueId());
for (Player players : Bukkit.getOnlinePlayers()) {
player.hidePlayer(players);
}
ItemStack show = new ItemStack(Material.GRAY_DYE);
ItemMeta showmeta = show.getItemMeta();
showmeta.setDisplayName("§7§lSpieler versteckt");
lore2.add("§7Klicke um Spieler wieder anzuzeigen");
showmeta.setLore(lore2);
show.setItemMeta(showmeta);
player.sendMessage("Alle Spieler sind nun unsichtbar!");
player.getInventory().setItem(1, show);
player.updateInventory();
}
}
}
}
}
Zuletzt bearbeitet von einem Moderator: