Frage von Ungedacht, 24

Was stimmt dan diesem Bukkit Code nicht?

Der Code funktioniert zwar aber wenn ich mit leerer Hand clicke gibt es mir eine fette Fehlermeldung aus. Wie kann ich das vermeiden ?

Code: @EventHandler public void onClick(PlayerInteractEvent e) { Player p = e.getPlayer(); if (e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK) { if (p.getItemInHand() != null) { if (p.getInventory().getItemInMainHand().getItemMeta().getDisplayName() == "§bSpiel starten") { if (Main.main.cd.lobbycdint > 5) { Main.main.cd.lobbycdint = 5; p.sendMessage(Main.main.pr + "Du hast das Spiel vorzeitig gestartet"); } else { p.sendMessage(Main.main.pr + "§cDas Spiel startet bereits"); } } } }

Antwort
von ChristianPl, 15

Ich bin mir nicht sicher, aber vlt. ist das Material des Items einer leeren Hand
Material.AIR

Antwort
von PerfectMuffin, 10

1. Das sieht furchtbar aus.

2. Fehlermeldung wäre nett.

Antwort
von Gomze, 9

Also:

Statt die Action mit == abzufragen,
nimmst du einfach .equals(ACTION....)

Antwort
von 3v1lH4x0R, 12

Das Item in der leeren Hand ist nicht null.
Ich weiss gerade nicht welches Material das ist. Überprüf doch ob es == dem ist das du brauchst.
Der Fehler tritt eine Zeile weiter unten auf.
Nicht jedes Item hat eine ItemMeta. Überprüfe doch zuerst ob es eine gibt mit e.getItemInHand().hasItemMeta().

Bei Fragen fragen.

Keine passende Antwort gefunden?

Fragen Sie die Community