Discord

  • 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!

PlayerInteractEvent Error (Door)

Arimos

Redstoneengineer
Mitglied seit
1 September 2019
Beiträge
43
Alter
20
Hallo,
ich möchte dass eine Tür in der Welt nicht geöffnet werden kann, der Code funktioniert.
Nur bekomme ich einen NullPointer in der Konsole. Werde aus dem ganzen nicht schlüssig.

folgender Error:

bei folgendem Code:

PS:
Ja ich weiß dass die "Blockierung" nur auf einem Tür "Segment" geht.

Viele Grüße
 

Avankziar

Kuhfänger
Mitglied seit
12 Februar 2018
Beiträge
90
Alter
27
Minecraft
Avankziar
Also, ist zwar nett, wenn du das ganze in hastebin hochlädst, doch wenn du nicht die komplette klasse hochlädst, kann man nur erraten welche davon Zeile 24 ist.
Deshalb hier mein Ratespiel:
Ich würde erstmal abfragen ob der Block b auch nicht null ist.
 

Arimos

Redstoneengineer
Mitglied seit
1 September 2019
Beiträge
43
Alter
20
code.PNG
Liegt dann höchstwahrscheinlich eher an der Location Abfrage? Also erst Abfragen ob Null und dann die Loc?
 

Creepaz

Minecrafter
Mitglied seit
1 Juni 2016
Beiträge
15
Moin,

als erstes würde ich, wie du geschrieben hast, abfragen ob der Block überhaupt "existiert" - sprich gegen null prüfen. Dann deine Location abfragen, und trotz alledem ein else {} einfügen (einfach leer lassen), dass kann in vielen Fällen Fehler vorbeugen, wenn eine Aktion nicht ausgeführt wird. Als Beispiel:

Er frägt ab ob x = y ist. Wenn ja, alles gut. Wenn du nun kein Else definiert hast, und x != y ist, dann schmeisst er dir einen Fehler, da er nicht weiß was er machen soll wenn es nicht zutrifft.
 
Zuletzt bearbeitet:
Mitglied seit
19 Mai 2014
Beiträge
1.413
Alter
3
trotz alledem ein else {} einfügen (einfach leer lassen), dass kann in vielen Fällen Fehler vorbeugen, wenn eine Aktion nicht ausgeführt wird. Als Beispiel:

Er frägt ab ob x = y ist. Wenn ja, alles gut. Wenn du nun kein Else definiert hast, und x != y ist, dann schmeisst er dir einen Fehler.
wtf? Das ist Bullshit, macht den Code unleserlich und trägt absolut nichts zu irgendwas bei.
 

Creepaz

Minecrafter
Mitglied seit
1 Juni 2016
Beiträge
15
Ich programmiere zwar schon länger nicht mehr mit der Minecraft-API, jedoch baue ich momentan selber ein Java-Programm. Und da ist es tatsächlich der Fall, bspw. bei einem OptionPane, dass, wenn kein else definiert ist und der Spieler die Aktion abbricht, ein Error in die Console geschmissen wird. Sollte es bei Minecraft anders sein, dann sry.
 
Mitglied seit
19 Mai 2014
Beiträge
1.413
Alter
3
Ich programmiere zwar schon länger nicht mehr mit der Minecraft-API, jedoch baue ich momentan selber ein Java-Programm. Und da ist es tatsächlich der Fall, bspw. bei einem OptionPane, dass, wenn kein else definiert ist und der Spieler die Aktion abbricht, ein Error in die Console geschmissen wird. Sollte es bei Minecraft anders sein, dann sry.
Nein, das ist einfach falsch. Ein leerer Code Block, insbesondere ein leeres else tut schlichtweg nichts. Du musst etwas verwechseln. Und Java ist Java. Ich weiß nicht woher der Glaube kommt, dass es einen Unterschied macht für welche Software man gerade Code schreibt.

Leider etwas Offtopic, aber dem TE wurde ja bereits geholfen und ansonsten kann ich das hier einfach nicht so stehen lassen. Am Schluss guckt sich das noch jemand ab.
 

Arimos

Redstoneengineer
Mitglied seit
1 September 2019
Beiträge
43
Alter
20
Werde es heute Abend nochmals Testen, aber sollte dann eigentlich gelöst sein.

Danke!
 
Oben