• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Problem mit Inventories

SchnellfeuerXD

Kuhfänger
Registriert
8 Februar 2020
Beiträge
56
Diamanten
300
Hallo ich hatte heute schon mal einen Beitrag erstellt da ich einen Fehler bezüglich eines Inventares hatte. Doch da taucht der nächste auf, den ich nicht lösen kann (auch schon recherchiert). Aus meinem Invetar kann Sachen nehmen / verschieben aber im GUI kann ich das genauso obwohl ich das Event gecanceltt hab.
Dann das Hauptproblem
package de.grafplaiz.bangui.events;

import de.grafplaiz.bangui.BanGui;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory;

public class BanInventroyEvent implements Listener {

BanGui plugin;

public BanInventroyEvent(BanGui plugin) {
this.plugin = plugin;
}

@EventHandler
public void onMenuClick(InventoryClickEvent e ) {
Player player = (Player) e.getWhoClicked();

if(e.getView().getTitle().equalsIgnoreCase(ChatColor.BLUE + "Spieler Liste")) {
if(e.getCurrentItem().getType().equals(Material.PLAYER_HEAD)); {
Player whoToBan = plugin.getServer().getPlayer(e.getCurrentItem().getItemMeta().getDisplayName());

plugin.openAuswahlMenu(player, whoToBan);

}
e.setCancelled(true);
}
}
}
Bei if(e.getCurrentItem().getType().equals(Material.PLAYER_HEAD)); kommt der Fehler in der Console.
Doch ich kapier einfach nicht was da falsch sein sollte. Ich habe auch schon mit einem anderen Devloper gespochen und dem Fällt auch nichts ein.
 

Anhänge

  • SharedScreenshot.jpg
    SharedScreenshot.jpg
    151,7 KB · Aufrufe: 207
  • SharedScreenshot2.jpg
    SharedScreenshot2.jpg
    412,4 KB · Aufrufe: 215

Feli490

Redstoneengineer
Registriert
30 November 2011
Beiträge
44
Alter
26
Diamanten
342
Minecraft
Feli490
getCurrentItem() Kann null sein wenn kein Item angelickt wurde, daher vermute ich mal das der Null Pointer daher kommt.
Du solltest also bevor du auf das Item zu greifst einen Null Check einbauen.

Auch wirkt in Zeile 25 das komisch das du nach dem if direkt ein ';' Dadurch wird deine if Abfrage praktisch nichtig.
 

SchnellfeuerXD

Kuhfänger
Registriert
8 Februar 2020
Beiträge
56
Diamanten
300
getCurrentItem() Kann null sein wenn kein Item angelickt wurde, daher vermute ich mal das der Null Pointer daher kommt.
Du solltest also bevor du auf das Item zu greifst einen Null Check einbauen.

Auch wirkt in Zeile 25 das komisch das du nach dem if direkt ein ';' Dadurch wird deine if Abfrage praktisch nichtig.
Ok danke, ich checke das mal!
 

Xenoshi

Kuhfänger
Registriert
22 November 2015
Beiträge
77
Diamanten
300
Minecraft
godlessFloof
@LapisMC
Naja ich mache es so bei ein paar Funktionen wo ich weiß das der Fehler kommen wird. Ich sage ja nur das er die Fehlerbehebung so erstmal weg bekommt (sie wird nicht angezeigt). Dann sollte man mehrere Möglichkeiten finden um den Punkt normal zu beheben
 

Taminoful

Schafhirte
Registriert
3 August 2012
Beiträge
137
Diamanten
390
Minecraft
Taminoful
Oder mach ne NullPointExeption
try {
//Hier dein Code
}catch(NullPointerException e1) {}
@LapisMC
Naja ich mache es so bei ein paar Funktionen wo ich weiß das der Fehler kommen wird. Ich sage ja nur das er die Fehlerbehebung so erstmal weg bekommt (sie wird nicht angezeigt). Dann sollte man mehrere Möglichkeiten finden um den Punkt normal zu beheben
Bietet halt absolut keinen Mehrwert sowas als Antwort zu posten, wenn das Problem bereits durch die gepostete Lösung behoben werden kann. Nur weil du etwas so machst, heißt das nicht, dass dies eine gute oder gar richtige Vorgehensweise ist.

Exceptions haben immer einen Ursprung, meist ist der Autor selbst dafür verantwortlich, wenn diese auftreten.
Überall nen leeren Try-Catch drum werfen und das Fehlerbehandlung zu nennen - das findest du halt auch nur bei Anfängern mit Ursprung in der Minecraft Szene.
 
Zuletzt bearbeitet:
Oben