Register for your free account! | Forgot your password?

Go Back   elitepvpers > Other Online Games > Minecraft
You last visited: Today at 11:41

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Bukkit nullpointerexception trotz richtigem code?

Discussion on Bukkit nullpointerexception trotz richtigem code? within the Minecraft forum part of the Other Online Games category.

Reply
 
Old   #1
 
scrpx's Avatar
 
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.
scrpx is offline  
Old 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.
ComputerBaer is offline  
Old 08/10/2016, 18:06   #3
 
scrpx's Avatar
 
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);
		}
	}
scrpx is offline  
Old 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.
ComputerBaer is offline  
Thanks
1 User
Old 08/10/2016, 18:20   #5
 
scrpx's Avatar
 
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.
scrpx is offline  
Old 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) {
ComputerBaer is offline  
Thanks
1 User
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.