|
You last visited: Today at 11:41
Advertisement
Bukkit nullpointerexception trotz richtigem code?
Discussion on Bukkit nullpointerexception trotz richtigem code? within the Minecraft forum part of the Other Online Games category.
08/10/2016, 17:22
|
#1
|
elite*gold: 0
Join Date: Jul 2015
Posts: 169
Received Thanks: 51
|
Bukkit nullpointerexception trotz richtigem code?
Ich benutze Eclipse Neon (das neuste von Eclipse) - liegt es daran? Ich denke eher weniger an diese Möglichkeit.
Code:
/*
* Checkpunkt 1: Öffne das Inventar mit dem du die Sprache auswählst.
*/
@ EventHandler
public void openEnchantingTable(PlayerInteractEvent event) {
if(block.getType() == Material.ENCHANTMENT_TABLE) {
event.setCancelled(true);
Inventory inv = Bukkit.createInventory(null, 9, "TUTORIAL");
inv.setItem(2, setItem(Material.PAPER, 1, 0, "GERMAN / DEUTSCH",
" ",
"Klicke hier, wenn du den Server",
"auf Deutsch bespielen willst.",
" ",
ChatColor.YELLOW + "Änderbar unter /sprache." ));
inv.setItem(6, setItem(Material.PAPER, 1, 0, "ENGLISH / ENGLISCH",
"",
"Click here if you want to play",
"the server in English.",
" ",
ChatColor.YELLOW + "Can be changed under /language." ));
event.getPlayer().openInventory(inv);
}
}
In der Konsole wird der Fehler immer in dieser Zeile angezeigt.
Code:
if(block.getType() == Material.ENCHANTMENT_TABLE) {
Ich habe auch schon .equals() versucht aber hat ebenfalls nicht geklappt.
Vielleicht weiß ja einer von euch weiter.
Mit freundlichen Grüßen,
scrpx.
|
|
|
08/10/2016, 17:58
|
#2
|
Moderator
elite*gold: 558
Join Date: Feb 2010
Posts: 6,543
Received Thanks: 1,424
|
Wo kommt denn der Block her?
Abgesehen davon kann der Spieler natürlich nicht nur mit Blöcken interagieren.
|
|
|
08/10/2016, 18:06
|
#3
|
elite*gold: 0
Join Date: Jul 2015
Posts: 169
Received Thanks: 51
|
Naja, hab bisschen rumprobiert und wollte nicht den ganzen Code zeigen, da es dort einiges gibt was vielleicht unnötig erscheint.
Code:
/*
* Checkpunkt 1: Öffne das Inventar mit dem du die Sprache auswählst.
*/
@ EventHandler
public void openEnchantingTable(PlayerInteractEvent event) {
Block block = null;
if(event.getAction().equals(Action.RIGHT_CLICK_BLOCK) || event.getAction().equals(Action.LEFT_CLICK_BLOCK)) block = event.getClickedBlock();
if(block.getType() == Material.ENCHANTMENT_TABLE && block != null) {
event.setCancelled(true);
Inventory inv = Bukkit.createInventory(null, 9, "TUTORIAL");
inv.setItem(2, setItem(Material.PAPER, 1, 0, "GERMAN / DEUTSCH",
" ",
"Klicke hier, wenn du den Server",
"auf Deutsch bespielen willst.",
" ",
ChatColor.YELLOW + "Änderbar unter /sprache." ));
inv.setItem(6, setItem(Material.PAPER, 1, 0, "ENGLISH / ENGLISCH",
"",
"Click here if you want to play",
"the server in English.",
" ",
ChatColor.YELLOW + "Can be changed under /language." ));
event.getPlayer().openInventory(inv);
}
}
|
|
|
08/10/2016, 18:12
|
#4
|
Moderator
elite*gold: 558
Join Date: Feb 2010
Posts: 6,543
Received Thanks: 1,424
|
Code:
Block block = null;
if(block.getType() == Material.ENCHANTMENT_TABLE) {
block ist null und du versuchst getType aufzurufen, natürlich kommt da ein Fehler.
Edit:
Du hast es schon fast gelöst, deine eine Bedingung ist nur falsch aufgebaut.
|
|
|
08/10/2016, 18:20
|
#5
|
elite*gold: 0
Join Date: Jul 2015
Posts: 169
Received Thanks: 51
|
Okay habe es nun. Bin jetzt auch wieder dahinter gekommen wieso ich einen Error am Anfang hatte bevor ich den Code geändert habe.
Code:
/*
* Checkpunkt 1: Öffne das Inventar mit dem du die Sprache auswählst.
*/
[MENTION=555807]event[/MENTION]Handler
public void openEnchantingTable(PlayerInteractEvent event) {
Block block = null;
if(event.getAction().equals(Action.RIGHT_CLICK_BLOCK) || event.getAction().equals(Action.LEFT_CLICK_BLOCK)) {
block = event.getClickedBlock();
if(block.getType() == Material.ENCHANTMENT_TABLE && block != null) {
event.setCancelled(true);
Inventory inv = Bukkit.createInventory(null, 9, "TUTORIAL");
inv.setItem(2, setItem(Material.PAPER, 1, 0, "GERMAN / DEUTSCH",
" ",
"Klicke hier, wenn du den Server",
"auf Deutsch bespielen willst.",
" ",
ChatColor.YELLOW + "Änderbar unter /sprache." ));
inv.setItem(6, setItem(Material.PAPER, 1, 0, "ENGLISH / ENGLISCH",
"",
"Click here if you want to play",
"the server in English.",
" ",
ChatColor.YELLOW + "Can be changed under /language." ));
event.getPlayer().openInventory(inv);
}
}
}
Vielen Dank dir für die Unterstützung.
|
|
|
08/10/2016, 18:28
|
#6
|
Moderator
elite*gold: 558
Join Date: Feb 2010
Posts: 6,543
Received Thanks: 1,424
|
Noch eine Anmerkung:
Code:
if(block.getType() == Material.ENCHANTMENT_TABLE && block != null) {
Das macht wenig Sinn, weil du schon bei getType den NullPointer bekommst und er damit nie bei !=null ankommt.
Entweder so, das wäre am sichersten.
Code:
if(block != null && block.getType() == Material.ENCHANTMENT_TABLE) {
Oder so, weil beim aktuellen Code eigentlich immer ein Block da sein sollte.
Code:
if(block.getType() == Material.ENCHANTMENT_TABLE) {
Edit:
Und das:
Code:
if(event.getAction().equals(Action.RIGHT_CLICK_BLOCK) || event.getAction().equals(Action.LEFT_CLICK_BLOCK)) {
Geht auch so:
Code:
if(event.getAction() == Action.RIGHT_CLICK_BLOCK || event.getAction() == Action.LEFT_CLICK_BLOCK) {
|
|
|
|
Similar Threads
|
Minecraft java.lang.NullPointerException
07/23/2012 - Minecraft - 1 Replies
Wie behebe ich das ?
2012-07-23 20:41:12 Failed to handle packet: java.lang.NullPointerException
java.lang.NullPointerException
2012-07-23 20:41:12 Malibu23 has disconnected!
2012-07-23 20:41:12 Get Minecraft entity list error: null
2012-07-23 20:41:12 Get Minecraft entity list error: null
2012-07-23 20:41:12 Get Minecraft entity list error: null
2012-07-23 20:41:12 Get Minecraft entity list error: null
2012-07-23 20:41:12 Failed to handle packet:...
|
[S]MW2 [B]10€ nur mit richtigem keyseller.
02/15/2012 - Trading - 0 Replies
Hi,ich suche einen RICHTIGEN Key seller,der mir MW2 DEU für 10€ verkaufen kann.Bitte melden.
|
Minecraft Bukkit 1.1.0 Monster Spawn trotz ausgeschaltet?
01/28/2012 - Minecraft - 8 Replies
Hey ich hab ein kleines Problem, und zwar spawnen auf meiner Multiplayer Welt obwohl ich es in den Server.prop auf False gestellt habe. Gibt es ein Plugin das die Mobs deaktiviert?
|
bukkit - veraltete version trotz update
09/09/2011 - Minecraft - 5 Replies
Hallo zusammen und guten Abend
Ich habe einen rootserver mit vollem ssh und root zugriff.
der normale minecraftserver von minecraft.net geht ohne probleme!
Heute wollte ich auf bukkit umstellen und da fangen die Probleme an :(
1. craftbukkit-0.0.1-SNAPSHOT heute von bukkit.org runtergeladnen, also die neuste variante
2. Minecraft.jar natürlich updatet was ich ja täglich tue.
|
Bukkit Fly-mod trotz Welcome Message
04/13/2011 - Minecraft - 0 Replies
Hey,
gibts ne möglichkeit den fly-mod auf einem Bukkit-Server zu nutzen trotz das die Welcome Message (das ist doch die motd oder?) an ist? Gibts da ein Plugin oder irgendwas anderes?
mfg Fightfire
|
All times are GMT +1. The time now is 11:41.
|
|